5 ms·
There are two discussions waiting to happen here: 1. "Haha, what an idiot. He said Java will die and now it is still there, hahahaha." (obviously, an contrived
by sgift 14y ago
There are two discussions waiting to happen here:
1. "Haha, what an idiot. He said Java will die and now it is still there, hahahaha." (obviously, an contrived example). This would be an useless "discussion". We wouldn't learn anything from it.
2. "Well, as he writes in the essay: predictions are hard. Let us check which predictions did hold and which didn't." - This discussion could provide useful lessons for the future.
I hope for the second, but fear the first. In a few hours we will know the answer.
- michaelochurch 14y agoPaul Graham's meaning of "is dead" is "has stopped producing exciting ideas". He declared Microsoft dead in the mid-2000s. He wasn't saying "no one uses Microsoft products" or "Microsoft is out of business" (both demonstrably false) but that it was an evolutionary dead end. So far, he's been proven right. If Microsoft ever becomes a company worth caring about, it will be a different Microsoft from what it is now (cf. the parable about never stepping in the same river twice). He was wrong if his prediction were taken to apply to the JVM ecosystem, because Groovy and Scala and Clojure happened, but he was right about Java-the-language (it has limited uses, but you should be using at least Groovy if not Scala or Clojure for modern JVM development) and undeniably dead-on about Java-the-culture (which is the only thing he claimed the ability to evaluate, having admitted not using the language ever).
- vorg 14y agoThere's a list of over 80 languages for the JVM at (http://en.wikipedia.org/wiki/List_of_JVM_languages http://en.wikipedia.org/wiki/List_of_JVM_languages). I don't think you can really recommend any. The article says: Apart from the Java language itself, the most common or well-known JVM languages are: Clojure, a functional Lisp dialect Groovy, a scripting language Scala, an object-oriented and functional programming language[1] Kotlin, statically typed programming language compiled to JVM byte code and JavaScript by Jetbrains Ceylon, an upcoming programming language and SDK, created by Red Hat JavaFX Script, a scripting language targeting the Rich Internet Application domain (discontinued 2010) JRuby, an implementation of Ruby Jython, an implementation of Python Rhino, an implementation of JavaScript AspectJ, an aspect-oriented extension of Java I would add Gosu, Fortress/JVM, and Beanshell as important. Others were talked about at the recent JVM Language Summit (http://openjdk.java.net/projects/mlvm/jvmlangsummit/agenda.html http://openjdk.java.net/projects/mlvm/jvmlangsummit/agenda.h...).
- riffraff 14y agoI'd argue the "Processing" dialect is more important than some of these.
- jdbernard 14y agoHave you used any of these languages? The Wikipedia list is overly simple at best. The common thing that these all share is easy access to the world of Java code, much of which is very well written. The Java standard libraries are well-written and well-documented. There are plenty of high quality open source projects covering almost anything you need. I am most familiar with Groovy and it is much more than a simple scripting language. It spans the continuum from scripting to full-on enterprise-level stuff. It adds all of the functional features we love to Java, language support for maps, makes it easy to create DSLs for specific purposes, etc. I do not know nearly as much about the other languages, but almost all of these are in production use. I would recommend many of them.
- pnathan 14y agoScala and Clojure seem to have gotten a definite traction. Just from reputation alone, I'd choose Clojure for a JVM greenfield project if I was asked to do such a project.
- cooldeal 14y ago>Paul Graham's meaning of "is dead" is "has stopped producing exciting ideas" Not really, he came up with his prediction: "I have a hunch that it won't be a very successful language" Java not just took off like a rocket, but .NET/C# (which built on top of Java) has encountered even more success, so much that companies collectively pay billions a year for Windows Server 2003/IIS/SQL Server while Apache/Tomcat/Php/MySql/PostGres/Ruby are free. You can say Microsoft takes most of the profit in the web server and server OS market (like how people say Apple takes 80% of the profit in the phone market).
- bcoates 14y agoHow do you consider .NET and C# built on top of Java? They're certainly designed a direct competitor, with C# + .NET built to check every box that Java + JVM does, but most of the things in common between the two weren't new in Java. In the years since, new C# features have diverged sharply from Java's.
- sampsonjs 14y agoSort of like how "off the record" is a fluid definition for journalists. If no one agrees on what it means, they can't hold you to it!
- yen223 14y agoLet's talk a bit more about #2 then. As I mentioned elsewhere, most of pg's observations still hold in 2012. But, he clearly missed the implication, as you mentioned in point 1. I believe Java is still going strong precisely because of the attributes he regards as weaknesses (that it appeals to suits and programmers in suits; that large businesses like to use it; that its syntax doesn't try to be revolutionary) Based on this, I will boldly make the following prediction: in 10 years' time, the most popular languages will still be some variant of Java and C#.
- vmmenon 14y ago"in 10 years' time, the most popular languages will still be some variant of Java and C#" thats because in 10 years, 99.9% of folks out there will be still be dumb
- sgift 14y ago1980 "You use C? You suck. Real programmers use Assembler." 1990 "You use C++? You suck. Real programmers use C." 2000 "You use Java? You suck. Real programmers use C++." 20xx "You use ...? You suck. Real programmers use ..." Same story, different times. At least try to provide an argument for your position, instead of "(...) will be still be dumb". Thanks.
- rbanffy 14y agoIntelligence (at least IQ-measured intelligence) is normally distributed with 100 at the median. Some people equate "dumb" with "dumber than them". If such a person is 1 or 2 standard deviations above the median (as I'd assume the population of HN is), then most people could be considered "dumb". Before the assembly line, workers had to be skilled, had to really understand what they were building and how and why all its pieces fit together. With the advent of the assembly line, workers were only required to learn one specific, usually very simple, skill. That made them cheaper to train and cheaper to replace and made the outcome of their work less important to the end product. That also made them easier to manage by people who were not skilled artisans, giving rise to the "generic" manager, who only needs to know how to manage. Java is a very good "assembly line language" and it's no coincidence it's popular with businesses that don't value elegant code as much as code that gets the job done cheaply. I'm not saying it's impossible to write elegant Java code. I'm only saying it's cheap to write business-y Java code and that accounts for a substantial part of its popularity.