Tuesday Jan 08, 2013

Java Experts on the State of Java

In a new article by yours truly, now up on otn/java, titled “Java Experts on the State of Java,” four Java experts, Adam Bien, Charles Nutter, Kirk Pepperdine and Simon Ritter, share their unique perspectives on what’s happening in the world of Java.

Consultant Adam Bien, winner of many awards and an expert in Java EE, remarks that, “Only a few years ago, Java EE was used mostly by larger companies—now it becomes interesting even for one-person shows.” He is also excited about Project Nashorn, which is coming in Java SE 8.

Charles Nutter, co-creator of JRuby and a Java Champion, observes that “JRuby seems to have hit a tipping point this past year, moving from ‘just another Ruby implementation’ to ‘the best Ruby implementation for X,’ where X may be performance, scaling, big data, stability, reliability, security, or one of several other features important for today’s applications.”

Java Champion Kirk Pepperdine, an expert in Java performance tuning, comments that, “The volume of data we’re dealing with just seems to be getting bigger and bigger all the time. A couple of years ago, you’d never think of needing a heap that was 64 GB, but today there are deployments in which the heap has grown to 256 GB, and there are plans for heaps that are even larger. Dealing with all that data simply requires more horsepower and some very specialized techniques. In some cases, teams are simply trying to push hardware to the breaking point. Under those conditions, you need to be very clever just to get things to work—let alone to get them to be fast. We are very quickly moving from a world where everything happens in a transaction to one in which you’ve lost if you even consider using a transaction.”

Finally, Oracle’s Java Rock Star Simon Ritter celebrates the Raspberry Pi: “I don’t think there is one definitive thing that makes the Raspberry Pi significant, but a combination of things really makes it stand out. First, it’s the cost: $35 for what is effectively a completely usable computer. OK, so you have to add a power supply; an SD card for storage; and maybe a screen, keyboard, and mouse, but this is still way cheaper than a typical PC. The choice of an ARM processor is also significant, because it avoids problems such as cooling (no heat sink or fan) and can use a USB power brick.”

Check out the article here.

Friday Oct 19, 2012

An Interview with JavaOne Rock Star Martijn Verburg

An interview with JavaOne Rock Star Martijn Verburg, by yours truly, titled “Challenging the Diabolical Developer: A Conversation with JavaOne Rock Star Martijn Verburg,” is now up on otn/java. Verburg, one of the leading movers and shakers in the Java community, is well known for his ‘diabolical developer” talks at JavaOne where he uncovers some of the worst practices that Java developers are prone to.

He mentions a few in the interview:

* “A lack of communication: Software development is far more a social activity than a technical one; most projects fail because of communication issues and social dynamics, not because of a bad technical decision. Sadly, many developers never learn this lesson.
* No source control: Some developers simply store code in local file systems and e-mail the code in order to integrate their changes; yes, this still happens.
* Design-driven design: Some developers are inclined to cram every design pattern from the Gang of Four (GoF) book into their projects. Of course, by that stage, they've actually forgotten why they're building the software in the first place.”

He points to a couple of core assumptions and confusions that lead to trouble:

“One is that developers think that the JVM is a magic box that will clean up their memory and make their code run fast, as well as make them cups of coffee. The JVM does help in a lot of cases, but bad code can and will still lead to terrible results!

The other trend is to try to force Java (the language) to do something it's not very good at, such as rapid Web development. So you get a proliferation of overly complex frameworks, libraries, and techniques trying to get around the fact that Java is a monolithic, statically typed, compiled, OO environment. It's not a Golden Hammer!”

Verburg has many insightful things to say about how to keep a Java User Group (JUG) going, about the “Adopt a JSR” program, bugathons, and much more.

Check out the article here.

Sunday Sep 30, 2012

Talking JavaOne with Rock Star Kirk Pepperdine

Kirk Pepperdine is not only a JavaOne Rock Star but a Java Champion and a highly regarded expert in Java performance tuning who works as a consultant, educator, and author. He is the principal consultant at Kodewerk Ltd. He speaks frequently at conferences and co-authored the Ant Developer's Handbook. In the rapidly shifting world of information technology, Pepperdine, as much as anyone, keeps up with what's happening with Java performance tuning.

Pepperdine will participate in the following sessions:

  • CON5405 - Are Your Garbage Collection Logs Speaking to You?
  • BOF6540 - Java Champions and JUG Leaders Meet Oracle Executives (with Jeff Genender, Mattias Karlsson, Henrik Stahl, Georges Saab)
  • HOL6500 - Finding and Solving Java Deadlocks (with Heinz Kabutz, Ellen Kraffmiller Martijn Verburg, Jeff Genender, and Henri Tremblay)


