Sip Posted April 22, 2004 Report Share Posted April 22, 2004 April 20, 2004 Smalltalk Creator Wins 'Nobel Prize' of Computing By Jim Wagner One man's work to bring a biological model to the computer world has, 34 years later, led to a 2003 Turing Award by the Association for Computing Machinery (ACM), officials announced Monday. Dr. Alan Kay will receive the "Nobel Prize of Computing" in a ceremony in June, as well as $100,000, for his pioneering work on Smalltalk, the first complete dynamic object-oriented programming (OOP) language. Today, the language is credited as the model for C++ (define) and Java; Kay is considered the first to coin the phrase "object-oriented." Kay said he was happy to receive the award, especially since most of his personal heroes have already made the roster. He also said he's surprised at the lasting power of languages such as Smalltalk in the business world. "Of course, it's an incredible thrill, I'm quite surprised to get it," he told internetnews.com. "It's hard to describe the last 20 years or so in a few sentences, but it's interesting that in spite of the enormous change downward in the kinds of machines that can run on it, dynamic languages like Smalltalk and (List Processor (define)), both of these languages still hung in there." The award is named for Dr. Alan Turing, the British mathematician who is most famously known for the "Turing Machine," an abstract logic exercise published by Turing in the mid-1930s to describe a mechanical device taking information in a systematic way. It turns out the paper anticipated many common computer functions like input, output, coded programs and compilers/interpreters. Smalltalk was Kay's idea of using "cells" of individual objects communicating with one another to solve problems. In 1972, he took his work to Xerox's Palo Alto Research Center (PARC), where he began work using Smalltalk as an educational tool for children. He concluded children learned best when information was presented in graphics and sound, rather than just dry text. He and his team came up with the "Dynabook," the model for a computer much smaller than the mainframes in use at the time and the basis for the Xerox Alto; it included a GUI and three-button mouse. The rest, as they say, is history. Kay pushed for more funding from the Xerox leadership for a "personal computer" and was summarily rejected. In 1979, a little-known entrepreneur named Steve Jobs was touring the PARC facility and saw the "windowing GUI" Kay's team had been working on and immediately used it as the basis of the mouse with Apple Macintosh, which in turn led to the genesis of the Microsoft Windows operating system. This is the second time Kay's work at PARC has been acknowledged by the ACM; in 1987, he and his research team received the ACM Software System Award. Kay was also one of this year's National Academy of Engineering Charles Stark Draper Prize winners, considered the "Nobel Prize of Engineering." Allen Davis, executive director of the Smalltalk Industry Council, congratulated Kay on the Turing Award and told internetnews.com in an email interview that the language developed decades ago continues to influence the software industry today. "The principles found in the Smalltalk language and development environments continue to influence the software industry," he wrote. "Many capabilities found in Smalltalk exceed those found in more recently-developed object-oriented programming languages such as Java. From hobbyists to Fortune 500 companies, Smalltalk continues to be used today for traditional and web-based applications." Smalltalk is considered by many to be an easier language to code because its syntax resembles English and its use of nouns and verbs. According to the authors at Smalltalk.org, it also takes much less code to get the point across in programming -- to the tune of one-third to one-half the code needed in a more popular OOP. Take, for example, the differences in writing code in C++/Java over Smalltalk. In Java or C++, getting a program to execute "Hello" 10 times would look something like this: for (int x = 0; x < 10; x++) { System.out.print ("Hello"); } In Squeak, an implementation of Smalltalk, it would look like so: 10 timesRepeat: [Transcript show: 'Hello '.]. Kay is the second computing pioneer in as many weeks to be recognized for efforts conducted in the 1970s. On Thursday, Sir Tim Berners-Lee took home the Millennium Award and $1 million Euros by a Finnish organization for his work to bring the World Wide Web (WWW) to the masses. Source: here. He gave a talk at UCLA last year which was really cool ... it's not often you get to meet a pioneer in your field of study face to face!!! It'd be like a physics or calculus student attending a lecture by Newton! Of course one of his coolest quotes is: "The best way to predict the future is to invent it." --Alan Kay Quote Link to comment Share on other sites More sharing options...
Sasun Posted April 22, 2004 Report Share Posted April 22, 2004 10 timesRepeat: [Transcript show: 'Hello '.]. Yes, that's what we need Quote Link to comment Share on other sites More sharing options...
Sip Posted April 22, 2004 Author Report Share Posted April 22, 2004 That part is kind of unfair! You could write the same Java code as: for (int x=0; x<10; x++) System.out.print ("Hello"); which is really not that different than: 10 timesRepeat: [Transcript show: 'Hello '.] Quote Link to comment Share on other sites More sharing options...
Sasun Posted April 22, 2004 Report Share Posted April 22, 2004 Well, there must be better examples I guess. Quote Link to comment Share on other sites More sharing options...
Azat Posted April 22, 2004 Report Share Posted April 22, 2004 Where did you learn to program like that? 10 REM Loop and print Hello 10 times 20 Dim i 30 i=0 40 Print "Hello Sasun and Sip" 50 i=i+1 60 if i>=10 GOTO 40 Else GOTO 70 70 End Quote Link to comment Share on other sites More sharing options...
Sasun Posted April 22, 2004 Report Share Posted April 22, 2004 Azat jan, you are doing good (only 20 years back), hang in there bud Quote Link to comment Share on other sites More sharing options...
Azat Posted April 22, 2004 Report Share Posted April 22, 2004 :D is that syntax correct? I was trying to remember, but I could not? Oh man. don't you remember the days of GOTOs and how much fun it was to write real spaghetti code? Ahhhhh, those the days of software development... Quote Link to comment Share on other sites More sharing options...
Sasun Posted April 22, 2004 Report Share Posted April 22, 2004 Is that fortran? I don't remember the syntax. At school we would learn fortran and pascal, write a program and the teacher would check it and we would get marks. We didn't have computers to run the programs and debug. On other instances we did have a computer or two for 40-50 people, and if we were lucky the compters were not broken and there was electricity so we could get in line and actually use them. Quote Link to comment Share on other sites More sharing options...
Sip Posted April 22, 2004 Author Report Share Posted April 22, 2004 That's BASIC... Azat, syntax looks good to me but I'd probably leave the else out of 60. You do have a bug on line 60 My first BASIC coding I did on my C64 in Germany. Then it was GWBASIC on my PC XT and a bit on MAC. When I got my hands on Qbasic with DOS 6.0 and then later QuickBasic 4.5 it was like a WHOLE new world to me! Then I moved on to Turbo Pascal 6.0 (Borland) and eventually Turbo C/C++ (Borland) and that's when I started doing some serious coding. Next step was Visual C++ 6.0 and DJG++ (a port of GNU gcc on x86 for game programming). I never really appreciated any of these until I wrote my own Java compiler once for a class at UCLA. It would compile from a subset of C into java byte-code ... for example I didn't have support for pointers or dynamic memory allocation... but I did do some primitive loop and sub expression elimination optimization. Quote Link to comment Share on other sites More sharing options...
Azat Posted April 23, 2004 Report Share Posted April 23, 2004 60 if i>=10 Then GOTO 40 Else GOTO 70 HAHAHAHAHAHHAHAAH only you would see that. Quote Link to comment Share on other sites More sharing options...
vava Posted April 23, 2004 Report Share Posted April 23, 2004 Where did you learn to program like that? 10 REM Loop and print Hello 10 times 20 Dim i 30 i=0 40 Print "Hello Sasun and Sip" 50 i=i+1 60 if i>=10 GOTO 40 Else GOTO 70 70 End AHAHAHAHAHAHA----AHAHAHAHAHA :D Good 'ol basic. Man, i had some fun on my C-64 I don't think i remember any of the syntax though (not like Sip!) Quote Link to comment Share on other sites More sharing options...
Azat Posted April 23, 2004 Report Share Posted April 23, 2004 ...Man, i had some fun on my C-64 ... hmmmmmm. that is almost the equivalent of saying "My Ford Pinto is a chick magnet" Quote Link to comment Share on other sites More sharing options...
vava Posted April 23, 2004 Report Share Posted April 23, 2004 Yup. That's about right. Quote Link to comment Share on other sites More sharing options...
Twilight Bark Posted April 23, 2004 Report Share Posted April 23, 2004 http://www.heydon.org/kevan/collection/pictures/sinclair-zx81-large.jpg It came with a whopping 1K memory, and a blazing 4.7MHz Z80 processor. Feels like yesterday. Quote Link to comment Share on other sites More sharing options...
Sip Posted April 23, 2004 Author Report Share Posted April 23, 2004 I just looked up the specs for that which made me do some quick math in my head which then further led to my personal astonishment ... 4.7 Mhz -> I have a 3 Ghz CPU -> factor of about 650 increase 1K RAM -> I have 1 GB RAM -> factor of 1 million increase ... but here's the astonishing part: that sinclair has a tape drive interface with a 250 baud speed. I assume that would translate to 250 bits per second max transfer rates. A typical SATA hard drive interface these days could be on the order of 150 Mbytes per second 250 baud -> 150 MBps -> factor of 5 million increase! We keep hearing about how processor speeds double every 18 months. But look at what happened to storage size and speeds!!!!!!!! Quote Link to comment Share on other sites More sharing options...
Harut Posted April 23, 2004 Report Share Posted April 23, 2004 http://www.heydon.org/kevan/collection/pictures/sinclair-zx81-large.jpg It came with a whopping 1K memory, and a blazing 4.7MHz Z80 processor. Feels like yesterday. This was my first personal computer..... i would connect it to our soviet made tv from 70s, which we modified to accept pal systems, and have fun when i was only 10 years old. EDIT: The fun part was that i didn't have the power or tv caples for a whole month, and i'd sit and stare at it and imagine what wonders i could be doing with it. then i modified my atari video game station's power cable to fit it, and made my own hand made tv caple. ahhh, those early 90s, when everyone in armenia was an electricial, even at age of 10. Quote Link to comment Share on other sites More sharing options...
Anileve Posted April 23, 2004 Report Share Posted April 23, 2004 Hmmmmmmmmmm.....interesting.... This is my take on all of this... Quote Link to comment Share on other sites More sharing options...
gevo27 Posted April 23, 2004 Report Share Posted April 23, 2004 (edited) ............... Edited April 23, 2004 by gevo27 Quote Link to comment Share on other sites More sharing options...
Anileve Posted April 23, 2004 Report Share Posted April 23, 2004 Jes, above is an encoded message which must be deciphered. *Hint: use C-- Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.