2007 Java Predictions
jg21 writes "Java Developer's Journal has published the results of its end-of-year poll of various Internet technology players, from its own internal editors to industry high-ups like the founder of Apress, Gary Cornell, and including too the thoughts of professor Tony Wasserman of Carnegie Mellon West. Participants were asked to foretell what they saw happening in 2007. Among the predictions — Cornell: 'The open-sourcing of Java will have no effect whatsoever on Java's slow decline in favor of dynamic languages (Ruby, Python) and C#'; Wasserman: 'The use of the GPL 2 for open-sourcing Java will inhibit the completion and acceptance of the GPL 3 proposal'; and Rails creator David Heinemeier Hansson: 'The stigma of being a Web programmer still using Windows will increase.'"
Quick search on the nearest Job board
Occurances of the word Java
3043
Occurances of the word Ruby
30
Reports of death seriously exaggerated
Out of all the interviews I did this year, only one shop wanted .Net services, and they wanted VB, not C#. Half a dozen shops about the same size were sticking with Java. Half a dozen shops several times the size were also sticking with Java.
I think it's a lot easier to add unsigned types to Java than it is to switch to a new framework.
I do not fail; I succeed at finding out what does not work.
What makes you think Cornell doesn't realize that? Did you think the quoted statement called C# a dynamic language? It didn't.
I have been programming in Java since 2000 and it just gets easier and more powerful to develop with. Sure there were some big disasters in Java land like EJB1 and EJB2 but that's all cleared out of the way and the tools now are fantastic. I've been working with Appfuse, JSF, Hibernate, Testng, Spring and the latest versions of Eclipse and almost every day I find myself smiling with glee at how easy web development has become compared to a few years ago. The biggest mistakes for new developers in Java is not using Eclipse and not using either Maven or Appfuse. That's because there's a lot to take advantage of in Java land and getting all the tools and dependencies set up and rolling along can take quite a while. Both Maven and Appfuse make this process go a lot quicker and tend to steer the developer in the right direction. Eclipse makes understanding the whole thing a lot easier as well and the refactoring and debugging are amazing. After the initial setup though things start to become very easy and fun and development goes quickly. This is the opposite situation from programming in a dynamic language. Starting in a dynamic language is easy but as programs grow, the lack of static typing and refactoring support causes more and more bugs to start sprouting up and the system generally get more painful to work with.
I don't know why anyone would want to work with C#. I never run into showstopper bugs in third party libraries with Java because I have the source and can trace into the libraries, find the bugs, report them to the developers and then find an intelligent workaround while a $35 call to MS tech support will tell me to reinstall my whole system and upgrade to the latest versions.
I've never been a fan of the language. Performance is terrible, Neither is the performance terribel nor ever was it. I think at its slowest time Java was roughly 10 times slower than C, and in general only 5 times slower
We develop on linux and Mac Os X and our customers usually develop on linux and Windows, the software is usually deployed on Sun machines, either SPARC big iron or I86x blades. We never had any portability issue.
angel'o'sphere
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
An environment is only as useful as the tools that are available for it. And it only takes a quick glance around the net to realize how HUGE the Java community is.
Still not convinced? Lets take a look at Hotjobs. This is a pure keyword lookup, doing a little tuning to make sure we're not finding jeweler entries for 'ruby' :
And just for giggles, lets throw some more searches:
So, in support of the claim that Java is in 'slow decline', we have... java as the most requested programming language in the job market today.
Event Management Solutions : http://www.stonekeep.com/
The GC will always cut in at the worst possible times
Try using the parallel collector on a multi-CPU machine. Much less impact on the running application. You should also spend some time learning how to tune the VM and GC parameters if that's your problem.
YOU try collecting 30 Gbytes of uncompressed data daily with it sometime.
I'm not quite at 30 gigs a day, but the systems I work on will reach that within a year or so. We don't expect that it will be a problem.
"Alcohol, Tobacco, Firearms, and Explosives" should be a convenience store, not a government agency.
I haven't used Azureus or Gnutella, so I can't comment on them. Eclipse, however, I love. Try comparing the memory requirements of Eclipse to any other modern IDE, and you will find that it is (in general) lower than its contemporaries.
I use Visual Studio 2005 (C#) and Eclipse (Java/Perl) at work. Eclipse will generally eat up about 80 Mb of memory when I have the main projects open. Visual Studio, on the other hand, will eat up 100+ Mb easily - and it page faults like a mofo, trying to do disk writes every time you switch your focus. 2003 wasn't quite as bad in terms of page faults, but it still ate up over 100 Mb of memory easy, and thats without any dynamic compilation (C#).
And with one fell swoop, you've thoroughly discredited your opinion. FYI, "Debug..." is under the "Run" menu. Double-click the gutters on the left side of the code to set breakpoints. Eclipse even handles debugging multi-threaded apps quite sanely.
I love Eclipse for Java development. There's nothing more satisfying than right-clicking an annoying identifier and renaming it globally within your project. (If keyboards make you giddy, use SHIFT-ALT-R.) Make vi do that. And no, global search-and-replace doesn't count - it ignores context and your code may not compile afterward.
I got my Linux laptop at System76.