[Newbies] [semi-OT] (fwd) Re: What Killed Smalltalk?

Conrad Taylor conradwt at gmail.com
Mon Nov 23 07:38:19 UTC 2009


On Sun, Nov 22, 2009 at 5:19 PM, Lawson English <lenglish5 at cox.net> wrote:

> Steve Wessels wrote:
>
>> That's right.  Smalltalk hasn't died.  I am fortunate enough to be part of
>> a team developing financial software for many years using Smalltalk.
>>
>> People have predicted Smalltalk's death about as often as Apple's death.
>>
>> I think comparisons between Smalltalk and Java have to take marketing into
>> account.
>>
>> Paying Smalltalk work is harder to find.  Here's an interesting twist.
>>  Companies looking for skilled Object Oriented developers, if they
>> understand what they need, will seek programmers with Smalltalk experience.
>>
>>
>>
>
> Speaking as a long-term script kiddie who likes to collect languages, I can
> tell you that the main reason(s) why *I* find Smalltalk difficult to use
> involve(s): lack of documentation, lack of well-documented example code,
> lack of compsci teaching materials written with Smalltalk for the example
> code, etc. Notice a trend?
>
>
When I first encountered Smalltalk, it was through the course material for
CS 497 and Ralph Johnson was the instructor.  It was an intermediate
undergraduate and graduate course on object oriented programming (OOP).
 Thus, it wasn't a course for the entry level computer science student but
it should have been because I learned more in this course than any of my
other computer science courses.  The course used the following textbooks:

Design Patterns by Ralph Johnson et al
Smalltalk Best Practice Patterns by Kent Beck
Design Patterns:  The Smalltalk Companion by Alpert et al (optional but well
worth it)

At this time, Ralph Johnson makes the course notes available online as well
as videos of some of the lectures.  One of the most important things that
learned from this course was about be resourceful.  Next, I prefer using
VisualWorks Smalltalk and they have
some of the best documentation that you'll find and this includes many
screencasts created by James Robertson.


> Smalltalk may have been designed to be easy to learn and use, but it has
> never been adopted by the pedagogical community  of teachers and how-to
> book-writers, so naturally new programmers (from whom experienced
> programmers grow) are never attracted to it.
>
>
I agree with you 100% that they are not enough how-to books out there.  It
would be nice to see the following O'Reilly titles on the books shelves:

Learning Smalltalk
Smalltalk Cookbook
The Smalltalk Programming Language

I feel that these three titles would set the tone for other books to
following.


> The main issue is lack of ways for new programmers (experienced in other
> languages or otherwise) to learn not just the syntax of the language, but
> how to DO stuff with it.
>
> E.G.: I can't grab the Unix Programming or Unix Network Programming books
> by Stevens and work through Smalltalk equivalents of the example code.
> There's no Data Structures in Smalltalk books, nor Algorithm Analysis in
> Smalltalk books, nor build your own virtual world from scratch using
> Smalltalk and OpenGL, or Game AI in Smalltalk, or... There IS a Numerical
> Methods book in Smalltalk, but that's hardly beginner/intermediate level,
> IMHO.
>
>
I would have to disagree with the above statement because Smalltalk has
excellent support for data structures by using their various collection
classes.  For example,

Set
Bag
Array
Interval
OrderedCollection
SortedCollection
LinkedList
Dictionary

If the above doesn't fit your needs, then you can get yourself a copy of
"Introduction to Computer Algorithms"  by Cormen at al, one of the best
books that you'll find on the subject, and implement the data structures you
need by converting the psuedo code to Smalltalk following the collection
semantics of the Smalltalk collections.  Next, if you need to do stuff with
OpenGL, there's a reference for it and many Smalltalk environment support a
Smalltalk binding for it.  OpenGL is OpenGL no matter which language you
choose to use but it will have a different looking language API for
interacting with it.  Thus, you'll need to familiarize yourself with the
environments API.  In school, I also spent much time in the VR lab and most
of the libraries were C/C++ based but it should be a straight forward
process to create a Smalltalk language binding for it as well.  In short,
you can leverage the existing
de facto libraries out there in C based languages and access them from
Smalltalk API.


> You get the idea. All the reference material for Smalltalk is geared for
> complete beginners, or for people who are exceedingly experienced. No middle
> ground.
>

The one quality about being resourceful is being able to ask questions.
 Thus, if you have a question about something that pertains to Smalltalk,
please feel free to post to the mailing list.


> And some of the most interesting (sounding) aspects of Smalltalk, such as
> the Teatime architecture, are hardly covered in ways that relative newcomers
> can understand (speaking as a relative newcomer with a 2 year AAS degree and
> a couple decades intermittent experience programming).
>

Smalltalk (e.g. Squeak) may not be fast enough to be used in high-end
> production implementations, but surely it could be the language-of-choice
> for learning new aspects of compsci and programming. After all, many of
> these "new aspects" of compsci and programming were originally
> developed/matured using Smalltalk. Why should people have to go to a less
> versatile language in order to actually learn to use the results of
> Smalltalk-based research?
>
>
>
Smalltalk is a general purpose object oriented programming language that
began its existence in the research lab.  However, it's fast enough to be
used in high-production system deployments.  I'll let you look up the high
profile companies that are using Smalltalk.  The important point here is to
not feel that you need to write everything in pure Smalltalk but instead
leverage other technologies to reach your architectural goals.

Just my 2 cents,

-Conrad


>
> Lawson
>
> _______________________________________________
> Beginners mailing list
> Beginners at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/beginners/attachments/20091122/ecf735cc/attachment-0001.htm


More information about the Beginners mailing list