I think this Google announcement that they are worried about Java being rudderless is just a ruse. I guarantee they are planning to take what they’ve done within Android and position it as a new language to replace Java. This “the sky is falling” statement by Josh is just setting the stage for it. They’ve pretty much done it with every non-standard library (do their own thing), so, IMO, setting the stage for a new language is right up their ally. Plus, creating your own language is the ultimate expression of ego and we know there’s lots of it at Google. So, when Google announces their replacement for Java, remember, I told you so…
Apr 15, 2010 @ 17:48:32
Bill,
Java was pushed by Sun as part of Scott’s crusade against Microsoft. It was embraced by other vendors because of the fear that a fragmented OS market will not be able to compete with Microsoft.
Today, the market dynamics have completely changed, Architecture has become a prevalent concern, well over which “language” you utilize. Cloud based architectures will make the server OS irrelevant, with most likely a fusion of all the layers from bare metal to OS to JVM/CLR to middleware. This is why VMWare bought Spring (they don’t need to own an OS, they are the Cloud OS).
Java will be unable to survive this evolution, new programming paradigms and languages, a lot more aligned with modern architecture concepts and secure information system construction will emerge.
The lack of dominant player reduces the need for standards. Clouds will compete on bells and whistles, not to mention productivity. Cloud standards will only emerge if a dominant player does so (VMWare, Google…). Today all bets are off, and nobody cares about Java any longer.
Apr 15, 2010 @ 17:58:19
Geez, i guess i should start looking for a job as RHT, JBoss, Java, and REST are irrelevant now according to you!
Apr 16, 2010 @ 02:07:37
“…and nobody cares about Java any longer”
wow.
Except…Google. Android SDK? Java. Google Web Toolkit? Java. Google App Engine? Java (after python). The list goes on and on. They’ve invested a helluva lot in Java the platform and java the language. Amazon is also wildly invested in Java and both are prime examples of cutting edge companies offering successful cloud-based services. Services largely based in, or dependent upon, you guessed it: Java. How about Cassandra (i.e. the latest greatest NoSQL/Cloudy silver bullet)? Java.
“Java will be unable to survive this evolution, new programming paradigms and languages…”
Really? You must be in marketing. A language is a language is a language. They’ll come and they’ll Go. Assuming we’re talking about actual Turing complete general purpose languages, anything you can do in one you can, provably, do in another. A particular language can, and usually does, offer a better or more productive *way* or style of accomplishing a given task when compared to another language, definitely. However, by and large, the languages that win out are the those that are most accessible by the largest audience, the Blub audience, the lowest-common-denominator programmer. Hence Java (and VB and .Net)
As for new paradigms, I think you’ll find that old paradigms, specifically functional, are more than capable of handling whatever the industry can throw at them. The problem is that many largely functional languages (OCaml,F#,Lisp,Haskell,etc) are inaccessible to your average coder.
Cutting edge and revolutionary languages and programming paradigms, when they pop up, still take a long time to have any perceivable effect on the industry as a whole (ask the Lispers and Smalltalkers). Until they do we’ll have to deal with what actually works and is immediately available. Even if these options aren’t “market dynamic” or paradigm-shiftingly cool.For the foreseeable future, that’s Java (and “MS Java” .Net)
This is the current reality. Saying that it no longer holds due to “Cloud based architectures” and bare-metal-OS-cloud-layer-fusion is silly (although I’ll bet it’d look great on a marketing slick). There’s nothing inherently OS specific about Java (by design) and many (most?) of the most successful “Cloud based architectures” are dependent upon Java.
Apr 16, 2010 @ 02:11:47
Well that’s a tad embarrassing. A rant like that and I can’t even get the links right:
http://golang.com
http://steve-yegge.blogspot.com
Apr 15, 2010 @ 21:05:36
This is not a piece of advice, just discussion mater. It is always a fun game to try to predict where things are going to go. All that is clear is that the drivers moving forward are Cloud and Mobile devices, after that all bets are off. I’ll let you decide how RedHat/JBoss plays into that. I am not sure thinking that they would have no influence on JBoss, Java or Linux is necessarily a good path to take.
Apr 16, 2010 @ 00:54:54
Google is already making a replacement for Java. It’s called noop.
That and Go
Apr 16, 2010 @ 01:14:13
“I guarantee they are planning to take what they’ve done within Android and position it as a new language to replace Java.”
Google is a Java company. Have you followed Steve Yegge? Google’s not just a Java company, they’re a J-a-a-a-a-va company. The Android SDK itself is Java based. They’ve invested quite a bit into an dev kit that you’re suggesting will just be tossed aside for a hawt new language (i.e. no particular reason). It’s worked out pretty well so far. Plus they’ve already pushed out a new language, Go, with little practical application at the moment. You’re suggesting another one?
Gambling a huge part of an already wildly successful business on one or two new languages and associated run-times (read: effectively immature and unproven), seems a little unlikely.
Apr 16, 2010 @ 02:13:46
Recently someone I know within sunicle told me “I wish it could go back to the days when money wasn’t the only priority. These people are sharks.” Now after seeing so many of the sun folk leaving oracle, and even Gosling himself. It does make one wonder. I would never say the end of java will happen, but it will become less and less relevant the more the Oracle claws clamp down. And that is what will make it not fun anymore.
Personally right now there are plenty of rich environments to use and cloud services to leverage, wasting all that time on writing verbose java, hooking together the build tools and frameworks or as you say “software plumbing using middleware wrenches” doesn’t make much sense anymore. I write Java and C++ for a living, and I’ve gotta say that there isn’t one reason other than old dinosaurs that we couldn’t do these projects in some dynamic language like python ruby etc.
Apr 16, 2010 @ 02:15:23
Ummm…google already released a language:
http://golang.org
Apr 16, 2010 @ 13:49:51
Don’t you think there’s a big difference between having a project that’s a language than actually putting some marketing effort into promoting it?
Apr 17, 2010 @ 05:41:23
Garren,
let’s talk about in a couple of years… I’ll bet that by 2015 a new language will dominate the IT landscape. If for nothing else, because Java is now in the hands of Oracle and lots of people would want to see them trip. But frankly, the reason is far more foundational. In case you have not noticed, SOA has happened. Services are everywhere by the thousands, if not the 10s of thousands, even in the Enterprise, yet we don’t have yet established a decent service composition environment. SCA is a good start, but too proprietary and way to tied into the past (BPEL, Java, C++…).
The next language will not be “functional”, by a large margin, it will rather support composition at its core, and be a lot closer to the semantics of solutions that it will help build than Turing could ever achieve.
JJ-
Apr 17, 2010 @ 16:58:10
I disagree that it will be a new language.
These big stacks like SCA, BPEL, etc, have never worked and will never work (at least in the next 5 years). Why? Too many moving parts, little agreement and imperfect interoperability between vendors, and the overambitious goal to predefine everything up front. Any architecture that has the requirement for an insane amount of complex tooling to be even minutely productive is doomed to fail. SCA and the like fall into this catagory.
Instead it will be an old architecture, specifically REST, that will enable serendipidous re-use and composition. There are many reasons for this. HTTP is an ubiquitous protocol designed to scale. REST constraints and design principles push applications in a specific direction. We’ve always had a lot of architecture, but few constraints. Now we have the constraints and guidelines to go along with the architecture.
Apr 17, 2010 @ 20:56:25
I think Oracle’s stewardship will be very problematic. Sun built communities, Oracle is good at monetizing, but destroys communities in the process by eliminating third-party profit motive. Oracle is already not really putting any new marketing muscle into Java. They don’t want it to die, but I’ve seen no evidence that they have any idea how to keep it healthy. Java is the COBOL of the future.
Ultimately the VM is what is important, as a language Java is kind of dated. Hopefully the VM will find a strong fork with an open standardization process and opensource project.