"Smalltalk for C programmers"

Doug Way dway at mat.net
Fri Feb 11 07:48:15 UTC 2000


On Thu, 10 Feb 2000, Stefan Matthias Aust wrote:

> The secret of success of languages like VisualBasic or Python is that
> people think these languages are easy because everybody tells them this.
> It doesn't matter whether it's true or not.  It's a kind-of
self-fulfilling
> prophecy.  A psychology-thing IMHO.  Do it the same.

I agree.

> I'd suggest a book title like
>
> The Key to Smalltalk
>   A programmer's guide

I actually think "Smalltalk for C Programmers" is a great title, at least
from a marketing perspective.  It's a title that will grab people's
interest, if they're at all interested in Smalltalk, and familiar with C.
Such a title might even arouse curiosity in C programmers who have no
interest in Smalltalk.  (You could even hedge your bets a bit by
mentioning on the back cover that familiarity with C++ or Java would also
suffice, which I think is probably fair to say.)

Yes, C and Smalltalk are far apart as languages, but that doesn't really
matter.  You can start with a few C-like examples to get people
comfortable... E.g. "Hello, world", which I guess would consist of
something like "Transcript show: 'Hello, world'."  This would naturally
lead to a discussion of why this is so different than the C equivalent,
etc.

After the readers get halfway through the book, they may realize that
their C-specific knowledge didn't help quite as much as they thought it
would, but by that point it doesn't matter... Smalltalk isn't that hard to
learn, with the right guide. :-)

(I suppose it would be nice to include Basic and Pascal programmers too,
but then you lose the catchy title. :-)  Besides, there are already dozens
of other books with more general titles such as "On to Smalltalk", "A
Little Smalltalk", etc.  A book with a more specific niche
("Smalltalk for C Programmers") would be really useful.)

> Don't focus on the object-magic of "3+4" being a message send or the
> miracle of conditionals by message dispatch.  Lie to them and call
> ifTrue:ifFalse: a statement.

Agreed!  Although in later chapters you could revisit this and explain
that they really are messages, and why this is powerful.  I agree that
it's a mistake to get hung up on this too early in a beginner's book,
though.

- Doug Way
  EAI/Transom Technologies, Ann Arbor, MI
  http://www.transom.com
  dway at mat.net, @eai.com

(p.s. keep an eye out for my new book, "Self for Fortran Programmers". ;-)
;-) )





More information about the Squeak-dev mailing list