Java Experts: Server Side is Where Java Shines

Posted by Naveen Bala at 07:19PM Jul 08, 2008

Add to Google Email AddThis Social Bookmark Button

It has become fashionable nowadays to proclaim that Java has lost its "hippness", the cool guys have moved onto other technologies. The job market, the arbiter of whether you can earn a living or not disabuses this notion. See Java has Grown Up and Thats Not Bad to get a perspective of how Java fares in the job market.

We at OdinJobs wanted to see what people who use it everyday feel about it. We assembled a distinguished panel of experts, an author, a software evangelist, a owner/entrepreneur, an active open source contributor, a professional who not only uses Java at work but also writes how-to's. Let me introduce them...

Jared Richardson, a big proponent of Agile methodology, is the co-author of Ship It!: A Practical Guide to Successful Software Projects. He is currently a Agile coach with 6th Sense Analytics. He can be found at Agile Artsians and at the 6th Sense blog.

Jose Sandoval is a software developer who consults on all aspects of software engineering. His clients include United Airlines, Toyota Motors, Bank of Montreal etc. He is a Math and Computer Science guy who continued onto operations management. His areas of specialization include J2EE, J2SE, Swing, J2ME etc. He can be reached at his personal website cum blog. An interesting genealogy titbit regarding Jose, the first Sandoval to set foot on the Americal continent was Gonzalo de Sandoval, a conquistador with Hernan Cortez in 1519.

Stephan Schmidt has been very active in java based open source projects. He is the project manager for Reposita. He was a founder and lead developer of SnipSnap, a java based weblog and wiki. He is the lead for Radeox, a wiki renderer. He writes about software productivity in his blog. There are some interesting posts there about java interview questions that he likes to ask.

Tareq Abed Rabbo is an expert in Spring WS. He has numerous tutorials on his blog www.jroller.com/3405691582. Anybody guessed the blog name? its OxCAFEBABE and that to java newbies is the Java class file's magic number. The first four bytes of every java class begins with 0xCAFEBABE. Tareq uses Spring and Web Services in his day job with a Telcom company.

Mark Watson, author of 14 books on AI, Java, Lisp, C++ and Windows. He Wrote Intelligent Java Applications for the Internet and Intranets way back in 1997 with Java 1.0. Mark specializes in building large scale Java server side development. He offers his projects in Natural Language Processing, Knowledge representation as GPL/LGPL. His site MarkWatson.com has interesting tools, books, training materials. He has two blogs, one for Java (his technology blog) and other for Artificial Intelligence.

Question:  When and how did you get started with Java?

Jared: A long time ago. :) I was programming in C and Smalltalk before Java was around. I guess it was around 95 or 96 when I started. I was doing Java full-time in 97.

Jose: I got started when it was first released back in 1995, mostly playing around with Java Applets. However, I didn't start developing actual applications until late 1996 early 1997: I started with GUI application and transitioned into full-time J2EE (JEE, now) development around 2000.

Stephan: 1996

Tareq: At the university, I had an excellent Java teacher. We were taught Java basics and OO design: classes & interfaces, inheritance, collections and so on. I also learned other core Java technologies like RMI and Swing and discovered the dynamic aspects of the language. I experimented with all of that for a couple of years. I didn't really think that Java was hip at that moment ; it was rather the pragmatic aspects that drew me to the language such as the ease of development and the extensive standard API. All of that gave me a solid base that allowed me to approach Java EE at the beginning of my professional life.

Mark: I started at version 1.0. I wrote my first Java book ("Intelligent Java Applications for the Internet and Intranets") using version 1.0. Sun featured my site early on in java.sun.com, and paid for 2 of my open source projects to be "100% Java certified"

Question:  What do you say when you hear 'Java is Slow'?

Jared: It was slow... in the '90s. These days the JIT technology is so good that you have to work hard to write faster C code. Most developers are better off letting the JIT optimize their code.

Jose: Nonsense. The comments are probably coming from new Java developers or sellers of other solutions, who don't understand the new JVM implementation. You mostly hear this comment when related to desktop applications. It is true that the performance of desktop Java apps for the first release of Swing was painfully slow, but the technology has improved. In some cases, it's hard to tell the difference from a native application and a JFC application. Of course, you now have SWT, which is closer to native widgets, but it's still a Java development environment. You can't go wrong with a Java desktop application. Java on the server side has never had that issue.

Stephan: It's up to 5x faster than scripting languages and around 20% slower than C with aprox. the same speed as object heavy C++ applications.

