7 ms·
He's overlooking an incredibly important factor: Java and C++ had capable, even enterprise quality free compilers at a time when Common Lisp environments were
by dleslie 4y ago
He's overlooking an incredibly important factor:
Java and C++ had capable, even enterprise quality free compilers at a time when Common Lisp environments were typically either hideously expensive or poorly supported or both.
You could grab Sun's JDK for free, or GCC, or (later) Visual Studio Express at a time when the best options for Common Lisp were thousands of dollars per seat, or barely working on x86 (CMUCL didn't have x86 support in any capacity until after 96, and by then Java was out).
Personally, I loved lisp in the 90s, but it was just so much easier to get my hands on C and Java, and libraries to go with them. Java, C and C++ were actually available on DOS and Windows. Even today, Windows support among lisps is terrible!
Edit: I miss Turbo C, but had there been a Turbo Lisp, priced affordably and on the shelf at radio shack? We'd all be programming in lisp.
- pfdietz 4y agoIndeed. It took a while for a good free Common Lisp to become available. Arguably this wasn't until SBCL (initial release, December 1999).
- lispm 4y agoAnd even that still lacks basic Windows integration.
- jll29 4y ago(Free) LISPs on Linux today look a bit rough, is there any implementation that turns Linux into something that has the look and feel of a LISP machine? Parentheses aside, don't expect people to pick up a language if all they can see is a REPL where the only edit operation that works is DEL(ete), at a time when all other languages have graphical IDEs with syntax coloring, context-sensitive help, single-step debugging etc. (and no, I don't mean Emacs). edit: screen shot to support the argument https://en.wikipedia.org/wiki/Steel_Bank_Common_Lisp#/media/File:SBCL_screenshot.png https://en.wikipedia.org/wiki/Steel_Bank_Common_Lisp#/media/...
- dleslie 4y agoNo, there is not. There's no desktop environment for Linux that supports the runtime extensibility and inspection abilities of a symbolics lisp machine.
- aidenn0 4y ago> and no, I don't mean Emacs So you want two graphical IDEs before you are happy?
- lispm 4y agoMost Lisp systems provide a naked version which runs in the terminal without assuming much. Development environments are loaded on top. Thus one would use SBCL typically either with GNU Emacs and the SLIME environment for it. Alternatively there is something like: McCLIM and SBCL. McCLIM provides a similar user interface management system to what Symbolics used. If one uses something like LispWorks or Allegro CL, they have their IDEs integrated and one can typically start them directly into the IDE.
- lispm 4y agoCMUCL was his baby and he was responsible for that. But it addressed UNIX systems. Those usually had not x86 processors at that time and Windows was not very interesting as a platform then. Windows (and Macs) were never a good place for free Lisps for, since the support of those on proprietary platforms was costly (in terms of knowhow, time and money) and there was no vendor support. Users on those platforms usually expect support for the vendor libraries AND full GUI support. Microsoft and Apple always pushed their own development tools&languages (Visual Basic, C, C++ and Pascal, C/C++, Objective-C, Swift). The Lisp systems used on Windows and Mac were mostly commercial, since they had GUI and platform support. MCL on the Mac and on Windows then Golden Common Lisp, Allegro CL, ...
- rjsw 4y agoCMUCL could have been ported to x86 earlier, I was running UNIX on a 386 in 1987 but only had AKCL for it. I was the first beta-tester for CMUCL on FreeBSD in 1996.
- lispm 4y agoports usually don't happen just so. If there wasn't one, I would interpret it such that there was little demand at that time. SBCL later was forked from CMUCL to have a simpler implementation and build system. Recently the port to M1 Macs went smooth. The person(s) doing the port did an excellent job.
- rjsw 4y agoPorting CMUCL to x86 required someone having access to a machine that it already ran on as well as a 386 running UNIX, plus knowing that the CMUCL sources were available and having internet access to get hold of them. I think these were the limiting factors rather than lack of demand.
- dleslie 4y agoSBCL is still broken on Windows.
- bcrosby95 4y agoI transferred from community college to a CSU in the early '00s. Our high school was using Pascal, the community college I went into was using C++, and the CSU I eventually transferred into recently transitioned to Java, and they were using C++ before then. When we used C++, the education version of Visual Studio was about the price of a text book - so not very expensive considering you would use it across many classes. I assume the schools followed industry rather than the other way around. But thinking about it, Java had made its way into at least one CSU, as the primary language, about 3-4 years after its 1.0 release date. That is amazingly fast.
- zabzonk 4y agoagree. this has also been the problem fore smalltalk. before things like scratch and pharo came along, commercial smalltalk licences were eye-wateringly expensive.
- rileyphone 4y agoSimilar forces hampered the adoption of Smalltalk in the 90s as well [0]. Charging per-seat licenses to use programming languages almost never works, introducing friction that counters needed network effects, especially when prospective users can download a perfectly viable (if not much worse) alternative for free. Sure, there are a few systems bitterly hanging on to this business model - Lispworks, Cincom, Mathematica - but it's clear they are surviving in spite of it. 0. https://gbracha.blogspot.com/2020/05/bits-of-history-words-of-advice.html https://gbracha.blogspot.com/2020/05/bits-of-history-words-o...
- lispm 4y agoAgain the same: now there are good free Smalltalk implementations, and their adoption is not great. There are also other factors than price.
- dleslie 4y agoScratch 1.x and 2.x were written in Smalltalk, FWIW. But IMHO the "your whole dev environment is your shipped application" is too unappealing to catch on.
- lispm 4y agoOn the Lisp side this is an extra step and a source of problems. Traditionally the commercial Lisps REQUIRE one to ship an application without the full dev environment. So there is always a delivery step which generates an application or a shared library. Some other Lisp applications require a delivery Lisp compiler, usually to C because of some other limitations: space, memory management or the platform does not allow a full dev Lisp. Example: there is a process control engine written in Lisp, which is used in industrial control applications. This Lisp application is largish and gets compiled to C and runs without garbage collection.
- pjmlp 4y agoAs I wrote in another thread, IBM abandoning Smalltalk for Java was the biggest blow, in a way Smalltalk was IBM's .NET to put in more modern terms, used for their IDEs (Visual Age), OS/2 RAD development and 4GL like language across all their enterprise offerings. Until the day Java came, and they pivoted everything into Java.
- fm2606 4y ago> I miss Turbo C I started college in 1988 and they were offering copies of Turbo C with all the books for $5, but you had to supply the 5 1/4" disks. I only lasted 1 1/2 years in college (that time around) so I didn't get to experience Unix or lisp or anything like that. Well I did take an IBM 370 assembly language class. Had to do the assignments on dumb terminals in the basement of the dorms and pick up the print outs in the basement of the CS building.
- taeric 4y agoI think that is just a facet of his point. It was Sun's corporate backing and muscle that enabled you to get their SDK for free. And this is ignoring the reach out into education markets to get Java as the 101 level course for an absurd number of students.
- deleted 4y ago[deleted]
- skissane 4y ago> It was Sun's corporate backing and muscle that enabled you to get their SDK for free. You could get GCC for free before Java 1.0 was released. My personal introduction to GCC was Walnut Creek's Hobbes OS/2 CD-ROM from 1994, the EMX port. Paid for the CD-ROM, but we could have downloaded it for free if we had Internet access. EMX did DOS too, and DJGPP was also available at the same time (and ended up overtaking EMX under DOS).
- taeric 4y agoRight. Gcc was free. And had wider reach than lisp. Not sure how this is a counter point? You could somewhat freely get some compilers. Sun paid a ton to get Java to people.
- skissane 4y ago> Not sure how this is a counter point? GCC being freely available didn't require massive corporate backing. So lack of massive corporate backing is insufficient as an explanation of Common Lisp's lack of free availability (on then-mainstream platforms) circa 1995. I think the real explanation is, at that point, the Common Lisp community mostly didn't get why it was important. And by the time they got it, it was too late.
- taeric 4y agoGCC being freely available is by far the exception, historically. Such that I don't really get your point. Do we know why/how GCC was able to pull off being free? And, as I said in a sibling thread, my assertion is that it took massive corporate spending for Sun to get inroads with Java. In large because they were competing with GCC.
- hajile 4y agoIf this were the case, then explain StandardML which is vastly superior to Java and it's relatives in every conceivable way outside of a big corporation to push it. Even today, a large company like google would rather spend time with an inferior language like Go than work with SML.
- layer8 4y agoAvailable libraries are another factor. C and C++ can directly call all OS functions. Java very early had an extensive runtime library supporting networking, GUI programming, multithreading, collection classes, localization, date/time, etc.
- twoodfin 4y agoWhat’s the SML equivalent of the JVM?
- dleslie 4y agoWas there an SML implementation available for free on DOS and Windows in the 90s?
- pjmlp 4y agoKind of, Caml Light, Objective Caml's predecessor, was available. That was my introduction to ML universe. It wasn't SML, but close enough.