Java is dead

Story: Has Sun been holding Java back? Red Hat Thinks So.Total Replies: 39
Author Content
keithcu

Mar 30, 2009
7:14 PM EDT
Java is dead.

.Net is used on Windows, PHP and Ruby are used on the Web, and Python and Mono are used on the Linux desktop. I don't know what people write Mac OS X applications in, but I'm sure it is not Java.

Java is used in enterprises and by college kids, but that isn't enough for it to gain / maintain critical mass in the Linux community.

Sun screwed up Java on Day 1 by not making it free. It is too late to do anything now. Its specs are complicated pieces of garbage.
herzeleid

Mar 30, 2009
7:47 PM EDT
Color me skeptical - there's stlll an awful lot of life left in java - even if all development were to stop now, it would take years for the industry momentum to be significantly reduced.
Sander_Marechal

Mar 30, 2009
7:47 PM EDT
Yeah. Like COBOL or MUMPS
bigg

Mar 30, 2009
8:01 PM EDT
Java is pretty popular for a dead language. My favorite scripting language is Tcl. As many times as I've read it's dead, it sure is popular. It does the job efficiently so I use it.
keithcu

Mar 30, 2009
8:56 PM EDT
What I meant was that it is dead on the Linux desktop, on Windows, and on the web in the context of free software apps (WordPress, Mediawiki, etc.) And I consider everything else to be a niche. And even in the niche of corporate web applications, Ruby is taking customers.

JavaFX is out there, but I don't see it taking off. Java is used on Google's phone, which was a mistake, and which is a specialized platform, and it wouldn't surprise me if they moved to Python in a future version.

It is true that code has inertia and so things live for a while. Java is like Cobol in that the momentum in the industry has moved on. But unlike Cobol, it is easy to port apps from Java to C# or Python. In other words, it can disappear a lot faster than Cobol can.

Tcl is still around, but I wouldn't use it, and I wouldn't describe it as popular! Browse your local bookstore and see how many books on Tcl versus C, C#, Java, Python, etc. But it has served a good niche and so deserved its long life.
bigg

Mar 30, 2009
9:08 PM EDT
> Browse your local bookstore and see how many books on Tcl versus C, C#, Java, Python, etc.

That's what I like about Tcl. There's really only one book (of which I am aware) that offers a detailed reference on the language, and that's all that's needed. It's a simple language for simple tasks and a lot of non-simple tasks. It gets no press, but it is used all the time. If you are limiting yourself to desktop applications and web applications then I agree Tcl is not popular. Nonetheless it is alive and well, and is under active development, and I have no concerns about using it today.

I've always hated writing Java so I don't care if it disappears.
keithcu

Mar 30, 2009
9:43 PM EDT
Well the cool thing about free software is that we have choices. Like Lisp, Perl, sed, awk, etc. Tcl is out there and the runtime won't disappear. The community gets to decide whether to keep working on it. If you are happy and there is active development, there is no reason to move away.

But if you wanted to plug into Gstreamer, Ogre, Blender, etc. you would have work ahead of you.

Eventually, things will converge. And unlike Java, Tcl has happy customers, so it will die more slowly.

phsolide

Mar 30, 2009
10:19 PM EDT
Great Scott, I hope Java is dead! I've seen more ickky corporate crapps written in Java than anything else, C++ included.

When they added "generics" in Java 5, I knew it would attain Corporate Enterprise Sanctification, because with "generics' you can write the least comprehensible code, bar none.
TxtEdMacs

Mar 31, 2009
7:30 AM EDT
Specious argument:
Quoting:Browse your local bookstore and see how many books on Tcl versus C, C#, Java, Python, etc ...
Now talking about dead ... books? Why that's the very definition of death. You might have mentioned the tech. section in your local newspaper that, at least, on first sight might seem more credible.

Last I heard, Ruby was being run out of town on Rails! So that makes Java is dead in your book? I say let's pick a real, worthy target. Let's kill: Javascript!

YBT

jsusanka

Mar 31, 2009
8:16 AM EDT
come on you guys.

you know active still rules!
bigg

Mar 31, 2009
8:41 AM EDT
> Let's kill: Javascript!

Already done: NoScript.
DiBosco

Mar 31, 2009
6:22 PM EDT
I don't think Java's dead at all; if you look at the amount of Eclipse based IDEs coming out for embedded processors Java has a long future head of it. *

* Long in software terms!
tuxchick

