5 ms·
Java is becoming the new Cobol
- qaexl 19y agoThough that means that if the adoption of Ruby on Rails in the enterprise becomes widespread enough, it too will take the crown of "the new Cobol". Or it might be .NET What I mean is the rising population of unskilled so-called programmers who have no business programming entering into the marketplace. I've already seen crap Ruby code floating around, including ones that were "ported" (I use the word lightly) from PHP or Perl. (They copied-pasted the code and change things here and there to make it Ruby-like ... doing things like retaining the $ in front of variables, or ...) The DailyWTF is a monument to these pseudo-programmers. When a language is sufficiently popular enough that pseudo-programmers perceive it as a way of getting secure income ... without having to expend skull sweat ... that language is flooded with utter crap. The result? COBOL. People have said you want the top n-th percent of the programmers. For me, I just want to work with programmers that don't suck.
- shabby 19y agoAnd the memory footprint thing.... I understand the concern for mobile/embedded stuff and don't know much about how well Java does there. However, when a half gig of RAM for a server costs well under $100, it just doesn't matter much for regular 'ol server apps. Even a "bloated" J2EE app doesn't usually require more than a gig of heap (unless you're doing massive, in-memory caching). Yeah, it's nice to use less memory, but there are 50 other things I'd give equal weight to (the availability of libraries being about 25 of those 50). As I write this comment, I am tuning a Java rules (rete) app that is using an 11 gig heap :)
- geebee 19y agoThere's so much bashing of Java lately. It reminds me of the kind of daytime TV rants that begin with "Well, Oprah, I think that man needs to..." When people decide to end a relationship, they often start to think of all the ways they have been wronged to justify it. I always think, eh, maybe "that man" was fine, you just got tired of him. You don't need to justify a break-up to me - feel free to go. Personally, I don't feel as aggrieved by Java as some people do. It was certainly better than working in C++. It certainly made web programming easier. Tomcat was simple to install and configure. Ant was a good build too (but I did start to wonder why all the XML configuration for something that could probably be standardized). Struts was heavy and cumbersome. Hibernate got on my nerves - why do I have to deal with all this XML. Spring was an improvement, but I broke up with Java when I started reading about Inversion of Control and all the design patterns. Why am I doing this when the actual code I care about is going to be, oh, maybe a thousand lines, tops? "Well Oprah, Java is no good, let me tell you about what he did, in the beginning he was so nice, always bringing me flowers, but now he just sits on the sofa an plays video games, why even last week, when I got home, working hard to pay the bills, he's just sitting there..." Eh, my take on it is that technologies and programming frameworks move on (often by finding something that was done better in the past and modernizing it, or even just dressing it up). Many if not most of the "breakthroughs" in rails were already present in other languages. There's really no need to hate Java or decide it's a foul language that has wronged you. Maybe you're just ready to move on. Nothing wrong with that. (of course, if you're a Lisper who suspected Java was stupid from the very beginning, I suppose you are entitled to your victory fist pump when everyone starts to wake up and get it). I'm sick of programming in Java now. I'm not sure what's next, but Ruby and Rails certainly opened my eyes to how much more pleasant and productive other frameworks and languages can be. I just don't feel any real need to hate Java, because it did make my life a little better (almost) a decade ago.
- staunch 19y agoJava ascended to the throne through blind arrogance and force. It ruled with an iron fist. Now that the tables have turned the dynamic language revolutionaries will not be kind. There will be blood. They will take vengeance for all the hours of their lives that were "disappeared". Viva La Dynamico Revolution!
- Xichekolas 19y agoJust to be nitpicky... it would be: 'Viva la Revolucion Dynamica!' (I tried the upside down exclamation point and the accent mark, but apparently that gives YC News indigestion. You'll have to settle for gender agreement.)
- davidw 19y agoThe reason people get irked with languages is the lock-in and network effects that essentially force people to use things that they don't want to.
- geebee 19y agoThere's more freedom of language choice now than there was in the past, especially for web applications. But I do agreee with you - there is certainly pressure from network effects, which does make it harder to just "break up" with a language as a purely personal choice. Not impossible, just harder. As for me - I'd disagree that I'm forced to use java, but I am definitely under pressure (financial and otherwise) to do so. For instance, I use an API for a mathematical engine (ILOG) that is available in java, C#, or C - and everyone around me at work uses Java. Technically, I could write an extension for ruby in C (maybe there's already one out there?) But I have a feeling this wouldn't fly with my company. I could also quit and find a new job - there are plenty of good projects in Ruby out there. So to some extent I am "forced" to use Java, but if I'm totally honest with myself, I have to admit that there's more than a small element of personal compromise (as opposed to pure coersion) in the language I use at work. I read an interview with David Heinemeier-Hansson where the interviewer repeatedly asked him about "why not use X for reason Y" (X= Java, .NET, etc, Y=performance, availability of programmers, scalability, etc)... and his response was something like "previously I was direct, now let me be blunt: I don't care about you." That's what I'm getting at with the "well, oprah" analogy. At some point, you just have to decide what you're going to with. Keeping an open mind is extremely important, but it's equally important to remember that you don't need to convince anyone other than yourself. If you find yourself justifying things too often to other people, maybe you need to restructure your life a bit (not meant as a criticism: I know I do).
- brlewis 19y agoFrom the "Info-Tech Research Group" paragraph, this looks like submarine PR by Microsoft.
- snorkel 19y agoWith no less than 3 favorable mentions of .NET? Do ya' think?
- bayareaguy 19y agoRelative to the other languages mentioned, I think the only significant way Java is similar to Cobol have is that common conventions require a lot of typing. Consider an example from the programming language shootout: Java: public static void main(String[] args) throws Exception{ int sum = 0; StreamTokenizer lineTokenizer = new StreamTokenizer(System.in); while (lineTokenizer.nextToken() != StreamTokenizer.TT_EOF) { sum += lineTokenizer.nval; } System.out.println(Integer.toString(sum)); } Ruby: count = 0 l="" STDIN.each{ |l| count += l.to_i } puts count
- Tichy 19y agoI don't think that Java programmer was up to scratch, although admittedly Java won't get as short as Ruby. I would count that readline construct of Ruby as kind of cheating, though. It's a specialized feature that doesn't say much about the brevity of Ruby in general.
- brlewis 19y agoCheating would be putting an open paren at the top of the file, a close paren at the bottom, and implementing it in Scheme as (apply + (read))
- jimbokun 19y agoI've done things like that often enough (putting parens around file contents or each line of an ascii file) that I wonder if it would be worth writing a macro that inserted the parens for you on the fly as you read the file before handing it off to the code you want to execute. I know that was vague, but I just get the feeling I'm often doing something semi-manually in Emacs that my code should be doing for me.
- michaelneale 19y agoIf that is wrong (cheating) - then baby, I don't ever want to be be right ! code as data wins again ! (but with great power, comes great responsibility).
- 19y ago
- simianstyle 19y agoIn related news, black is becoming the new white.
- icky 19y agoAnd they both run things in Treasure City...
- Readmore 19y agoIt really is true. Nobody wants to program in Java anymore, if you do it's just because you don't know any better. However, just like Cobol, there is going to be money available for a long time for anyone that keeps their Java skills sharp.
- Tichy 19y agoI don't want to code in Java anymore, but I haven't found a better alternative yet. Did not like Rails.
- nraynaud 19y agodid you try O'caml and Haskell stuff ?
- Tichy 19y agoNot yet. How does Haskell compare to Scheme, I wonder? I have tried Erlang.
- Tichy 19y agoI have read the beginnings of Haskell tutorials now, and it seems to be very similar to Erlang? I am not sure I like the static typing, though (ie inflexible arrays). So maybe not enough reason to prefer Haskell over Erlang?
- nraynaud 19y agoThe base looks similar (space is function call, static types inference, currying, '->' for function definition etc.) because the common ancestor for haskell, o'caml, erlang and various others is ML, another language. This is the same kind of relation between C, java and C#, the basic type system and grammar are cousin. I won't answer to the "static typing is inflexible", but you should check the type system itself, and its genericity system and modularity system.
- 19y ago
- pg 19y agoI wonder what Infoworld was saying about Java 5 years ago. But I can probably guess.
- dag 19y agoTitle: Java Under Siege http://www.infoworld.com/article/02/03/22/020325fejavastrat_1.html http://www.infoworld.com/article/02/03/22/020325fejavastrat_... Can't seem to access the website right now, though. Google cache at http://64.233.167.104/search?q=cache:UmQdAoYGKp0J:www.infoworld.com/article/02/03/22/020325fejavastrat_1.html+java+2002+site:infoworld.com&hl=en&ct=clnk&cd=2&gl=ca http://64.233.167.104/search?q=cache:UmQdAoYGKp0J:www.infowo... Also, "Java Web Services High in Potential" at http://www.infoworld.com/article/02/02/22/020225feweb_1.html http://www.infoworld.com/article/02/02/22/020225feweb_1.html , but the website isn't responding right now.
- apathy 19y agoAbout time...
- streblo 19y agogreat, all my cs classes are taught in java.
- shayan 19y agohehehe most of mine was like that too
- gmlk 19y agoI think Java is the new Pascal... :)
- pius 19y agoTrust me, if you were planning to ride on the language you learned in college, you've got a rude awakening coming. :P Ideally the classes are trying to teach language agnostic principles and techniques.
- henning 19y agoCobol doesn't have useful libraries like Lucene. Cobol didn't convince pointy-haired bosses that technology which only 10-15 years before was considered an academic curiosity ought to be standard for business application development.
- mynameishere 19y agoI think I first heard the phrase "Java is the new COBOL" about 3 or 4 years ago. Ronen says Ruby offers pre-built structures -- say, a shopping cart for an e-commerce site -- that you'd have to code from the ground up using Java. Fact-checking 101: http://www.google.com/search?hl=en&q=%22java+shopping+cart%22 http://www.google.com/search?hl=en&q=%22java+shopping+ca... http://www.google.com/search?q=%22ruby+shopping+cart%22 http://www.google.com/search?q=%22ruby+shopping+cart%22 http://www.google.com/search?hl=en&q=%22ruby+on+rails+shopping+cart%22 http://www.google.com/search?hl=en&q=%22ruby+on+rails+sh...
- mdemare 19y agoDoes this article contain any facts that are actually correct? Java losing marketshare to AJAX? "One bit of good news: developers and analysts agree that Java is alive and well for internally developed enterprise apps." Has Java ever been alive for anything else? Java's big problem is incompatibility across platforms? Ruby gaining popularity because of built-in shopping carts? And what's the connection between losing marketshare and becoming the new Cobol? I mean, Perl is losing marketshare... This article is utterly clueless.
- projectileboy 19y agoI haven't seen anyone else comment that this whole thing is just a friggin' PR piece from Twiki. And before all you 19-year-olds-fresh-out-of-logic-101 scream "ad hominem!", let me remind you that in the real world you should always consider the source. I'm not about to defend Java, but what a lot of the Ruby newbies are too young to know is that we had a dynamic language in the enterprise. It was called Visual Basic - you just declared everything "Variant". The result was a bunch of god-awful messes. Personally, I like flavors of Lisp. But I don't know that I'd prescribe it for the IT department at Wells Fargo.