http://waltersmith.us/newton/SELF%20and%20the%20Origins%20of...
Io is interesting to me as a sort of alternative universe version of NewtonScript. In this universe, I’m a little smarter, a little more self-confident, and I have a little more time. :) It has a strong opinion on simplicity, like Self or Smalltalk, whereas I compromised on that a bit to try to make the language seem more familiar to programmers of the Apple languages at the time, notably Pascal. It also has 100% more thought given to concurrency!
Apple was one of the originators of Unicode, so it was pretty obvious we would use it. However, we made the same mistake as Windows NT, Java, and JavaScript (and, to be fair, Unicode itself!) in thinking 16 bits would be enough and using UTF-16 to simplify the string API. Unlike the others, Newton OS didn’t survive long enough to hit that problem, though.
To oversimplify, there was the “Senior” Newton project that was the outgrowth of what was going on when I joined in 1988 and would have been Dylan-based, and the “Junior” Newton project that I switched to in 1992 (?) to make a smaller, less capable, but faster-shipping product. Junior hardware was so much smaller that we had to do essentially a whole new architecture, which ended up having NewtonScript as the app language.
Had Senior shopped there would have been a compatibility later (presumably including a Dylan version of NewtonScript), but we didn’t get that far before Senior was eventually discontinued and everyone focused on Junior.
First, thank you for your work, and thank you for sharing this. Definitely an interesting piece of computing history.
What led you to Self as inspiration for NewtonScript?
At what point in the development of NewtonScript was the decision made to use it? What else was considered?
What do you think of Io?
Was Unicode support a tough sell or an obvious must-have? Was it UTF-16?