6 ms·
Honestly, from the look of it, I'd like earlier versions of Dylan better than the language we ended up with. I never really liked the non-sexpr syntax. But that
by qwertyuiop924 10y ago
Honestly, from the look of it, I'd like earlier versions of Dylan better than the language we ended up with. I never really liked the non-sexpr syntax. But that's just me.
The IDE was really written in CL? Huh. I'd have thought that they would have gone the self-hosting route.
- lispm 10y ago> But that's just me. No, it's not just you. Most Lisper thought that way. But the target weren't Lisp developers, it were C++/Apple Pascal developers. Basically similar purposes which Java was designed for: general 'mainstream' application/OS developers from mobile systems upwards. Management did not think that an s-expression-based syntax would be a success with developers used to use Pascal, C and C++. > The IDE was really written in CL? Huh. I'd have thought that they would have gone the self-hosting route. The new language was emerging and targeting the new hardware platforms. You can think of it that it was similar with the Playstation games from Naughty Dog - for example Crash Bandicoot. The platform for the software was the Game Object Oriented Lisp on Playstation and the development environment were desktop computers running and IDE based on Allegro Common Lisp. The dev environment were Macs. The developers were often Lisper and Apple bought the technology and the people. Even the later product version development environment 'Newton Toolkit' was originally developed in Common Lisp. There were stranger things then. I once saw a version of Microsoft Word for Macintosh on a developer CD, written in Common Lisp. It was a relatively sophisticated User Interface mockup. It looked like the real MS Word for Mac, but lacked much of the functionality. But when you looked at the application file on the bit level, you could see that it was a Macintosh Common Lisp runtime/image. It was written by or for Microsoft. Long ago.
- qwertyuiop924 10y agoI guess that makes sense. Kind of like how Infocom was compiling their software on a VAX, and distributing it to the micros. But it's weird to think about how much Lisp/Smalltalk related stuff came out of Apple in the 80s and 90s. I can't imagine them doing that stuff now.
- lispm 10y agoApple is doing Swift now. Goes into a similar direction: a "better" language than Objective-C / C++ for application development. At that time there were key Lisp (and Smalltalk) people in Apple's management, especially Larry Tesler: https://en.wikipedia.org/wiki/Larry_Tesler https://en.wikipedia.org/wiki/Larry_Tesler He described why they were working on Dylan: http://lispm.de/docs/prefix-dylan/book.annotated/foreword.html http://lispm.de/docs/prefix-dylan/book.annotated/foreword.ht...
- qwertyuiop924 10y agoI should probably look into Swift at some point, but I've never found the time, and I find languages like Rust, Go, Python, Ruby, JS, Haskell, CL, and Scheme far more compelling.
- mikelevins 10y agoThe s-expression version of Dylan was my all-time favorite programming language. I've tried to be interested in the present version of Dylan, but it hasn't worked. The first version of the OS for Newton was written in a language called Ralph (named for Ralph Ellison, the author of Invisible Man). Someone persuaded John Sculley that writing an OS in Lisp was a crazy idea, so he ordered Larry Tesler to redo it in C++. Larry asked a small group of us to see if we could find a role for Ralph on Newton. We probably took that mandate more broadly than Larry intended; we wrote another whole OS (except for the microkernel and the graphics kernel; we reused the the same ones that the C++ effort was using). It was probably the most intense and rewarding 18 months of my programming career. There were some really cool things that happened, and some really tragic ones. Later it was decided that "Ralph" was not a good name for the language, and we chose "Dylan" in a process that yielded a few mildly funny stories. Ralph was basically a subset of Scheme with a few special forms renamed, plus a subset of CLOS, plus a few additional extensions. All built-in Ralph datatypes were CLOS-style classes. The native-code compiler was written in Macintosh Common Lisp. The development environment was an extended version of MCL called "Leibniz". Besides the usual MCL features, it additionally had a parallel set of tools--for example, in addition to the Lisp Listener, there was a Ralph Listener. Common Lisp code was compiled to native code and ran on the Mac's CPU. Ralph code was compiled to native code and ran on the Newton's CPU. At first the Newton motherboard was a big honking PC board jammed into a Nubus slot, so big that I had to leave the top off my Macintosh IIfx when it was installed. Later a ribbon cable connected the Nubus to a prototype Newton tablet-type device. Making Ralph self-hosting on Newton would have been a lot more work, we would have had to live without a host of useful development features for a long time, and it would have required special target hardware with much more storage than Newton was intended to have. Using a cross-compiler written in Common Lisp neatly solved all those problems, plus it also gave us all of MCL's rather nice tools plus whatever extensions we chose to add. Apple did do a bunch of stuff in Lisp around that time. For example, it did GATE, a knowledge-based automated testing system invented by Matt Maclaurin (I worked on that for a while), and SK8, the fabled "HyperCard on Steroids" invented by Ruben Kleiman (I worked on that for a while, too). However, Lisp was never really a mainstream tool at Apple, except in certain groups in ATG (the Advanced Technology Group, which no longer exists). In fact, the only mainstream languages at Apple were, in rough chronological order, 6502 assembler, 68000 assembler, Pascal, C, C++, Objective-C, and now, of course, Swift. All kinds of languages were used here and there, but only the ones on the mainstream list had any great general acceptance.