(a newbie's take on...) Re: Learning Squeak

Hari Balaraman hbalaram at yahoo.com
Sat Jan 19 08:22:03 UTC 2002


I apologise for horning in like this but I have to thank Mr. Bergman 
(was it not only him?-if not, a toast to all the whiners!!!) for 
bringing up the difficulties (challenges?) involved in learning Squeak.

	When I first "met" the squeak environment in 1998, I experienced a 
feeling very similar to what I felt when I first saw a macintosh (1995,) 
i.e. here is an environment that offers me a completely different 
experience (work can look a lot like play.) What strikes me as 
interesting are the parallels between the presentation of say the 
concepts of "opendoc" or "quicktime," and "squeak" i.e. that one senses 
that there is a large potential for expression and this medium could 
have a great future and everyone's dishing out the compliments. (and 
yes, the Devil is in the details but how do I get an appointment with 
his lowness if the secretary isn't around to help me make one?)
	I am quite determined to learn the language for reasons (perhaps 
never to be articulated) that my office mates (former) could not fathom. 
Thus I looked at two smalltalk books after working through John 
Maloney's Bank tutorial (and sat wondering: now what? Yes, my learned 
Jedi Masters, I am looking at 
"http://www.squeak.org/documentation/index.html#tutorials"  - if this is 
coherent...) Until last year (details- hazy, don't shoot) the vast 
majority of books on Smalltalk were not specific to Squeak and so "On To 
Smalltalk" 's file stream stuff trips me up quickly. I now own one of 
the Guzdial books and am excitedly reading it (and still browsing 
through squeak classes to learn of the irrascible method pathName:)
	Now, I'm not smart enough or ambitious enough to want know 
"everything" under the hood of squeak smalltalk (just yet.) And I'm 
definitely not (YET) interested enough in Morphic programming or Alice 
to want to learn about them. I (also known as the darker side of Joe 
Shmoe) just want to be "bit-compatible" across Smalltalk platforms. Thus 
throwing the morphic book at me (or for that matter explaining the 
design of the fantabulistisch compiler/VM implementation) won't do me 
any good. I, not as learned as you, need coherent guidance as to the 
general plumbing (a problem probably fixed with the Guzdial books- 
although I suspect I bought the wrong, more advanced one.)

To recapitulate (with even less brevity):
1. Squeak- a new paradigm in learning but is that to be its only use? 
What of refugees from more opaque tongues? Will they make do with 
greying in-depth baby-food VisualWorks tutorials and resources when 
cousin Squeak is getting transformed in new and exciting ways that they 
cannot find out about? (to give you an example (sob story really), I 
worked at a wireless apps company where they wanted a platform 
independent thick client (UI,sync, very basic out-of-coverage 
capability) implementation which would be able to have downloadable 
updates to the client software from our server. They wanted to do Java 
but deemed ca. May, that it wasn't mature enough on devices. I suggested 
Squeak until they, to the man, laughed me out of the room. They klutzed 
their way through C++ and then AvantGo+C+html. What a klusterf***!! I 
think that many Java programmers would find their raison d'être in 
Squeak, if given the proper tools. Yes, you will say, write the bl***dy 
tutorials yerself- gimme a sec, while I learn this exciting language 
called sm...)

2. Squeak- not enough coherent documentation to help climb out of newbie 
status. Lots of talk of how self-evidently beautiful it is (which is 
probably justified.)Yes, loads of morphic...but only with the Guzdial 
books and the objectland thingy is squeak giving access to plebian 
me-types.


Yours Sincerely,

Hari


P.S: Mr. Parsia, I was pleasantly surprised to learn you write for 
monkeyfist. I am enjoying "service with a squeak" (by the three of you) 
even as I whine about the service.



On Saturday, January 19, 2002, at 01:01  AM, Noel J. Bergman wrote:

> Les,
>
>> A better question is [through] what means did he find
>> out about Smalltalk or Squeak.
>
> I found Squeak when looking for technologies to program my iPAQ ON my 
> iPAQ.
> Since I had played with Smalltalk a long time ago, it looked like a nice
> excuse to get back to it.
>
> As for Smalltalk, the background is boring, but since you asked ... I
> started in the same way as you: the August 1981 issue of Byte.  And, 
> like
> you, I didn't have anything else like it to work with (as opposed to 
> read)
> for years (unless you count Neon, Actor, and Tim Budd's Smalltalk).  I 
> did
> have the chance to work with Smalltalk/V in the latter '80s, then in 
> April
> of 1990, I wrote "Three Faces of Smalltalk" for Computer Language 
> Magazine,
> a review of three Smalltalk implementations.  After that, though, I then
> worked on the OMG CORBA task force, and spent most the time since then 
> with
> distributed objects using things like C++ and Java.  So I hadn't had a
> chance to work again with Smalltalk until I started playing around with 
> the
> iPAQ.
>
> (On the other hand, a friend of mine was one of the original "crash test
> dummies" for Smalltalk.  She doesn't get a chance to do much with it 
> these
> days, but she remembers her experiences with great fondness.  [Alan 
> Kay, if
> you are reading, Daniel's daughter Kimberly says "Hi."])
>
>> A few questions would reveal where these other things are.
>
> Actually, I have about 60 links to various pieces of Squeak and 
> Smalltalk
> documentation all over the web, plus lots of examples, and the home 
> number
> for a *very kind* Squeaker whose generosity I try not to (ab)use.
>
> But that's not really the point, because I wasn't really speaking 
> entirely
> about myself.  I am trying to portray the issues for the majority of
> programmers coming from C++ and Java.
>
> Personally, I really couldn't care less about the "odd syntax" (Odd? I 
> used
> to be an APL programmer), but to the majority of programmers coming from
> C/C++/Java/Pascal, with or without an IDE, Smalltalk is alien.  The 
> syntax
> isn't bad, just different.  The mechanics of working the three button 
> mouse
> assumptions are fine.  But the idioms of working with the environment 
> take
> more time.  And Squeak has its own oddities.  For example, I wanted to 
> know
> how the whileTrue: message worked, so I looked in the source ... I found
> that although the classic implementation exposes recursion, Squeak 
> hides the
> (optimized) implementation.
>
> In any event, I'd like to, and intend to, do more with Squeak.  But more
> importantly, I'd like to see a lot of other programmers be able to
> comfortably adopt Squeak. (I'd also love to see it commonly on PDAs as 
> they
> grow up, but that's a pipe dream).  But most programmers aren't going to
> spend as much time as I have scouring the web looking for basic 
> information.
> And had I seen Mark's book on the shelf, I probably would not have paid 
> much
> attention, since the title implied that it was about Multimedia
> Applications, rather than about the language.
>
> I'm kind of curious to know how Alan Kay and Dan Ingalls and the rest 
> of the
> core folks believe that Smalltalk should be learned.  Because from 
> what I
> have read, I kind of get the sense that their approach to teaching 
> Smalltalk
> is rather different from how I would expect to go about learning a new
> programming environment.
>
> 	--- Noel
>




More information about the Squeak-dev mailing list