4 ms·
I have another theory about why Java beat other object-oriented programming languages except C++: cost. I can't speak for Eiffel and Ada since I'm unfamiliar w
by linguae 7y ago
I have another theory about why Java beat other object-oriented programming languages except C++: cost. I can't speak for Eiffel and Ada since I'm unfamiliar with those environments, but in the mid-1990s Java caused a revolution of sorts by providing free-as-in-beer runtimes and development tools that were available for download. I don't know how good GNU G++ was in 1995, but I know that Borland's Turbo C++ and Microsoft's Visual C++ were affordably priced. By comparison, commercial Smalltalk implementations had expensive licensing fees, and in 1995 Squeak and Pharo didn't exist. There was also OpenStep and Objective-C, but that was also very expensive; this 1996 article from CNet (https://www.cnet.com/news/next-gets-to-nt/ https://www.cnet.com/news/next-gets-to-nt/) says that the Windows NT version of OpenStep cost $5,000 per developer and $25,000 for a version that allowed deployment.
With the high prices of Smalltalk and Objective-C environments, Java attracted a lot of companies and developers who wanted an object-oriented programming language that provided some of Smalltalk's benefits (e.g., garbage collection, memory safety, a rich standard library) without having to shell out the cash for a Smalltalk implementation.
- pjmlp 7y agoI bought Turbo Pascal for Windows 1.5 (last release before Delphi) for about 150 euros, and Turbo C++ for Windows was about 200 euro, when converted for today's money. This in 1990 - 1992.
- jhbadger 7y agoBut there was an affordable Smalltalk system in the early 1990s -- Digitalk's Smalltalk/V. It cost $99 and came with a huge manual that had a great tutorial. It introduced me (and lots of others) to the whole idea of object-orientation.
- bhaak 7y agoI've seen this several times. You need to get the stuff to the students who usually have no money to spare. Emphasis on "NO". Affordable doesn't cut it. If you can't download it from somewhere for free, something else will be used by students that will later determine what they'll use at their startups or companies. Even better if it's legal to download for free.
- jhbadger 7y agoI'm not denying that the modern world of open source tooling and online documentation is better, but in the 1980s-early-1990s that's just not how it was. Things like Turbo Pascal and Smalltalk/V cost money, but not that much, and were worth it because of the large printed manuals they included, which were needed because you couldn't just Google things.
- bhaak 7y agoI don't say that it wasn't worth it. I say that it was an additional barrier to entry which got more significant the later we are in the 90s. That it was free was a significant boost for the popularity of Java (probably also the free JVM from Microsoft was a significant contributor). In the early 80s you always had a programming language for free with your computer and often, those manuals were not bad either as that was seen as an additional selling point for the hardware and that's why the hardware producers did it.
- jeltz 7y agoYes, which does not contradict his original point. Java arrived in the mid 90s, and unlike many of its competitors you could just download Java and use it for free which gave Java a competitive advantage. Universities had good Internet connections at that point.
- igouy 7y ago> …cost money, but not that much… Knowing no-better, $0 seems better to most.
- igouy 7y ago> download it from somewhere for free The Smalltalk vendors provided student licenses / educator licenses. Back in 1998, "…the largest object-oriented course in the world: the Open University’s new introduction to computing, for which over 5,000 students have enrolled for its first year. The course introduces computing from a systems-building stance specifically, through object technology, Smalltalk and our own adaptation and extension of Goldberg’s LearningWorks programming environment." [pdf] https://www.academia.edu/33568403/An_Object-oriented_Approach_to_Computing https://www.academia.edu/33568403/An_Object-oriented_Approac...
- ben7799 7y agoI went to college in 1995... $99 would have likely been out of reach. I had access to C/C++ in high school on a PC only because my father ran an engineering group and brought home a VC++ license for us. I didn't get to use it that much before heading off to college. I mostly used BASIC early on cause we had it free with the first 2-3 PCs we had. By High School I had gotten my hands on Turbo Pascal for free, maybe again through my father. High School classes were in Pascal. Turbo Pascal blazed and worked even on our 286 IIRC, which had minimal graphics capabilities. Even once we got a 486 TP was so lightweight compared to booting up windows that probably helped it's popularity for people who were stuck on PCs at home. As soon as I went to college I always had access to C/C++ and that's what classes were taught in, and by Winter 95/96 we were all getting linux up and running and started having access to all the GNU stuff for doing our work.
- pjmlp 7y agoYes, that was the one I was using at the Smalltalk programming classes at the university.
- kqr 7y agoAda was also very expensive up until relatively recently, so there could very well be something to what you're saying.
- ThomasBHickey 7y agoI always thought that was a major miscalculation by the Ada project. All they thought about was defense contractors and their approach of relying on commercial implementions (priced for those contractors) made it unused in academic environments.
- synack 7y ago"The GNAT project started in 1992 when the United States Air Force awarded New York University (NYU) a contract to build a free compiler for Ada to help with the Ada 9X standardization process. The 3-million-dollar contract required the use of the GNU GPL for all development, and assigned the copyright to the Free Software Foundation. The first official validation of GNAT occurred in 1995." https://en.wikipedia.org/wiki/GNAT https://en.wikipedia.org/wiki/GNAT
- ansible 7y agoCost was likely an issue for Eiffel adoption in the 1990's. There were a couple commercial implementations, with ISE being the dominant player. I bought a copy, but it wasn't cheap. The open source SmallEiffel (later SmartEiffel) compiler by Dominique Colnet (and others) from loria.fr [1] didn't implement implement some parts of the language until the late 1990's. It never had a big community. [1] http://smarteiffel.loria.fr/ http://smarteiffel.loria.fr/
- xkriva11 7y agoMoreover, it is much safer to start to learn a new language/environment if you can immediately try it for free and not invest first into an expensive implementation.
- igouy 7y ago> …Java caused a revolution of sorts by providing free-as-in-beer… Yes, when a well funded corporation gives away programming language runtimes and development tools — that puts language and development tool vendors out-of-business.
- linguae 7y agoThis is something else I've been thinking about lately as I read more about Smalltalk and Lisp. The people who have used the commercial Smalltalk and Lisp offerings from the 1980s and 1990s, including Lisp machines, seem to have had great experiences with these environments. They felt very productive in these environments, and they also lament the state of today's development tools for more popular commercially-used languages. However, it takes a large amount of money in order to develop something like a modern-day Symbolics Genera. Where is the money going to come from? There seems to be little room in today's marketplace for modern-day equivalents of ParcPlace or Symbolics, or even Borland for that matter, since free tools are good enough for many developers. Inexpensive Unix workstations from Sun and DEC helped kill the Lisp machine, and Linux on ever-faster and ever-cheaper x86 PCs helped kill the Unix workstation market; good-enough-and-affordable seems to do better in the marketplace than polished-and-expensive. It seems to me that development tools and operating systems seem to be either the product of research organizations or are "subsidized" by companies where developer tools and operating systems are not their main businesses unless the operating system is a monopoly. I don't see an easy way around this, though. Maybe if someone like Alan Kay or Richard Gabriel visited a FAANG campus and convinced its engineers to build their infrastructure on top of a new object-based operating system, we'd finally get a modern, full-featured Smalltalk or Lisp operating system that's at par with the commercial Smalltalks and Lisps from the 1980s and 1990s....
- pjmlp 7y agoThat is why many of us that experienced those environments ended up gravitating around Delphi, Android, iOS, Java and .NET tooling. While not the same, it is the most mainstream stacks that are somehow close to those ones.