15 ms·
He certainly implies that he thinks Common Lisp (and maybe Dylan) would have been as popular as Java is today if the lottery had played out differently. I wond
by comfypotato 4y ago
He certainly implies that he thinks Common Lisp (and maybe Dylan) would have been as popular as Java is today if the lottery had played out differently.
I wonder if anyone else feels this way. The programming world would be a different place.
I can’t help but fantasize about how incredible eMacs would be by now if that had been the case. (Not that it isn’t already incredible.)
- kaveh808 4y agoIf Apple had not been in financial trouble... If Dylan had been completed in time for the NewtonOS... If the Newton had taken off... I mused on some some alternate histories for Common Lisp in a blog posting: https://medium.com/@kaveh808/41-world-building-and-alternate-reality-common-lisp-ca9fbc619a8c https://medium.com/@kaveh808/41-world-building-and-alternate...
- lispm 4y agoAlso if the first Newton MessagePad didn't have less than 1 MB RAM. ;-) The first Newton had 640kbyte of RAM and a 20 Mhz ARM Processor. It was the result of bringing down the cost. It wasn't well received, since the handwriting recognition was bad and the machine was underpowered. The 130 model fixed the latter. In later OS versions the handwriting became useful, eventually. I had later the wonderful Newton MessagePad 2100 with 8 MB RAM and a much improved ARM processor - I used Common Lisp on a Mac with that amount of RAM.. The 2000/2100 series would have been a perfect platform for Dylan, it even would be good enough to run a nice garbage collector. When they discontinued the platform, we knew that it would take a lot of time, years!, for Apple to come up with a new similar mobile platform, but it eventually happened with the iPod touch and the iPhone. But those were then programmed in an object-oriented C dialect and the operating system wasn't as cool as the Newton OS.
- mark_l_watson 4y agoI agree. I bought a Newton after having lunch with Larry Tesler (John Kona also dined with us, a fun lunch!). Larry was pitching me on converting my first Common Lisp book to Dylan. I ended up just tossing my Newton in the trash. Sad.
- mark_l_watson 4y agoEDIT: “John Kona” —> “John Koza”
- nerdponx 4y agoI think S-expressions are fundamentally too difficult to work with, without good editor support, to make Lisp anything other than a niche power tool for the highly motivated. I love CL, Scheme, Clojure, Janet, Fennel, etc. but I don't blame anyone for finding them inaccessible. I think Python, JavaScript, and Go have caught on for somewhat similar reasons, compared to Java and C#: they are easier to get started with, and you can still scale them up to fairly large applications. On the other hand, I think S-expressions are a sadly underexplored format for data serialization and storage.
- wrycoder 4y agoBut, you always have good editor support. Lisp/Scheme has traditionally been coded using Emacs or its equivalent. With that support, the parens seem to disappear after you've been writing lisp for awhile. Beginner lispy languages come with a suitable beginner IDE, e.g. Racket or Logo. A typical lisp statement has a leading '(' and a trailing ')', which replaces the ';' in Algol-like languages. So, one additional character, which brings a lot of benefit when writing DSLs and macros. (Python doesn't have the ';', but its whitespace is ambiguous, so that's not a fair comparison.) Sane people don't write lisp using Notepad.
- comfypotato 4y agoI think the parent comment is alluding to the notion that the very entry level programmer enjoys being able to use notepad. That is to say the initial barrier of eMacs is just too much. Obviously worth it in the long run though.
- db48x 4y ago“eMacs” is the wrong capitalization. It’s “Emacs”.
- comfypotato 4y agoM-c would fix that I believe. My autocorrect has been doing that for some reason and I assumed there was logic to it. Your comment sent me on a dive that proved my intuition woefully incorrect.
- ozten 4y agoSun Microsystems poured millions of dollars into marketing Java. During the dotcom bust billboards, posters, magazine ads, and online ads where common. This massively accelerated it's adoption curve and built a valuable trademark which would be part of the reason Oracle paid $7 billion to buy it.
- eternalban 4y agoThis is all true, and it should be noted that at the time of its release in mid 90s, Java was an incredibly fun toy to play with and adoption was enthusiastic, and at least in my case, it was an immediate decision to say goodbye to C++ ("forever" /g) and adopt Java, which also turned out to be a good bet in terms of jobs. Let's also note that to this day I (or any Java professional) can go and earn a living writing Java and not feel like I'm writing COBOL for a mainframe modulo the Spring framework (which I have avoided, to date.) SMI did not merely pour money in marketing Java. A lot of loving care by very competent software engineers, some of the best, went into creating Java and its virtual machine. The sweet spot of this language is phenomenally large, imo as an s/e, and accessible to an equally large subset of the programming community (even if they hate it, they can do it), from IT low end to investment banks and up to academic people doing super cool stuff like adding fibers to Java (Kilim). Same story holds for performance. Only on the GUI front did Java drop the ball. Java is, entirely on its technical merits and utility record to date, one of the most practically effective languages created. Thank you Sun Microsystems.
- pjmlp 4y agoAlso thank you Oracle for buying Sun, when no one else cared about it, for improving Java beyond version 6, bringing MaximeVM out of Sun Labs research into GraalVM research labs, integrating JRockit JIT caching and VM monitoring into OpenJDK, and caring about AOT compilation when Sun left it for commercial 3rd party vendors.
- eternalban 4y agoThis is true. What a surprise that has turned out. A lot of us were boohooing Oracle buying Sun. I ate my hat on that one.
- twblalock 4y agoHonestly it would have turned into something like Java if it had become popular in the industry. OOP and functional programming are really just different ways to encapsulate data and control dispatch. They don't change the fundamental nature of the work. Ultimately what happened to Java was the same thing that would have happened to any other dominant language that the industry uses to build heavy duty enterprise software: stuff like ORM frameworks, data transfer objects, servlet containers, some kind of web integration like JSP, RPC frameworks, SOAP, REST, etc. Would it be easier or better to do that stuff in Lisp? Maybe. But not by a huge amount. The beauty of the language would certainly end up being obscured by the boring, complex, practical work that we would all be doing with it. And most programmers would not be better than they are now -- instead they would force an imperative model on top of whatever substrate they are given, just like they do today.
- headhasthoughts 4y agoReading this, it feels like you have never touched Common Lisp. It's not a functional programming language. It's an object-oriented imperative language.
- ashok-syd 4y agoCommon Lisp is multi-paradigm and can be written to write functional code. It is the direct descendant of LISP which was the first functional language after all. Yes, Scheme and the like are more functional but CL is still far more functional than most other languages. Imperative relates to coding style - I can equally write imperative or recursive code in Java.
- lispm 4y ago> It's an object-oriented imperative language. add functional, add meta-programming. The Common Lisp object-system does not use the more imperative message-sending / virtual method calling. It favors "generic functions of related methods" instead - thus this is kind of an integration of function-centric programming into the traditional view of OOP where methods belong to classes.