Mar 31, 2009
6:27 PM EDT
OK I have to ask, and this is from the perspective of an end-user who hates slow, piggy Java apps that eat memory like candy and require the exactly correct JRE version, and it's never the one that is already installed, and sometimes the IBM Java runtime is better, and sometimes Sun's, and then there is the GNU Java, and sometimes they are called JVM (java virtual machines), and by the time I get this far I really really really wish I could gather all Java programmers into one big room and compost them.

Ok, the question: Does Java itself suck rocks, or do Java coders suck, and is it a case if they knew what they were doing the world would not be full of Java-haters like me?
DiBosco

Mar 31, 2009
6:59 PM EDT
I would think it's a combination of all of the above, tc. The fact that it's a virtual machine I suspect has a great deal to do with it and I can only assume the different versions work better for different apps because IBM, Sun et al all implement the virtual machine slightly differently.

To me it's no worse that the horrible mess of most .net apps I have had the misfortune to have to install though. The best cross platform apps I have come across have been written with Qt in C++, but that might be because the blokes who write these particular applications are very talented software engineers.
Sander_Marechal

Mar 31, 2009
7:10 PM EDT
Java has it's share of problems, but most Java programmers suck as well. Curiously enough that doesn't include most Java programmers working on open source projects. The underlying dynamics are quite complex of you dig into them but it boils down to the fact that Java is "enterprisey" and mostly written by programmers for who programming is just a job to pay the bills, while great programmers don't see it as a job. As a result, the great programmers (those who don't stop at 5 PM but do all night hackathons, work on FOSS projects, etcetera) are smarter. And smart people use smart tools that get things done. They want to learn and use new things and Java isn't that. They do Python, Lisp, Ruby, fancy new frameworks, etcetera.

This is overly generalised of course. For a bit more in-depth reading try these:

Revenge of the nerds: http://www.paulgraham.com/icad.html The python paradox: http://www.paulgraham.com/pypar.html
herzeleid

Mar 31, 2009
9:21 PM EDT
The best bittorrent client I've used is the one that's written in java: vuze, nee azureus
bigg

Mar 31, 2009
9:52 PM EDT
> Java is "enterprisey" and mostly written by programmers for who programming is just a job to pay the bills

It frustrates me to talk to professional programmers who don't actually care about programming. Programming is a life, not a paycheck. I think most Java programmers can go home at night and watch TV for 3 hours and never once think about their projects. Java attracted a lot of those who got some kind of certification then found a job working for a large company.
phsolide

Apr 01, 2009
1:19 AM EDT
At my employers, Giant Immoral Corporation, Inc, one of the security guys is fond of saying that the Java programmers have lots more clue than the Visual Studio .Net programmers.

I fear for my employer: the Java programmers have essentially negative cluefulness. I don't even want to think about a category of people with less clue than that.
mortenalver

Apr 01, 2009
2:43 AM EDT
Sander: so the open source Java programmers don't use Java?
tuxtom

Apr 01, 2009
3:30 AM EDT
I think smart people are the one's who bring home the bacon...however much they need to eat...and then spend their spare time doing whatever it is they love to do. If they bring home the bacon doing what they love, all the better. If they love programming and spend their spare time doing it, more power to them...let them follow their muse. But that does not make them smarter than the guy who spends his time sailing or playing music or raising his children. That assertion is arrogant and baseless.

As far as caring about programming, it is simply a matter of economics. Not necessarily money, though that is part of it, but Opportunity Cost. If you are thinking about your work projects all night and don''t have any interests outside of work, then you are a maladjusted individual. You are also not very smart, as you are working off the clock and not getting paid any extra (unless it is the satisfaction of a hobby...but if it is a continuation of work than it isn't a hobby, it is?).

I would rather sit on my death bed regretting all the great software I didn't write than regretting not spending more time with my kids or taking off sailing, etc...not actually living.
Sander_Marechal

Apr 01, 2009
4:23 AM EDT
Quoting:Sander: so the open source Java programmers don't use Java?


I told you it was a generalisation :-) Just hop over to Apache to find great hackers using Java. They exist, but they are the exception to the rule. The great-hacker-to-corporate-code-monkey ratio is much lower in Java then it is in e.g. Python, Lisp or Ruby (Rails).

The reason is quite obvious. Java is job security. Java is used throughout most enterprises so a code monkey will learn Java so he'll have a steady job and paycheck. In comparison there's much less money to be made in e.g. Lisp or Ruby. There are far fewer jobs out there for these languages. So, a code monkey isn't going to learn that. Great hackers will learn these languages because they are hot, new and get things done fast and elegant. Great hackers pick up technology much faster than code monkey because they don't wait for a market to spring up around it. They do it for fun and to learn things.

So, new things and esoteric things hardly attract corporate drones, hence the great-hacker-to-corporate-code-monkey ratio is much lower.

