5 ms·
Sort of ironic that all of his concerns were proven out, yet Java still managed to prove his prediction wrong. Though his definition of success seems to be "wo
by javanix 16y ago
Sort of ironic that all of his concerns were proven out, yet Java still managed to prove his prediction wrong.
Though his definition of success seems to be "would really good programmers (wizards) ever use this language for sweet projects? If yes, than this language is a success." By that metric I guess he would be correct.
- quanticle 16y agoThe one criticism that I don't agree with is, "The DoD likes it." The DoD is a huge place. Sure, most of it is extremely bureaucratic and planning oriented, but there are a few hacker friendly corners (DARPA, anyone?) here and there. I also don't agree with his criticism of Ada. Yeah, Ada isn't a good choice if you're building a web app that needs to be out next week. But Ada wasn't ever intended to be used for that sort of software. Ada was designed to build absolutely reliable software. I'd rather have the Space Shuttle's control software written in Ada than Java.
- jasonjei 16y agoThe DoD doesn't exactly promote a hacker culture in the civilian roles; however, depending on branch of service (e.g most likely not marines) and role (officers and above), there is latitude for creativity. Of course, anyone who has worked the civilian side of DoD knows how bureaucratic it is, and I think pg is right to say that if DoD likes it, it's probably not a great sign. For instance, you can't submit invoices (you have to use a convoluted procurement application and enter it through a very 90s looking app). There are paperwork mandated by Congress and administrative agencies (GSA). And let's consider the Goliath that is DFAS. They use Oracle. And Oracle Forms.
- jeff95350 16y ago"I'd rather have the Space Shuttle's control software written in Ada than Java." That's what I was thinking, too. Was Ada really meant for "other people" to use? I wonder how many people involved in the process went on to write Ada afterward? I don't know the facts, but I would guess that the critical system software writers in the US are a fairly small group, and anyone on that committee knew they would end up writing a lot of Ada afterward. I doubt it was the same kind of "make a language for the masses" simply because there aren't masses of people capable of writing software for critical systems. I would guess that it had more to do with a mutual pact: programmers have to add extra annotation for interfaces and constraints; but in return they can absolutely rely on those interfaces and constraints because they know that the compiler enforces them.
- zmitri 16y agoI have to disagree. What about Hadoop, Solr/Lucene, Mahout, etc? Those are pretty sweet projects made in Java and I'd have to argue are pretty successful. I'll admit that I have listed all Apache projects, so would you then argue that Apache has been successful as opposed to Java?
- javanix 16y agoAgreed, there are certainly exceptions to the rule but I don't think anyone would put the level of Java's "hacker acceptance factor" anywhere near Python or Ruby or the like.
- jbooth 16y agoWhat's the "hacker acceptance factor"? Is that "what do 22yo kids writing webapps and shopping for sailboats to buy after their big idea takes off think about this?" I mean, why should I care about that? Basically for the niche that Java fits in (networked, multi-threaded data-center applications where performance is important), it hits a sweet spot of ease-of-development compared to performance. C++ is a nightmare to code in, comparatively, and the scripting languages are either dog slow, have poor concurrency support or both. YMMV I guess.
- jey 16y agoNo, hacker doesn't mean "web-startup groupie". Hacker is more the opposite of the mindless corporate drone who's coding just for the paycheck. (Note: this doesn't mean hackers never work in the corporate world.) http://www.paulgraham.com/gba.html http://www.paulgraham.com/gba.html
- jbooth 16y agoWell, sorry if I insulted anyone, but I'd think worrying about the "hacker acceptance factor" of a piece of tech is awfully non-hackerish. You can write corporate drone type stuff in any language -- and you can write awesome code in any language. Java with a lot of immutability, closures (anonymous classes) and ExecutorServices is like a syntactically weird multi-threaded lisp. Very elegant. The language itself has something like 15 keywords, total. As the person said upthread, you can look at some horrible 2002 EJB webapps (and I'm sure you can find their equivalents in rails), or you can look at projects like Hadoop, Hbase, Cassandra, etc. In general, static languages are probably a bad idea for webapps or scripting -- that doesn't mean they're the province of drones.
- RyanMcGreal 16y agoI'd say PG's only real error in thinking was to underestimate the premium that enterprise customers place on planned mediocrity.
- chrisaycock 16y agoJava: write 10 lines where 1 would do.
- redthrowaway 16y agoOnly compared to something like Python. It's slightly more verbose than C++, but not overly longer, on a LOC basis.
- steveklabnik 16y agoMaybe on a purely syntactical level, but culturally, Java seems to embrace verbosity. You don't see C++ programmers making thousand-line XML-based build files, or creating FactorySingletonFactoryVisitors.
- haploid 16y agoActually, yes you do. The original GoF was written with C++ in mind. Plenty of enterprise C++ code embraces heavy use of design patterns.
- Zak 16y agoHis other definition of success for languages is "will this language significantly influence languages we will use in several decades". I'm inclined to think Java won't, but it's going to be at least 20 years before we can really test that prediction.
- bluedevil2k 16y agoJava's influenced all the languages now built to run on the JVM. Groovy, Scala, Clojure. Not sure if these will be used in several decades, but the fact that there are several already around is a good sign. Not to mention that I can guarantee we will be using Java in several decades.
- Zak 16y agoWho's we? I doubt many hackers will be starting new projects in Java in 20 years. Sure, there will be plenty of legacy code around, just as there's plenty of COBOL around now. I think Java's influence on Clojure is fairly small, and mostly visible around the places where the Clojure has to interoperate with Java libraries. I'm not sure what to call this - incidental influence, maybe?
- bluedevil2k 16y agoThere are tons of sweet projects out there written in Java, and there are lots of really really good programmers out there in Java. Just cause you don't know them, or look up the projects, doesn't mean they don't exist.