4 ms·
Author here! I'm really happy to see people getting into the nostalgia about these weird and wonderful devices. Researching the story was absolutely fascinating
by JeremyReimer 4y ago
Author here! I'm really happy to see people getting into the nostalgia about these weird and wonderful devices. Researching the story was absolutely fascinating, and I loved getting to talk to Steve Capps, who was still excited to talk about the work he did all those years ago.
- markus_zhang 4y agoThanks man. I never owned a Newton but the device looks interesting. I figured Apple learned a lot from it to reach the pads.
- wrs 4y agoGreat article Jeremy! I have some minor quibbles about details but you got all the important stuff right. :) Thanks for such a nice commemoration.
- sanj 4y agoWalter, thanks for NewtonScript! It is still one of my favourite languages. Dual inheritance for the win... _proto/_parent
- hajile 4y agoI think the following is a bit inaccurate. > And NewtonScript influenced the creation of JavaScript, with its prototype-based object model, dynamic variable typing, garbage-collected memory, and fast interpreted design. Today, JavaScript is the most popular programming language in the world. The reasons are understandable though (sorry if there are any slight mistakes as I'm writing from memory here). Brendan Eich was hired to create a Scheme in the browser. Later, the requirements were changed to "make it look like that new Java language". He has said on record that he was familiar with the Self language. JS is often called "Lisp in C's clothing" because under the surface, it is quite similar to Scheme with a prototype object system (Scheme has no object system by default). Apple created a language in the 1990s called Dylan that was also used on the Newton. It started out as something very close to Scheme + CLOS (Common Lisp Object System though it's more properly MOP -- MetaObject Protocol). Lots of programmers hate the lisp lack of syntax for whatever reason, so they changed Dylan to an infix-style language. OpenNewton is still a thing if you're interested. NewtonScript kept much of the Dylan-style syntax, but changed out the complex MOP for the more easy to understand prototypal inheritance. I've never encountered even the hint that Newtonscript was on Eich's radar when he started work on Javascript. There are definitely similarities that become apparent when you look at both language designer's inspirations: Scheme + Self + C/Java = JavaScript Scheme + Self + Dylan = NewtonScript The result is two languages with the same core language ideas from Scheme, the same object system from self, and very different syntax inspirations from C and Dylan. EDIT: Eich says in an interview he never saw NewtonScript before designing JS https://wm-help.net/lib/b/book/2520193410/6 https://wm-help.net/lib/b/book/2520193410/6
- mepian 4y ago>OpenNewton is still a thing if you're interested. Did you mean Open Dylan?
- hajile 4y agoYes. I wonder how I missed that, but then again, I see the stuff that's made it into a PR of mine on occasion and I guess I shouldn't wonder....
- dreamcompiler 4y agoEarly Dylan owed more to Common Lisp than to Scheme, especially in its object system. It removed some of the more complicated CLOS mechanisms (e.g. :before, :after, and :around methods) but it still "felt" a lot like Common Lisp before its syntax was de-parenthesized. The first Dylan compiler was written at Apple Cambridge [Massachusetts] Laboratories in Macintosh Common Lisp (MCL) which was itself an Apple Product. Later, Apple decided they didn't really want Dylan after all so they sold the Cambridge lab, later renamed Digitool. The MCL product lives on today as Clozure Common Lisp (CCL). The transition from MCL to CCL is a dramatic story unto itself. I should probably write down what I remember about it someday.
- hajile 4y agoI played around with Dylan around a decade ago. Maybe my Scheme comparison comes more from it having just one namespace (lisp-1) rather than the more functional aspects of Scheme. MOP is definitely from CL though.
- __d 4y agoI'd love to hear the MCL to CCL story, if you do get around to it.
- wrs 4y agoFor the record, NewtonScript wasn’t inspired by Dylan. I did work on Dylan, but only in the early stages when it had normal Lisp syntax. The syntax inspiration for NewtonScript was Pascal.