Jump to content

Smalltalk Creator Wins 'nobel Prize' Of Computing


Sip

Recommended Posts

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 :thumbsup:

Link to comment
Share on other sites

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 '.]

Link to comment
Share on other sites

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

Link to comment
Share on other sites

:D :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...

Link to comment
Share on other sites

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.
Link to comment
Share on other sites

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 :P

 

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. :o 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.

Link to comment
Share on other sites

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 :D :lol2:

 

Good 'ol basic. Man, i had some fun on my C-64 :D I don't think i remember any of the syntax though (not like Sip!)

Link to comment
Share on other sites

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!!!!!!!!

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...