
GNU Smalltalk Koans - brudgers
http://skim.la/gnu_smalltalk_koans/
======
goshx
Very nice.

This reminded me of a tool that my college professor created many years ago
called The World of the Actors [1]. He used in his class to teach Smalltalk
and OOP.

I can't seem to be able to find the source, though.

[1]
[https://pdfs.semanticscholar.org/4fb7/5b3cb8ef7adb36c0871931...](https://pdfs.semanticscholar.org/4fb7/5b3cb8ef7adb36c087193181f464ce9384a5.pdf)

------
lacampbell
The grey text on white is unreadable. Which is a shame as I genuinely wanted
to read it.

~~~
jweir
As a young designer I redesigned a major news site with a lighter gray text on
white.

I looked great to me - perfect and very readable. But I didn't consider the
older eye, or other eyes, which don't let in as much light.

Hopefully the author will learn and adjust. Contrast is good.

~~~
slackingoff2017
Not just eyes, shit computer and phone screens. The worst screens have half
the colors and a quarter the brightness (and relative contrast) of the best.

~~~
s_kilk
Yup.

A lesson for the designers among us: almost no-one is viewing your site on
your 5k iMac screen. Design accordingly

------
acd
Smalltalk is very efficient according to function point analysis that is how
many rows of code you need to produce code.

[http://www.cs.bsu.edu/homepages/dmz/cs697/langtbl.htm](http://www.cs.bsu.edu/homepages/dmz/cs697/langtbl.htm)

~~~
hota_mazi
This study is more than twenty years old. Smalltalk would score very low
compared to today's languages.

Function points are a pretty useless metric anyway.

~~~
coldtea
> _Smalltalk would score very low compared to today 's languages._

Citation needed. Why would it "score very low compared to today's languages"?
At best "today's languages" caught up with some things Smalltalk offered, but
they still don't have the base model so succint and flexible, so it's just
piles of sugar on top of algol.

------
throwaway7645
Nice to see some Smalltalk examples although I'm heavily biased to terminal
languages like Awk, Perl, and Python, I'd rather see something more like Pharo
which I think makes more sense in the ST world. I hear a lot about the joys of
ST, but Id like to see some short coding sessions to get the idea. Most demos
I see are either "let's look at all the goodies like class inspector,
debugger...etc", or "let's look at this example where I can't follow along as
we're like 9 classes deep".

I should probably do the "profStef" tutorial.

~~~
brudgers
One problem GNU Smalltalk addresses for me is "getting started" because it
mostly takes tooling out of the equation. Mostly because my experience was of
normal install a new programming language and integrate it with my current
tools hiccups. But there was not an entire alien landscape filled with many
overlapping windows as with Pharo or Squeak. I can focus on learning the
language and its semantics without orthogonal cognitive loads. I think this
helps me more readily achieve flow.

Part of what made a sustained attempt at learning Smalltalk difficult for me
was that traditional Smalltalk IDE's did not allow me to approach Smalltalk as
just another programming language living in the same Turing tarpit as Awk or
Perl or Python. Smalltalk IDE's make a set of design decisions that embody a
particular philosophy regarding the "best way to use a computer" rather than
"here is another way to use a computer." They are not the best way for _me_ to
use one.

~~~
cdegroot
That is, of course, by design. To me (I have been a professional Smalltalk for
a while), GNU Smalltalk drops the essence of a traditional Smalltalk
environment and while I was "hmm, interesting, maybe if I ever have a use for
it I'll look at it", I never needed it. A Smalltalk IDE is an extremely
powerful fool, and IMHO the most powerful tool we've invented so far. Having
said that - I do think that Pharo and friends maybe should be more friendly to
what I as a developer expect today from my tools: mostly keyboard-driven, no
overlapping windows, etcetera.

~~~
brudgers
I think there are two separate design issues. One is the architecture of the
Smalltalk development environment in terms of displaying information about
classes and objects and lists of related methods and the running system and so
on. That's great and and powerful and entirely orthogonal to the WIMP
interface and the particulars of the screen presentation.

