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.'"
I read this on a messageboard years ago, it still makes me laugh to this day:
No one uses Java anymore, it's all flash these days.
Summation 2
When the the Boston Globe was asked about the decline of JAVA to dynamic languages their reply was to "stop using JAVA"
David Heinemeier Hansson: 'The stigma of being a Web programmer still using Windows will increase.'
I guess we can say the same about those snobby pre-teen emo kids using the Mac.
Attaching a stigma to certain platforms or technologies for certain jobs is just stupid and childish. Are we going to start lambasting publishers that don't use Macs next, or Linux users that do accounting on their machines? Bizarre...
Hansson's prediction was that Apple will become the development platform of choice for techies and, consequently, other developers will laugh at any web devs saddled with using a Windows based laptop.
...by Richard Monson-Haefel
...funniest stuff I've read in a very long time.
Award-Winning Author & Senior Analyst, Burton Group
1. Jonathan Schwartz open-sources Sun Microsystems.
In a move that will surprise everyone Sun Microsystems will announce that it will open source its entire company. Sales, marketing, finance, and even operations will be open to the community for anyone to contribute.
2. Apple computer announces the iPod Uno.
The size of a match stick with no screen or controls, the iPod Uno plays one song in a constant loop. Despite its limited capabilities, the tiny device becomes an instant hit and a cultural icon.
3. In what is heralded as the seminal article on the subject, Tim Berners-Lee mentions "IT2"
Overnight the term morphs into "IT 2.0," spawning thousands of blog entries and press articles, a dozen books, five conferences, and millions of dollars in venture capital. It turns out that the original article, incomprehensible to most readers, was actually another attempt to explain the Semantic Web and the IT2 reference was just a typo.
4. Microsoft will create the first CMO (Chief Marketing Officer) position.
The new CMO will immediately change his own title to Chief Command & Control of Packaging Officer (C3PO) and then announce that Vista will be delayed and renamed Microsoft Virtualization Application Program Operating system Reloaded (Microsoft VAPOR).
OK, we all know how useful and accurate these predictions tend to be, but since it's that time of year...
The open-sourcing of Java will have no effect whatsoever on Java's slow decline in favor of dynamic languages (Ruby, Python) and C#.
That depends on what market we are talking about. Open sourcing Java will make a MASSIVE difference in terms of Java's appeal to the open source development community. Whether this translates to more Java software or not I don't know, but there are already some very good programs in Java that are open source (Jedit http://jedit.sourceforge.net/, Jabref http://jabref.sourceforge.net/ and JaxoDraw http://jaxodraw.sourceforge.net/ come readily to mind). Seamless integration with Linux distributions has the potential to make it a much more popular language, and may also result in usability improvements to the environment itself.
Other languages will grow of course, but I would personally be surprised if Java fades too much except perhaps as the "new toy". There is a LOT of Java code out there, and it is doing important work.
The use of the GPL 2 for open-sourcing Java will inhibit the completion and acceptance of the GPL 3 proposal.
I don't understand this. GPL3 will go forward as it is going forward now, with much discussion - I can't imagine any issues Java would raise that aren't already being raised. Anybody with more knowledge of the process and Java know what he's saying here?
Now, just to get into the swing of things, my predictions:
a) Every major Linux distribution will deploy Sun's JRE as a core system component soon after a full open source release is made. Allow six months to replace any pieces that could not be released due to copyright/license issues. The Sun JDK will also see large scale integration.
b) Open source software written in Java that already exists will get a boost in interest and visibility, as it is no longer using a language that is non-free.
c) Graphics performance and native appearance of widgets will be a major focus of interest and effort, possibly resulting in Java applications becoming better integrated visually with the desktop. This may actually cost Java a bit in terms of name recognition, as end users will see less visual evidence of the difference between Java and other languages (I know, I know - that's not what makes Java different, but it's what can be SEEN that counts.)
d) As Linux distributions integrate and include Java by default, it will increase the appeal of both Java and Linux on the server side.
And one that I would like to see proven wrong:
e) No major OEM computer maker will add the Sun JRE as a default part of their desktop, despite it being released as GPL.
"I object to doing things that computers can do." -- Olin Shivers, lispers.org
Is is an ivory tower troll. In fact almost no one uses ruby. It may be hot among Nerds and its growing. Java went into the enterprises in the 90th as Cobol did before. C++ was less usable for enterprises. Java looked good and fostered plattform independency, helped to increase interoperability. "Java to go" is as off-topic as the prediction that FreeBSD would take over Linux. Ruby and Python are upcoming languages. Growing but you have to wait for another five years. Open Source Java will mean all Linux systems will ship free Java. Java will get a working GNU compiler native compilation. Java will be the trusted alternative to -- arrrgh patents --- Mono for enterprise applications. SUN knew exactly why they did it. Linux will become a strong Java plattform and with Linux on so many servers that will give Java and Linux a boost.
Didn't have you coffee yet this morning?
The parent makes a living programming J2EE. He might even use Eclipse.
I think for many folks Java is used to write software that does not see the front of a web page.
In fact I have not used Java on the client side since about '98. But I write far more Java now than I did back then. I hope that the work Ethan Nicholas is doing to will help, but frankly Flash works fine for many web pages. And as long as I don't have to write the Flash code I'm fine with that. Is it still programming via dialog box? Can I use svn with my Flash code these days? I also hear AJAX is popular and effective for client side work. Anyway, Java is not likely to die anytime soon.
In no particular order:
Java as Open Source will help in creating smaller versions - perhaps very lightweight browser-plugins - optimized for particular use (media, number crunching, etc.). These browser plugins will help revive Java as a thin-client/web2.0 (3.0?) player in browser-based apps, possibly even making some small inroads against Flash. The 'apollo' project from Adobe may put the kibosh on this, but the increased-eyeballs angle will likely prevent a complete obliteration from happening to desktop Java.
Java will become even faster. Although this has happened in 2006, with the release of Java 6, the full impact will be a refitting of the niche Java apps out there to work specifically with Java 6 and the speed improvements there. This will give some Java some good PR points and case studies with the 'Java is slow' crowd (which I'm definately a member of).
(As I think one of the panelists in the article said) - there will be a greater acceptance of dynamic languages (ruby/php/python/etc) in Java shops, as Java6's support for dynamic languages (JSR 223 I think) will help increase productivity for Java devs willing to think outside their javaBox.
creation science book
Did anyone really expect JAVA to be released as GPL v3? A license that hasn't even been written yet? Or wait until GPL v3 is released (is there a set date for that?)?
Help! I'm a slashdot refugee.
> Rails creator David Heinemeier Hansson: 'The stigma of being a Web programmer still using Windows will increase.'"
The stigma of a well paid job. Ah, how will I ever show my face in civilized society again.
Quick search on the nearest Job board
Occurances of the word Java
3043
Occurances of the word Ruby
30
Reports of death seriously exaggerated
Do not try to read the dupe, thats impossible. Instead, only try to realize the truth
What truth?
There is no dupe
I am personally really excited about Java becoming free. I quit using it a few years ago because of Stallman's The Java Trap (that and the dark side of easy unmaintainable web development in PHP drew me in... stupid me). I'm currently reevaluating Java right now and Python is really shaping up for the server side too. But back to the point, people forget that there is a MASSIVE collection of libraries out there for Java. And I mean massive. Check apache.org just for a little taste.
Occam's razor is the blind faith in the natural selection of least resistance and in universal oversimplification. -- EF
AJAX is dying. AJAX will grow. AJAX has no future. AJAX has a future.
JAVA is irrelevent. JAVA will grow.
Apple is irrelevent. Apple is irrelevent...oh, they agreed.
Anyway, anyone who takes these kind of articles seriously are wasting their time. Our shop does IIS, ASP.NET, SQL2005, Ruby-on-Rails, MySQL, VB.NET, C#, C++, Borland, MS, and Linux OSS flavors. In other words, we have the tools and the skills to do what is necessary to get the job done, the way our CUSTOMER needs it to be done. No tech prima-dona BS of telling the customer that we won't give them what they want. If the customer doesn't have implementation requirements, then we determine what they need, suggest and then build on their approval.
Politics is the art of looking for trouble, finding it everywhere, diagnosing it incorrectly and applying the wrong fix.
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.
I read this on a messageboard years ago, it still makes me laugh to this day.
Yup, Gnutella, Azureus and Eclipse users (amongst others) running these programs on Linux, Windows, MacOS X, etc will be scratching their head wondering what voodoo their programs are coded in (it has to be voodoo if Java is dead).
Ah well, people living in their ivory tower will always assume the alteratives are dead.
Jumpstart the tartan drive.
In reality, Java's got it's place. But if you're trying to push massive volumes of data or need deterministic operation, Java's NOT the choice.
The GC will always cut in at the worst possible times, impacting your ability to respond to data, etc. YOU try collecting 30 Gbytes of uncompressed
data daily with it sometime. We did use Java for front-ends to process the feeds coming from the trading markets at one of my previous jobs, but
the stuff that aggregated it and sent it to the trading engine and preserved it on disk was all PURE C++ code. The Java stuff couldn't cut it.
I certainly wouldn't use it to control anything like a nuclear reactor or a fly-by-wire system, let alone the task I mentioned.
Java's good for normal business apps, user interfaces where performance isn't absolutely critical, and the like. Something
like C/C++, Pascal, Ada, or even Forth would be a better choice in areas like those.
I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
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.
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/
Java is great for writing business rules and the back end and for industrial enterprise level scalable code.
Other things are better for the front end these days. No big deal.
Front ends change a lot. Business rules tend to be stable. Do you really want to redevelop all your business rule every 3 to 5 years? With java, you write it once and for the foreseeable future don't have to rewrite it. But java is a bit heavy for fast moving stuff.
She was like chocolate when she drank... semi-sweet at first and then increasingly bitter.
The entire IT reporting industry, and Slashdot. Writes about languages these days as if there is only one task in the world: web apps whereby users insert and retrieve basic data to/from a database. Yeah, for those apps you bet Java is losing ground to modern interpreted languages.
But there are a thousand other types of projects for which other environments might excel.
One of my current projects is a desktop app that does real-time signal processing on a live microphone feed, and produces a full-screen GUI with output of the signal that updates at 30+ FPS. Between the signal processing and graphics, it needs to do some hundreds of megaflops, effective - interpreted languages are a couple of orders of magnitude slower doing raw math. Java is pushing the low end of speed for this app.
At the same time, we want the benefit of a multiplatform release, because the project is for the education and music professional markets - there are an awful lot of macs among our target market, and our competitors are PC-only. Java has actually come through on the write-once-run-anywhere promise for us, straight down to the live audio input. We're just 2 developers - how much longer would it have taken us to have to port C++ between different platforms' APIs? Way too long. And we can't even consider platform-specific environments like C# or ObjectiveC/Cocoa.
Use the right tool for the right job. There are times when Ruby's the right tool - and times when it ain't. There are plenty of niches still where nothing else can remotely fill Java's shoes.
I stole this sig from someone cleverer than me.
Indeed, and guess which language was in slow decline when it was the most requested language in the job market.
"Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
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#';
In 2007, apples still won't be oranges.
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.
Agreed. I'm a software developer working mostly on ERP systems in medium to large scale projects, and while I work in .NET 2.0 and 3.0, while speaking to people in the industry (mostly consulting firms), Java is actualy in GROWING demand.
.NET, and thats Windows-only (Mono cannot deal with Enterprise level projects), leaving Java with all the Windows projects not using .NET, and all the non-Windows stuff. Thats a lot, and as Windows' monopoly slows down a bit, it increases.
Currently, in my area, Java -junior- programmers get snatched right up. You don't hire junior programmers in a declining industry, you hire senior programmers (because by the time the juniors become senior, the environment will be history). There has been an increasing amount of projects in Java, especialy since Java 1.5, since that was quite the milestone. Same with the last few J2EE versions.
On top of that, now in the latest specs, EJB 3.0 is actualy useful (and doesn't have to be systematicaly replaced by third party frameworks).
Now, on top of all this, more and more schools are using Java as a teaching tool. Which means all these people that come out of school, will be wanting to use their skills. Thus more demand, more support, more projects.
In the hardcore enterprise world, the only thing that can match this is
The one exception to this is the high end R&D stuff, which tends to use Python/C++ or something along that line (I beleive thats what Google use for a lot of things?), but thats a different market altogether.
"rails-tards" huh? You should write for commedy.
Jeremy
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.