:-(
:-(
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.
0. https://gbracha.blogspot.com/2020/05/bits-of-history-words-o...
Until the day Java came, and they pivoted everything into Java.
But IMHO the "your whole dev environment is your shipped application" is too unappealing to catch on.
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).
That combination was killer for a broke teenager in the 90s.
You could somewhat freely get some compilers. Sun paid a ton to get Java to people.
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.
But it had. Most operating systems were written in C. Lot's of supporting libraries were written in C. Stallman chose to implement a C compiler because of that. There is and was a huge eco-system around C just because it is a low-level language used to implement the basics of many systems.
Lisp was only accidentally used for a few operating systems - the AI programmers needed capable workstations, there were none and thus they developed their own and wrote their OS in a language they knew best. Outside of that community C was (or became) the standard for implementing the low-level and application environments on top. Most Lisp implementations contain a runtime written in C (and assembler). Apple tried to write early OS stuff and applications in PASCAL. C and then Objective-C replaced that.
Really, the problem was that there was no DOS or Windows lisp available for cheap, or free. Even GCC was only available thanks to a small company, Delorie, who made djgpp.
I would have greatly preferred to program in lisp; but on DOS and Windows all I had was C, Pascal, and Basic; thanks to Borland, Delorie and Microsoft. Later I had Java, Python and Perl; again thanks to companies like ActiveState.
The focus on UNIX-only kept these other languages, free or not, from being useful to the broader public.
I don't know when GNU Emacs first became available under DOS. If you look at the GNU Emacs 18.59 source distribution (October 1992), while it doesn't support DOS/Windows, its FAQ mentions a DJGPP-based port to 32-bit machines called Demacs (which wasn't pure GNU Emacs, it was actually based on the Nemacs fork which added improved Japanese language support).
The many limitations of MS-DOS (8.3 file names, no multitasking) meant that it was essentially impossible for GNU Emacs under MS-DOS to work as well as it did on more capable platforms. Windows 3.x/9x/Me laboured under many of the same limitations – 9x/Me didn't have a 32-bit command line environment, all it had was DOS boxes and COMMAND.COM, plus some horrible kludge by which 32-bit console applications would have their I/O routed through a DOS process (CONAGENT.EXE) via a VxD.
While NT-based Windows fixes many of those problems, it doesn't fix all of them – for example, until relatively recently (some Windows 10 build), Windows had no pseudoterminals (except for various flaky unofficial workarounds), which put big limitations on Emacs support for subprocesses compared to other platforms. Now at last it does, but I'm not sure if GNU Emacs has been updated to support them.
IIRC, Stallman's original mission was to write a 'free' operating system (-> GNU Hurd). For that he needed a C compiler, an editor, a Lisp, etc.
Integrating GNU Emacs into proprietary operating systems like Microsoft DOS / Windows or Apple's MacOS wasn't his priority.
There were a bunch of other Lisps on DOS/Windows: Xlisp, MuLisp, CLISP, EcoLisp, RefLisp, LinkLisp, Corman Lisp, Golden Common Lisp, Procyon Common Lisp, Allegro CL, Medley, LispWorks (later), NanoLisp, Software Engineer, Star Sapphire Common Lisp, ...
Maybe they were too late, didn't fit your requirements, etc. But it was not that there was none.
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.
Because RMS is an ideological obsessive for whom software being free was more important than making money. Although he wrote a major Lisp implementation himself (Emacs Lisp), he saw C as the more pragmatic path to making free software widely available than Lisp. Also, as a former employee, MIT gave him a lot of (in-kind) support.
(Actually GCC was not the first free compiler. RMS started out planning to turn LLNL's free compiler for a Pascal derivative, Pastel, into a C compiler. But he abandoned that approach, because the Pastel compiler was a big resource hog by the standards of the time – it was initially developed to run on a supercomputer, it wouldn't work on the Unix workstation RMS was using.)
CMU Common Lisp was free, and CMU's research funding paid for it. But their focus was on Unix workstations, they never saw the value in porting it to x86 (let alone DOS/Windows). By the time the x86 port happened (done by volunteers, not paid for by CMU), Java had already taken off.
In fact, GCC only started to matter to UNIX folks, because Sun introduced the concept of user and developer UNIX workloads, and all UNIX vendors followed along, making the UNIX development tools into an additional package one had to buy.
Thus the race to improve GCC started.
True that Borland/Microsoft was more popular among professional DOS/Windows developers, especially those for whom that was their native platform
> those that could not buy them, would get copies from a street bazar
Teenage me didn’t know of any “street bazaars” selling Microsoft/Borland developer tool warez. But I walked into the local computer shop and saw some modestly priced CD-ROMs, with GCC (among other things), and convinced my Dad to buy them for me.
It was GCC being free, and on DOS thanks to djgpp, that made it successful; and it didn't need corporate megabucks to do it.
Common lisp had nothing like that. Nor did Ada. Or... really, any other language? Microsoft did a pretty heavy push with C# and the general .NET ecosystem. Though, even they had to resort to destroying a lot if the VBScript world that had proliferated quite heavily by just being available on tools that folks otherwise had.
Common Lisp wasn't even available to DOS and Windows users, let alone free or corporately backed. Even now every single free common lisp has substandard or outright broken Windows support.
Common Lisp didn't bother to show up to the party. That's the first problem; it was priced terribly, when it did become usefully available.
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/...
Symbolics was special. Oberon is similar, and comes close.
So you want two graphical IDEs before you are happy?
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.
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, ...
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.
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.
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.
Even today, a large company like google would rather spend time with an inferior language like Go than work with SML.
That was my introduction to ML universe.
It wasn't SML, but close enough.
cc myprog.c
and get stuff done (fast but unsafely)
The Scheme we had at college (which ran on some Sun machines IIRC) just wasn't available in the wild once I left school.