Java Criminally Underhyped? Not Back in 1997.
Earlier today, a fun little moment of Twitter serendipity alerted me to an article by Jackson Roberts, a computer science student at the University of Colorado, entitled “Java is criminally underhyped”. It’s a really interesting article, and Jackson’s observations correlate with a lot of my own thinking about languages and platforms, although I am squarely in the .NET / CLR camp on that particular front.
But Jackson ends his article:
I am curious why Java lost its hype in the first place. Programmer culture history is poorly documented and if you have insight, please email me or leave a comment.
And, well, the comment I was leaving got a bit long, so I figured I’d blog about it instead. You see, I studied computer science at the University of Southampton, from 1997 to 2000, and when I was an undergraduate, the hype about Java was unbelievable. Java was too important to ignore; it was released in January 1996, and by the time I started university in September 1997 it was a mandatory course for all first year students; it was used throughout my degree course, right up to the final year module on programming language design where our coursework assignment was to build a Scheme interpreter – in Java.
Java circa 1997 was probably the most hyped thing I have ever seen in my career.
For starters, it was the first really mainstream language to introduce a lot of features we now take for granted in most high-level languages. Memory management? Readers, even to a first-year comp sci undergraduate who had spent a grand total of six weeks working with malloc and free , Java’s automatic garbage collection was clearly a revelation. Concurrency? It has threads. They work. Job done. Exceptions? You mean I can just write functions that return what I want, instead of functions that leave the result in a char* pointer somewhere and return an arbitrary non-zero integer if it worked? Java introduced a lot of incredibly powerful ideas and patterns, and it’s hard to underestimate how much impact it would have on the next two decades of programming language design.
But Java wasn’t content with that. Java was going to solve ALL the problems. JavaScript? The language that would end up taking over the world wide web? JavaScript was a glue language. The idea was that all your serious applications would be deployed as Java applets, with JavaScript used for only the most superficial wiring between applets. Java applets were such a big deal in 1997 that some people seriously believed that they represented the end of desktop applications, the end of Microsoft Windows; even the end of the computer as we knew it.
Corel, who at the time were still a credible threat to Microsoft’s emerging monopoly, announced in 1996 that they were porting their WordPerfect office suite and their market-leading CorelDRAW! graphics software to Java. Check out this Infoworld article from 1996 to see just how deep the hype hole really went:
“The success of Java-based network computers, and perhaps Java itself, will likely require the availability of vertical productivity applications for word processing, spreadsheets and databases. At the JavaOne conference, Corel Corp. (www.corel.com) made a first stab at offering such products with the announcement that it plans to deliver a suite of office applications based on its QuattroPro and WordPerfect products. Both products should be available for sale by early next year.”
... continue reading