So yes, Java programmers suck on average. Not because there aren't any great Java hackers but because the massive amount of corporate drones choosing Java over other languages. They dilute the field.
bigg

Apr 01, 2009
6:02 AM EDT
@tuxtom

I'd hate to ever hire you or work with you on anything. You're not 'maladjusted' if you think about work at times that you're not getting paid for it explicitly. If you want to get anywhere, you need to do something that you care about and that has the potential to make you wealthy.

Whether you're talking about Warren Buffett, or someone who owns a successful small business, or someone working his way up the corporate ladder, they've all found work that coincides with their passion. If on a regular basis you put your work out of your mind whenever you can, you will be at best mediocre. Lots of folks work at jobs they don't like. Economically, it's a disaster.

{Edit: Just to clarify, I'm not saying you shouldn't have more than one dimension to your life - I'm saying that when you work, it should be something you care about. I'm also not saying anything about the desirability of being good at what you do. You might be happy being mediocre. But I don't care about how happy a Java programmer is with his life, I care about the quality of his code, and the quality of the code will usually be poor if programming is only a paycheck.}
mortenalver

Apr 01, 2009
6:42 AM EDT
Sander: you're probably right, I just thought it was a nice way of misreading your post :)

It occurs to me that this discussion sounds a little like Windows/Linux discussions. Linux folks say Linux is better, and that the smart people use Linux. On the other hand, a lot of people earn their money using Windows, and it's entrenched in ways that make it hard to convince businesses to switch to the "better" stuff.

In any case I use Java myself, both for commercial and open source work, and I think it's OK. I think Python is a nicer language in many ways, but I'm not convinced it would be better for the things I'm doing.
TxtEdMacs

Apr 01, 2009
7:01 AM EDT
Can we presume that most posts on this thread, particularly those evaluating personal character by doing or not doing prescribed actions that lead to magnificent success or utter disaster as determined by the predilection of the author? If so I pronounce all these posts as lead in to a wondrous April Fool's Day extravaganza. Therefore, my prescription is to kill [...] is Dead! threads.

Go home and Sin No More. Be assured, I'll take care of the requisite amount required for all of you. So rest easy.

Your Buddy Txt.
Sander_Marechal

Apr 01, 2009
7:41 AM EDT
Quoting:In any case I use Java myself, both for commercial and open source work, and I think it's OK. I think Python is a nicer language in many ways, but I'm not convinced it would be better for the things I'm doing.


Average hacker: "I use Java. Python looks nice but I'm not sure it's right for me. Convince me! Until then I'll stick with Java thankyouverymuch".

Great hacker: "I use Java. Python looks nice. Let me see what I can do with it. [snip all night caffeine fueled hackathon] Cool! I know Python!"

Which of these are you?

For a deeper understanding, please read "Beating the Averages" by Paul Graham (http://www.paulgraham.com/avg.html). You'll love it. He coins a term called "Blub programmers". Imagine a continuum of programming languages with assembly at the bottom and e.g. Lisp as the top. All languages fall somewhere on this continuum of power. Blub programmers are those who can look from their favourite language down on the lesser languages and proclaim "Mine is better. They don't have Blub!", where Blub is some pet feature. But they can't or don't follow that train of thought to it's conclusion and look up at the more powerful languages. Great hackers can and do, so they're always learning.

Quoting:But that does not make them smarter than the guy who spends his time sailing or playing music or raising his children.


I was talking about smart programmers, not smart people in general.
mortenalver

Apr 01, 2009
9:14 AM EDT
Sander: good question. I think my thinking is more close to the second option, although I'm hardly a great hacker. Of course it doesn't necessarily follow that I'll immediately migrate all my activities to Python, or that Python is better for everything.

Regarding Paul Graham, I had great fun learning Lisp a couple of years ago, and it made me realize that there could be a lot more to programming languages than Java or Python have. Unfortunately I never got to the point where I was using Lisp for anything useful (it would probably have been easier if I did web applications, which I don't).

Sander_Marechal

Apr 01, 2009
9:53 AM EDT
Quoting:I think my thinking is more close to the second option, although I'm hardly a great hacker.


Thinking like that doesn't make you a great hacker in itself, but all great hackers do think like that. So at least you have some potential to be a great hacker ;-)
tuxtom

Apr 01, 2009
10:32 AM EDT
@bigg
Quoting:I'd hate to ever hire you or work with you on anything.
But you've never met me or seen my work....and I didn't know you were hiring!!!

BTW: I used to be a Java developer (1999-2003). I was really good at some things (Servlets, JMS), pathetically mediocre in others (Swing). Java got too big only for the sake of being too big. IMO Java and Agile are mutually exclusive. How can you be agile with a language and platform like that? I decided I preferred the LAMP stack and Linux System Administration, both of which are 24/7 passions for me, much to detriment of my personal life. That being said, I know a lot of 9-5 guys who are better technically and much, much better off than me and I am jealous.

Quoting:Lots of folks work at jobs they don't like. Economically, it's a disaster.
If you call going to the grocery store to buy something for dinner a disaster then you must have a very perverted sense of economics. How about the guy going down to the sewage treatment plant in the morning to clean out the clogged pumps? I'm sure he'd rather be off at the golf course knocking back a few a few cold ones than be up to his armpits in...well, Java.

Quite frankly, I think it would be an economic disaster if everyone just woke up in the morning and did what they enjoyed. It ain't what do it's the way that you do it, and that's what gets results...whether you like doing it or not. Some people have a knack for following their muse...others are just plain lucky. Most of us do what we need to do to survive.

Quoting:the quality of the code will usually be poor if programming is only a paycheck
Do you have any metrics to support that assertion?

A lot of that stuff you are saying is over-generalized and really, really elitist when it comes down to it. I know because it it my nature to be the same way....but I'm trying.
bigg

Apr 01, 2009
11:24 AM EDT
> Do you have any metrics to support that assertion?

My opinion is based on my experience and that of many individuals far more knowledgeable than me. I'm not a professional programmer and do not claim to be. I should have worded my statement differently (darn job keeps distracting me). Most of the bad code comes from those for whom programming is just a paycheck.

> A lot of that stuff you are saying is over-generalized and really, really elitist when it comes down to it.

Call it what you want, but I've never met anyone who disagreed with the proposition that fit and interest are critical determinants of success and productivity in a job. I don't think I'm saying anything all of us didn't already know.

Do you have a reason to think that fit and interest are not important?
Sander_Marechal

Apr 01, 2009
11:44 AM EDT
Quoting:Do you have any metrics to support that assertion?


You'll find plenty over at TDWTF: http://thedailywtf.com/ :-)

On a more serious note, try http://www.joelonsoftware.com/articles/HighNotes.html
DarrenR114

Apr 01, 2009
12:20 PM EDT
I surely do like Geronimo+tomcat.

Create a Java stored proc in your database, and you'll see that Java isn't bad at all - that is if you use a truly enterprise-ready database that is capable of supporting stored procs written in Java.
Sander_Marechal

Apr 01, 2009
12:57 PM EDT
Quoting:truly enterprise-ready


You probably didn't intend it, but that statement made me laugh out loud :-D

"Enterprise-ready" is a buzzword. A marketing blurb. Usually it means "This costs a lot. How many consultants do you want with that?". It's precisely the reason why Java is so popular in the enterprise. Clueless management falls for it every time. "It's enterprise ready. It must be good!"
tuxtom

Apr 02, 2009
7:00 AM EDT
Quoting:Do you have a reason to think that fit and interest are not important?
Fit and interest are 100% compatible with 9-to-5 programming.

----------------------

@sander...nice links. Joel bouces around quite a bit but he makes some nice observations. In reference to the previous discussion, though, Joel really only reinforces my stance:

Quoting:The quality of the work and the amount of time spent are simply uncorrelated.
Using Joel's metrics it would appear that a 9-5 programmer will have just as much success and productivity in a job as the guy for whom programming is a life and not just a paycheck. Being a good programmer has nothing to do with how much time you spend doing it.

Sander_Marechal

Apr 02, 2009
8:15 AM EDT
Yeah, Joel bounces a lot, but his observations are usually spot-on.

Quoting:Using Joel's metrics it would appear that a 9-5 programmer will have just as much success and productivity in a job as the guy for whom programming is a life and not just a paycheck.


I think you're misreading it. "time spent" in the equation above isn't time spent programming in general. It's the time spent on that specific assignment. It just shows that great hackers can be 10 times as productive as average programmers. It doesn't say anything about how much time they spend programming each day.

Joel makes only two points: 1) Great hackers can be 10 times as productive as regular programmers 2) Great hackers can accomplish feats no average programmer can (the proverbial high notes in his story)

To understand why great hackers don't program 9-5 to pay the bill you need to read the other Joel stories and Paul Graham stories I linked a couple posts back that point out the mindset of great hackers and how they spend all day learning and hacking and having fun.
tuxtom

Apr 02, 2009
10:44 AM EDT
Well, Joel really only made points about programmers, not necessarily hackers. I differentiate the two because programming is a subset of hacking. I'm a better hacker than I am a programmer and I know many brilliant programmers who couldn't hack their way out of a Happy Meal. He still doesn't say that great programmers spend their spare time thinking about their work problems.

Hackers generally resist authority and eschew controlling structures (i.e. 9-5). They are modern-day 'hippies', of sorts. Many of them partake in the consumption of 'hippie-like' substances and have lifestyles that the mainstream would call "alternative". Many of them rent cheap apartments, are single, and have little interest in materialism. They would rather spend their money going to Comic Con. They justify their lifestyle choices by denigrating others who live a more "mainstream" life, frequently posting manifesto-like rants online in a vain attempt to posture themselves as superior. When they grow older they eventually realize that they are just part of the human race and are really not all that important in the big picture. There is always some young buck who will be happy to show you how he can code circles around you...and he really can. It's not that you shouldn't keep trying...it's just that you should know where you really stand and find a deep, peaceful satisfaction in that. Once you quit fighting it gets easier; your work becomes more enriched when you have nothing to prove.

Then again, some of them are just plain good.
DarrenR114

Apr 02, 2009
11:45 AM EDT
@Sander Perhaps you would have preferred the word "scalable"?

Just because a phrase is considered a "buzzword" doesn't make it meaningless.

You believe that Oracle DBMS is a waste of money? I don't.

But if you want a few good examples of "Enterprise-ready" software that doesn't cost a lot of money, all you have to do is look at Apache2, Geronimo, Tomcat, PostgreSQL, Firefox, and Openoffice.org.

techiem2

Apr 02, 2009
3:28 PM EDT
Quoting:Ok, the question: Does Java itself suck rocks, or do Java coders suck, and is it a case if they knew what they were doing the world would not be full of Java-haters like me?


Ok, I'll bite on that one. :) I think most of it is a combination of B and C. Most Java apps I've run across do tend to be rather lethargic. However, I've also used a couple that were quite nice and performed great.

One that comes to mind was the typing program I had to use in a class in college. It ran quite nicely, and actually ran better on my Linux boxes than on the Windows machines at the college. (hah!)

Another is the Admiral management program for the Pirates! collectible strategy game (*shakes fist at friends that introduce him to fun stuff to play*). It's a simple single jar file and runs great and saves the database to a file in the directory the jar is in. A perfect example of what Java was meant to be - write once, run anywhere. http://www.homers17weeks.com/admiral_home.htm

I've also recently been playing with OpenBravoPOS, which is a Java app and seems to run fairly well overall.

So yeah, I think that while some of it may be inherent to the performance of Java itself, the quality of the code would seem to make a big difference as well.

Sander_Marechal

Apr 02, 2009
5:12 PM EDT
@tuxtom: You obviously have no idea what a hacker is. Let alone what a great hacker is or can do. Unless I missed implied sarcasm tags I give up. There's no point in discussing it any further.

@Darren:

Quoting:Perhaps you would have preferred the word "scalable"?


At least that's a quantifiable term. I know you didn't intend it, but "enterprise-ready" carries a such a slew of bad connotations it's just not funny anymore.

And yes, I do consider Oracle to be a giant waste of money in 99% of the cases. If you have a need of Java inside your RDBMS then to me it indicates that you have a bug. It indicates that the application's design is wrong and too monolithic. Note that that's not about Java though. I would have said the same thing if someone required Python inside their RDBMS.

As to your examples, I don't think any of them market themselves as "enterprise-ready". Oh wait. I checked. PostgreSQL calls itself "enterprise-class" somewhere on the about page.
tuxtom

Apr 03, 2009
6:35 AM EDT
Quoting:You obviously have no idea what a hacker is.
Are you using Eric S Raymond's definition as a baseline? FSF party-line? It's very subjective.

Quoting:Unless I missed implied sarcasm tags I give up.
Yeah, there are plenty in there but I forgot where I put 'em.

A truly great hacker will never let you know he even exists...his work will be utterly transparent...he will not seek or accept status.

dinotrac

Apr 03, 2009
3:40 PM EDT
Sander -

You left one out:

Guy who has to get things done: "Hey, this python looks great, and Zope sure is powerful, but I'm having trouble with this and wondered if anybody else had come across it"

I sincerely hope things are better than they were back when I was that guy, but the answer was generallyt RTFC because there really wasn't much in the way of FM. With very notable and agreeable exceptions, the python folks I encountered seven and eight years ago were some of the nastiest and most arrogant jackasses I have ever had the misfortune to stumble across.

Posting in this forum is limited to members of the group: [ForumMods, SITEADMINS, MEMBERS.]

Becoming a member of LXer is easy and free. Join Us!