
Computer Programming Using GNU Smalltalk (2009) - brudgers
http://www.canol.info/books/computer_programming_using_gnu_smalltalk/
======
bonzini
Wow, seeing this on hackernews made me shed a year.

I picked up maintenance of GNU Smalltalk when I was 19 and kept it going for
about 11 years. In the meanwhile I wrote thousands and thousands of lines of C
and Smalltalk code, a generational and incremental GC, a debugger, a
documentation generator, a JIT compiler and whatever else. Maintaining GNU
Smalltalk taught me so much about testing, release engineering, C programming,
mentoring and almost everything else I learnt about programming during those
11 years.

~~~
ZuLuuuuuu
My friend told me about this topic, wanted to say hi, nice to see familiar
names again :) Thank you for your work. I kinda wish I released a revised
edition of the book with typos fixed and some parts improved --canol

------
Safety1stClyde
I looked at a number of Smalltalk books yesterday after reading a discussion
here, but all of the ones I read of the following list were terrible books:

[http://stephane.ducasse.free.fr/FreeBooks.html](http://stephane.ducasse.free.fr/FreeBooks.html)

I didn't try all of the books.

I also tried to read the Wikipedia article on Smalltalk. I consider trying to
read a Wikipedia article about anything an act of desperation.

Is this book any better than the ones I found yesterday?

~~~
brudgers
Since it is on the list, it cannot be better.

Probably the best book on Smalltalk is _Smalltalk 80: the language_ (for some
definition of 'best'). It is very readable despite serving as a specification
for Smalltalk 80 version 2. It is a revision of the similarly titled:
_Smalltalk 80: the language and its implementation_ linked on the list.

The text is clear and professionally edited to a level consistent with the
commercial sale of printed books by a reputable technical publisher (Addison
Wesley). Used printed copies are widely available and often inexpensive. With
the caveat that I vastly prefer dead tree books to PDF's, the physical book is
a thing of beauty with the code for the running example printed on the
backface of the front cover and the parser state machines printed on the last
few pages.

On the other hand, what I appreciate about GNU Smalltalk is:

1\. It is text based and while I consider the Smalltalk IDE to be historically
interesting, it is the least interesting part of the language _for me, today._

2\. GNU Smalltalk integrates with Emacs (in Debian it is a separate package
_gnu-smalltalk-el_ ).

3\. I prefer tiling windows to overlapping windows and the keyboard to the
mouse and other Smalltalk implementations follow the WIMP paradigm.

4\. Though in fairness, I am just goofing around with Smalltalk and if I had
production grade concerns, I might have a different attitude.

~~~
kwhitefoot
> 4\. Though in fairness, I am just goofing around with Smalltalk and if I had
> production grade concerns, I might have a different attitude.

I'm curious, is Smalltalk especially good for any particular task? Or
especially easy to use for something?

I'm always on the look out for something better as all the languages I use and
know well seem inadequate or tedious in one way or another and a lot of those
that I don't use seem intimidatingly difficult to get started with (often
because ecosystem in which they live is difficult to handle).

~~~
hota_mazi
It's worth spending a few hours to get an idea of what Smalltalk looks and
feels like, but I wouldn't spend any more time than that on it.

First of all, it's dynamically typed, which is not something we should
seriously be using in the 21st century.

Second, the tool ecosystem surrounding Smalltalk is abysmal and antiquated
compared to modern IDE's.

~~~
coldtea
> _First of all, it 's dynamically typed, which is not something we should
> seriously be using in the 21st century._

Citation needed.

> _Second, the tool ecosystem surrounding Smalltalk is abysmal and antiquated
> compared to modern IDE 's._

Actually modern IDE's are abysmal compared to what Smalltalk offered even back
in 1995.

~~~
hota_mazi
> Citation needed

Math. Look up the Curry Howard isomorphism and why it cannot be leveraged with
dynamically typed languages.

> Actually modern IDE's are abysmal compared to what Smalltalk offered even
> back in 1995

I think you should spend some time with some of these modern IDE's to
understand what true, guaranteed correct refactoring means, something
Smalltalk can never hope to achieve because the language doesn't have type
annotations.

~~~
brudgers
Curious what tools you consider suitable?

~~~
hota_mazi
IDEA, Eclipse, Visual Studio, XCode.

~~~
brudgers
Curious about languages as well -- I think of languages as tools, too.

~~~
hota_mazi
That becomes a little bit more subjective so I won't name specific languages,
but to me, the language being statically typed is a requirement.

------
ttflee
This site would not render until JavaScript was enabled.

EDIT:

It seems that NoScript plugin has stopped Firefox from rendering this page
where no script is embedded/referred. Probably NoScript blocked XSLT in
Firefox.

~~~
userbinator
Interestingly, the page doesn't claim to be HTML or even XHTML --- it's served
with "application/xml" content type, and is pure XML with an XSL that
transforms it into HTML in the browser. I don't see that very often.

~~~
noblethrasher
I also use pure XML/XSLT for one of my production sites. In theory, XSLT is th
nicest templating language I've ever used (even the 1.0 version). But, in
practice, there are too many inconsistencies among browsers (e.g. in-page
JavaScript is difficult because IE’s CDATA handles escaping “<” and “>”
differently than Chrome, Firefox, and Safari).

Sadly, Google is planning to deprecate and remove the feature[1].

[1]
[https://groups.google.com/a/chromium.org/forum/m/#!topic/bli...](https://groups.google.com/a/chromium.org/forum/m/#!topic/blink-
dev/6MOMhQaX3N8)

~~~
brudgers
Because XSLT is Turing Complete, Chromium may be removing it to reduce the
browser's attack surface...at least in part.

------
analognoise
I know it's Windows only, but Dolphin Smalltalk is really much more impressive
than GNU Smalltalk or Pharo.

~~~
hboon
For a long time, Dolphin Smalltalk was a very good Windows development tool,
and probably the best Smalltalk.

Fast and native UI, wonderful refactoring support, builds to exe, great
community.

~~~
analognoise
It is now fully open source and on GitHub, too!

