Java Is So 90s
An anonymous reader writes "Some of you may recall last year's Java vs. LAMP Slashdot
flamewar. The fight has now "brewed" (couldn't resist) into the mainstream press at
BusinessWeek." From the article: "Yared says developers far and wide are creating a new generation of Internet-based applications with LAMP and related technologies rather than with Java. Can it possibly be that Java -- once the hippest of hip software -- has become a legacy technology, as old and out of style as IBM's (IBM) mainframe computers and SAP's corporate applications? Mounting evidence points to yes. Reports by Evans Data Corp., which does annual surveys of the activities of software developers, show Java use is slipping as LAMP and Microsoft's .NET technology gain traction."
The second sentence from the original article posted on /. Started as: "Not to start another PHP vs. Java flame war..."
And now begins the second flame war started by said article.
Gentlemen and nerds, prepare your flamethrowers and ectopacks (respectively)...
Begin!
When will I see a constructive article comparing and contrasting the two and inviting a civil conversation and an acknowledgement that there are fans on both sides?
Come on, it's not like this is a religious argument or (possibly worse) a Star Wars vrs. Star Trek argument.
My work here is dung.
Here's my take. For most web sites, use PHP. If you need enterprise level stuff, use Java but don't let anyone tell you that PHP is not scalable, that is simply not true. Don't go to .NET - nothing you can really get on .NET then you can't get with Java. Enough said. Flame On.
Bradley Holt
Oh, please.
Java is still in incredibly heavy use in larger-scale systems and internal applications. It doesn't need to be "hip", "trendy", or "LAMP". It just needs to do a job, do it well, and be maintainable. It does that (and more), has still proven fairly easy to scale from small projects to very large, and is still a decent (though not terrific) language.
It also plays well with many other solutions, by virtue of numerous scripting languages which target Java bytecodes, as well as native code integration if you simply cannot get by without some piece of C code (although, there goes easy portability - one of the major benefits).
These articles are just a joke. That they would even use the term "hip" shows that this is far from a serious study.
It's a strange world -- let's keep it that way
Meanwhile, somewhere in Denmark, a graduate student is thinking "...I like Java, but not Sun's dictatorial stance on it... I think I'll come up with my own and call it Lava... (Pronounced "LooVa")
A feeling of having made the same mistake before: Deja Foobar
Here's a tip. Programming languages and platforms aren't sexy. They are tools. Use .NET if that's the tool that best fits what you need to do, or what your employer requires. Or use Java. Or use COBOL, if that's what fits. Under no circumstances should one use the above standard, which is about on the same level as some twelve year old girl deciding whose pictures are going to adorn her wall.
The world's burning. Moped Jesus spotted on I50. Details at 11.
Can someone explain to me how .NET is so fundamentally different from Java that it could escape Java's fate?
.NET isn't fundamentally different than Java, it has several big differences.
.NET is fairly easy and straight forward. This is important for adoption considering the huge amount of legacy code that often needs to be interop'd with.
.NET (Code Access Security) is arguably more refined and capable than the model built into Java. This doesn't really affect the current generation of applications, but for the v2.0 generation it will be very important due to ClickOnce deployment.
.NET's language feature set.
.NET and Java are free, the application servers they run on are not. For ASP.NET, IIS is the application server. For Java/J2EE, it could be Web Sphere or a variety of others. In pretty much every case a Windows license will be a lot cheaper than the license for the J2EE app server... especially Web Sphere.
.NET (C# really) just a Java rip-off?
.NET is a step toward Windows having a 100% managed API... something that's good for everybody. 10 years from now it will be rare to see an unmanaged application on Windows, aside from some niche areas. Java could never have done that because Sun wasn't in the position Microsoft is in.
Well, I'm not sure what Java's fate is, but while
As far as the CLR vs the Java runtime goes, Java byte code is fairly specific to java. It's possible to create non-Java languages that target the byte code, but it's not particularly practical. The CLR, on the other hand, was designed from the start with the idea of multiple language support.
It may not seem like a big deal to some, but being able to write more or less equally capable code in VB.NET, C#, J#, C++, Python, or a long list of other languages really does increase adoption.
The CLR affords far better platform specific integration than Java. JNI is complicated and horrible. COM Interop and API invocation in
The security framework built into
The CLR has support better support for a variety of programming constucts, such as generics, than Java does... or, in some cases did but the latest and greatest java releases have done a pretty good job and matching
While both
As far as language comparison goes, it's not really all that useful since the CLR supports pretty much everything you could think of, including a nearly 1 to 1 copy of Java. (J#). But if we must, here is a great, although some what dated, comparison of Java and C#.
Isn't
Not really. It's an evolutionary step. They certainly looked at Java, but they looked at everything. Managed runtimes were not invented by Sun. They've been around for 30 years. Microsoft creating
I've been watching the local So. California programming job market for a while. And as of earlier this year, I started keeping track of the number of jobs available for specific programming languages. Throughout the past 9 months, Java has owned the market on number of available programming job.
Here's the spreadsheet that I put together. It's in no way scientific, but it is a good indicator that Java, C++, and Oracle own the programming jobs market.
http://www.timothytrimble.info/ForSlashDot.htm
If you don't believe me, then do the stats yourself. Go to HotJobs, Monster, Dice, CareerBuilder and find out for yourself. The stats don't lie!
Timothy Trimble The ART of Software Development
TheTiminator
I can't take this seriously after Java has recently taken over from C++ as the most popular language on sourceforge:
http://www.osnews.com/story.php?news_id=12778
Java is a popular and versatile language. Software development involves far more than the very restricted aspects covered by LAMP.
- JBoss
- Jonas
- Geronimo
- Tomcat (web tier only)
- Jetty (web tier only)
That are completely free of charge to both develop and deploy for production use. Support is also available if you'd like-- both free via the web and for-pay for each of these.Many of your points may be correct, but a price comparison is not necessarily one of them.
rob.
Yes, Java can equal C++ in terms of performance, if you ignore JIT startup lag, ignore the bloated memory footprint, and ignore the insanem performance losses when the garbage collector kicks in.
No.
There is no JIT startup lag in modern VMs - the JIT is not called at startup - it is a background thread.
There is no bloated memory footprint. Java applications (as in J2ME) can run in only a few hundred kilobytes. The simplest standard Java apps can run in only a few MB, which on machines with 256MB or greater is totally insignificant. Server-side apps can securely share the same VM, so can take up even less memory.
There are no performance losses when the garbage collector kicks in on modern VMs, as the garbage collection can run in the background. As proof of this, Java can now be used for real-time applications (such as in aeronautics) where any garbage-collection delay would be disastrous.
Other than that, you are correct.
"joys of Perl".... that makes me shudder. I learned how to program with Perl. Took me forever to unlearn the "Perl" way and start programming the "right" way. ;)
blah blah blah....
drightler@technicalogic.com
have to agree with Mr. Decaff there. Garbage collection has gotten more advanced using things such as incremental GC. Also, specialized VMs such as from bea (look for JRockit) use advanced techniques such as multiple GCs.
Also the article mentions:
For one, many of the now-large companies built from the ground up to operate on the Internet don't make Java a major piece of their tech strategy. Those include Google (GOOG) and Yahoo! (YHOO).
In this article, Li Moore (software engineer at Google) says: "Google makes extensive use of the Java platform. Large parts of popular Google products are written in Java. We also use Java in many internal systems and products under development." So, this would seem to be entirely untrue in Google. I wish people would do a bit of research, instead of speculate/lie (which are, of course, easier to do).
Finally, I notice that the author of the article asks Peter Yared and Marc Andreessen their opinion. What sort of answer would one expect from the CEO and chairman (respectively) of competing technology companies? Naturally, they would champion their own technology and bash a competitor. I certainly would if I were in their shoes!