Alan,
Teach me to be an English major back in the 60s instead of delving into the computer realm. It took me until the late 70s to get THERE.
APL was always a mystery to me: it's coding into symbols, while conceptually rich, was too high a price of admission for me, perhaps because the same learning disability that makes foreign languages so difficult for me was invoked in the same way.
Thank you for your remarks and insights. I enjoy Squeak and this news group because it always seems to operate where my mind ought to be. Which makes it both rare and beyond price.
Adam
On 8/29/98 at 4:37 PM, alank@wdi.disney.com (Alan Kay) wrote:
This was a dream of the sixties, and the very first working version of Smalltalk (72) manifested this dream. It was set up so that each object could easily implement its own grammar for receiving messages. This allowed many "small languages" to be developed and mixed. The expressivity was very high. Unfortunately, we forgot that languages are also for communication -- for being read, not just for being written -- and what we quickly wound up with was a Tower of Babel -- as least as far as people who were trying to learn from our code were concerned. For Smalltalk-76 we decided that the language should be always be readable, and that the extensibility that was really needed was in expressing meanings.
Adam --
Thanks for the thanks. Actually, we need you and the rest of the list to help think about the following situation and to make an analogy to computer languages: a child learning a natural language starts a progression that can culminate in Shakespeare, Cervantes, Newton and Einstein. The biggest change is in the ideas that the child can deal with, and in the larger rhetorical structures in which they are expressed. From the standpoint of the language itself, it is the vocabulary that most enlarges with the new concepts, but the syntax only grows a little (and none of the old is obsoleted).
We would like to achieve that with Squeak. Lots of this already works, especially for young children (if you unearth the tiling scriptors and viewers you will see what I mean). The next stage, however, is "scripting" in the same niche as Hypertalk -- but which needs to be much better -- and for this, Smalltalk-80 syntax is not as initially friendly as it could be -- though it is closer to readable than it at first appears. We need some ideas for a syntax and a style that bridges from childhood through nonpro-enduser through expert use. Naturally, we have been thinking about this for some time, but one of the many nice things about this list is the diversity of intelligent viewpoints -- and these can be a real help when tough design problems present themselves.
The idea is that anyone should be able to find a starting place with Squeak, and the system should be self revealing enough so that it acts as a kind of curriculum that can take interested users as far as they want to go. Syntax and style are a small but important part of this goal.
BTW, any foreign syntax (e.g. APL or standard musical notation) can be daunting, it generally takes a year or more to become really fluent, and then the notation usually pays off big -- the trick (or question) is how to make progress without despair in the meantime...
Cheers,
Alan
-------
At 12:33 AM -0000 8/30/98, Adam Bridge wrote:
Alan,
Teach me to be an English major back in the 60s instead of delving into the computer realm. It took me until the late 70s to get THERE.
APL was always a mystery to me: it's coding into symbols, while conceptually rich, was too high a price of admission for me, perhaps because the same learning disability that makes foreign languages so difficult for me was invoked in the same way.
Thank you for your remarks and insights. I enjoy Squeak and this news group because it always seems to operate where my mind ought to be. Which makes it both rare and beyond price.
Adam
On 8/29/98 at 4:37 PM, alank@wdi.disney.com (Alan Kay) wrote:
This was a dream of the sixties, and the very first working version of Smalltalk (72) manifested this dream. It was set up so that each object could easily implement its own grammar for receiving messages. This allowed many "small languages" to be developed and mixed. The expressivity was very high. Unfortunately, we forgot that languages are also for communication -- for being read, not just for being written -- and what we quickly wound up with was a Tower of Babel -- as least as far as people who were trying to learn from our code were concerned. For Smalltalk-76 we decided that the language should be always be readable, and that the extensibility that was really needed was in expressing meanings.
On Sat, Aug 29, 1998 at 06:19:00PM -0700, Alan Kay wrote:
Thanks for the thanks. Actually, we need you and the rest of the list to help think about the following situation and to make an analogy to computer languages: a child learning a natural language starts a progression that can culminate in Shakespeare, Cervantes, Newton and Einstein. The biggest change is in the ideas that the child can deal with, and in the larger rhetorical structures in which they are expressed. From the standpoint of the language itself, it is the vocabulary that most enlarges with the new concepts, but the syntax only grows a little (and none of the old is obsoleted).
The Perl Philosophy is somewhat like that...
From the Camel Book ("Programming Perl", by Larry Wall, Tom Christiansen &
Randal L. Schwartz) p.2.
"Languages were first invented by humans, for the benefit of humans. In the annals of computer science, this fact has occasionally forgotten. Since Perl was designed (loosely speaking) by an occasional linguist, it was designed to work smoothly in the same ways that natural language works smoothly. Naturally, there are many aspects to this, since natural language works well at many levels simultaneously. We could enumerate many of these linguistic principles here, but the most important principle of laguage design is simply that easy things should be easy, and hard things should be possible. That may seem obvious, but many computer languages fail at one or the other." -- p. xi
"Most important, you don't have to know everything about Perl before you can write usefull programms. You can learn Perl "small end first". You can programm in Perl Baby-Talk, and we promise not to laugh." --
Another "linguistic principle" of Perl is that a language does not need to be simple (minimalistic) to be easy to learn and use. "The fact is, your brains are built to do Perl programming."
There is a transcript of a talk about this ("2nd State of the Onion") at http://www.perl.com/pace/pub/perldocs/1998/08/show/onion.html
Marcus
squeak-dev@lists.squeakfoundation.org