Tareq: Maybe that was true at some point but over the years, Java's performance has been seeing constant improvements. It takes time for any technology to attain a decent performance level and for people to get used to using it. This is natural. The numerous critical systems based on Java proves that this is not really an issue, at least for server-side systems. However, I feel that desktop Java could use some more fluidity.

Mark: Now, that is just plain wrong. I work mostly server side, and the server hotspot is very good.

Question: What type of applications, in your opinion, is Java best suited?

Jared: Java has a wide potential platform base. I'd say cross platform server side apps.

Jose: I think Java is suited for every type of application. This is not to say that Java is the hammer and everything should be treated like a nail. Not at all. However, the language is almost ubiquitous in every platform, so it's natural to think of Java as the main technology solution candidate. Finally, though, the decision to select Java as the underlying platform for any system is aided by the requirements. In some instances Java is perfectly suited, for other it's overkill. Large scale system (banking systems, for example) are well suited for the flexibility of the language, and logical breakdown of coding layers.

Stephan: Enterprise

Tareq: Obviously, Java is quite popular on the server-side. Desktop applications are not to be overlooked as there are new compelling alternatives to build them like Groovy and JavaFX. My current favorites are integration and SOA platforms and tools. Java seems to be a fertile ground to build this kind of applications.

Mark: Server side. 

 

Question: What is your most favorite feature of Java?

Jared: JRuby. It's really great to see Java become a platform for other languages. This will extend the life of the Java language/platform for a long, long time.

Jose: I don't have a favorite feature specifically, but once you understand single inheritance you get the why of the "limitation" (as opposed to true multiple inheritance, which is messy; of course, multiple inheritance can be mimicked with interfaces). Finally, the newer "code candy" additions, as I call them, are nice features: generics, for example.

Stephan: GC

Tareq: What I like the most about Java is its openness. The Java platform hosts a wealth of thriving frameworks and emerging technologies. This gives a lot of liberty in terms of choice. It is interesting that a broad range of technologies as different and yet complementary as Spring, AspectJ and Groovy have their place in the Java world.

Mark: The JVM and Java platform.  Generics are OK, and the new concurrency support is very good.

Question: What books would you recommend to a newbie? Any books for the intermediate programmer?

Jared: The Pragmatic Programmer Java Project Automation (by Mike Clark). I'm kind of fond of Ship It! but I'm a bit biased on that front.

Jose: For any level Java student (which I am one myself), I recommend the Thinking in Java series (free PDFs at MindView). Although, I prefer the second edition. As for everything else, look at the domain you will be working with and then pick a book in that particular branch. Avoid the "for dummies series," but that's just a personal preference.

Stephan: The standard books

Tareq: From what I see around me, many new Java programmers lack a good understanding of the basics of the language. This could be very impairing because it leads to uninformed or bad decisions. For this reason I would recommend a book dealing with the core language. "Thinking in Java" is an excellent book and the third edition is freely available on the internet. For intermediates I would recommend Rod Johnson's "J2EE without EJB". It was a very enlightening read for me and is one of my favorites.

Mark: The 5 Java books that I have written are now quite old, so I can not recommend them. I have not bought a book on Java in a while, so no suggestions.

Question: Any groups or forums that you would recommend?

Jared: Your local Java user's group! Get involved. It'll provide your next job if you let it. And try to speak at least once a year. There are tons of benefits to doing some public speaking.

Jose: Check out the Java newsgroups for specific problems. Chances are that someone out there has had the sample problem you are having. And when you post a question, the turnaround is remarkable.
I never tried the face-to-face Java groups, but I would think they are useful. I find discussions with colleagues much more useful and there is always a context for discussion.

Stephan: Javablogs.com

Tareq: I usually use the official forums and groups of the technologies I'm working with. I particularly appreciate the forums of the Spring framework.

Mark: http://www.javablogs.com

I would like to thank Jared, Jose, Stephan, Tareq and Mark for taking the time to participate in this discussion. Our readers will definitely find the discussion useful.

Visit  Java Market Overview to see the demand for Java in the past 18 months across the United States, the Latest Java Jobs.

Invite Your Comments

Comments:


Post a Comment:
Comments are closed for this entry.

RECENT STORIES

HOLLYWOOD AWARD NOMINEES AND YOUR JOB INTERVIEW

Emailing Your Resume

How to Avoid Laundry List Resumes

10 Tips For Job Seekers

Working for a Staffing Agency

6 things that job seekers do that piss off recruiters

Cover Letter Tip: Use a Simple 'Bullet' List!

15 Step Action Plan To Change Your Career Field

Funny Interview Video

Does Your Cover Letter ASK for the Job Interview?


Archives

More Jobs in OdinJobsNetwork
Contributors
Carl Williams
Naveen Bala