I asked him what technological changes need to be taken into account in performance tuning. “The volume of data we're dealing with just seems to be getting bigger and bigger all the time,” observed Pepperdine. “A couple of years ago you'd never think of needing a heap that was 64g, but today there are deployments where the heap has grown to 256g and tomorrow there are plans for heaps that are even larger. Dealing with all that data simply requires more horse power and some very specialized techniques. In some cases, teams are trying to push hardware to the breaking point. Under those conditions, you need to be very clever just to get things to work -- let alone to get them to be fast. We are very quickly moving from a world where everything happens in a transaction to one where if you were to even consider using a transaction, you've lost."

When asked about the greatest misconceptions about performance tuning that he currently encounters, he said, “If you have a performance problem, you should start looking at code at the very least and for that extra step, whip out an execution profiler. I'm not going to say that I never use execution profilers or look at code. What I will say is that execution profilers are effective for a small subset of performance problems and code is literally the last thing you should look at.

And what is the most exciting thing happening in the world of Java today? “Interesting question because so many people would say that nothing exciting is happening in Java. Some might be disappointed that a few features have slipped in terms of scheduling. But I'd disagree with the first group and I'm not so concerned about the slippage because I still see a lot of exciting things happening. First, lambda will finally be with us and with lambda will come better ways.”

For JavaOne, he is proctoring for Heinz Kabutz's lab. “I'm actually looking forward to that more than I am to my own talk,” he remarked. “Heinz will be the third non-Sun/Oracle employee to present a lab and the first since Oracle began hosting JavaOne. He's got a great message. He's spent a ton of time making sure things are going to work, and we've got a great team of proctors to help out. After that, getting my talk done, the Java Champion's panel session and then kicking back and just meeting up and talking to some Java heads."

Finally, what should Java developers know that they currently do not know? “’Write Once, Run Everywhere’ is a great slogan and Java has come closer to that dream than any other technology stack that I've used. That said, different hardware bits work differently and as hard as we try, the JVM can't hide all the differences. Plus, if we are to get good performance we need to work with our hardware and not against it. All this implies that Java developers need to know more about the hardware they are deploying to.”

Originally published on blogs.oracle.com/javaone.

Wednesday Sep 26, 2012

Talking JavaOne with Rock Star Adam Bien

Among the most celebrated developers in recent years, especially in the domain of Java EE and JavaFX, is consultant Adam Bien, who, in addition to being a JavaOne Rock Star for Java EE sessions given in 2009 and 2011, is a Java Champion, the winner of Oracle Magazine’s 2011 Top Java Developer of the Year Award, and recently won a 2012 JAX Innovation Award as a top Java Ambassador.

Bien will be presenting the following sessions:

  • TUT3907 - Java EE 6/7: The Lean Parts
  • CON3906 - Stress-Testing Java EE 6 Applications Without Stress
  • CON3908 - Building Serious JavaFX 2 Applications
  • CON3896 - Interactive Onstage Java EE Overengineering

I spoke with Bien to get his take on Java today. He expressed excitement that the smallest companies and startups are showing increasing interest in Java EE. “This is a very good sign,” said Bien. “Only a few years ago J2EE was mostly used by larger companies -- now it becomes interesting even for one-person shows. Enterprise Java events are also extremely popular. On the Java SE side, I'm really excited about Project Nashorn.”

Nashorn is an upcoming JavaScript engine, developed fully in Java by Oracle, and based on the Da Vinci Machine (JSR 292) which is expected to be available for Java 8.  

Bien expressed concern about a common misconception regarding Java's mediocre productivity. “The problem is not Java,” explained Bien, “but rather systems built with ancient patterns and approaches. Sometimes it really is ‘Cargo Cult Programming.’ Java SE/EE can be incredibly productive and lean without the unnecessary and hard-to-maintain bloat. The real problems are ‘Ivory Towers’ and not Java’s lack of productivity.”

Bien remarked that if there is one thing he wanted Java developers to understand it is that, "Premature optimization is the root of all evil. Or at least of some evil. Modern JVMs and application servers are hard to optimize upfront. It is far easier to write simple code and measure the results continuously. Identify the hotspots first, then optimize.”

He advised Java EE developers to, “Rethink everything you know about Enterprise Java. Before you implement anything, ask the question: ‘Why?’ If there is no clear answer -- just don't do it. Most well known best practices are outdated. Focus your efforts on the domain problem and not the technology.”

Looking ahead, Bien said, “I would like to see open source application servers running directly on a hypervisor. Packaging the whole runtime in a single file would significantly simplify the deployment and operations.”

Check out a recent Java Magazine interview with Bien about his Java EE 6 stress monitoring tool here.

Originally published on blogs.oracle.com/javaone.



About

Insider News from the Java Team at Oracle!

duke
javeone logo
Links


Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
2
5
6
7
12
13
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today