Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Circa 1990 we seriously considered doing Newton OS in Modula-3 [0], which had all the things…modules, generics, exceptions, GC, etc. But we ended up taking a chance on C++ (in the form of CFront). Modula-3 was very cool, though.

[0] https://www.cs.purdue.edu/homes/hosking/m3/reference/intro.h...



Interesting piece of history, thanks for sharing.

I consider D and C# nowadays the closest languages to Modula-3 in features.

There is still some folks keeping Modula-3 compiler going.

https://github.com/modula3/cm3


I don't think I've ever heard that before -- was there an ARM compiler available? Did DEC have any involvement? Did you do any prototyping?


This was before we switched to ARM. We would have had to make a compiler/runtime for the AT&T Hobbit processor (or get DEC interested in doing it). (Hmm, maybe this was 1989 not 1990.)


Where come Dylan and NewtonScript into play?


Dylan (then known as Ralph) started with the acquisition of Coral Software, a year or two after the big language search. We started building the kernel in C++ then, and later the “Junior” project (i.e., the one that finally shipped) did the whole thing in C++ with NewtonScript on top.

There was also a brief period pre-Junior when I advocated using C++ with Smalltalk on top. Newton did not have a very linear project history. :)


Thanks. Just found this paper: https://dl.acm.org/doi/pdf/10.1145/217838.217844. Very interesting. Why didn't Dylan and Smalltalk make it, i.e. in which respect was NewtonScript better? Was the latter natively compiled or interpreted?


The MessagePad hardware was pretty limited. There was 128kB of RAM, of which NewtonScript got to use about half. But there was 4MB of ROM. So the ability to leave objects in ROM was very important. Most (all?) other languages including Dylan and Smalltalk assume objects all reside in RAM and are mutable. The prototype inheritance system is what made this work, as described in that paper.

NS used a simple bytecode interpreter, except toward the end where we had an AOT native compiler you could apply to individual functions (native functions were much larger than bytecode so you had to be selective).

Later hardware had more RAM (up to 4MB in the MP2000) and we might have been able to try some kind of JIT compilation, if the product had survived longer.


Please accept my thanks to you and the rest of the team --- my Newton MessagePad 110 was one of my most favourite tools--- could you please convince Apple to make an iPhone which supports an Apple Pencil?

It pretty much got me through college, allowing me to balance class schedules and multiple part-time jobs, as well as coordinating a family and tracking my daughter's schedule --- at one point in time I was taking notes in it for Art History (w/ little sketches of each painting/sculpture/building) and faxing them to the secretary for the art department for a learning disabled student --- turned out that that student was then photocopying them for everyone in the dorms to use (this only came out when the professor was asking why everyone's grades were better on average than previous years).

Still kind of sad Apple hasn't made a replacement....


That’s awesome! I’ve heard a lot of Newton user stories but that one is unique. :)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: