Pro porovnání, zde je původní smalltalkovská verze metody na obrázku 25:
drawOn: aCanvas
| f alpha |
f := self filteredForm.
visibility < 100 ifTrue: [
visibility > 0 ifTrue: [
alpha := ((255.0 * visibility) / 100.0) truncated.
aCanvas paintImage: f at: bounds origin sourceRect: f boundingBox alpha: alpha].
^ self].
aCanvas paintImage: f at: bounds origin.
U složitějších metod je vizuální zápis Smalltalku už hodně nepřehledný, viz třeba elements.png. Možná, kdyby se trochu zapracovalo na jeho zpřehlednění, ale i tak už jen množství metod, ze kterých je možné vybírat, obrovské a vizuální editace zde je spíše kontraproduktivní.
Je to urcite delsi, zase se mi ale tento pristup libi mnohem vic, nez napriklad vyvojove diagramy, ty jsou roztahane uplne silene (navic se do tvaru jako kosoctverec ta podminka mnohdy ani nevleze).
Me se to vizualni ztvarneni dost libi, akorat bych bral neco podobneho i pro dalsi jazyky, nejenom ST (ale tam to bude o dost slozitejsi kvuli rozkosatele syntaxi vetsiny mainstreamovych jazyku :-).
Už jsem to konečně našel, s tímhle přístupem experimentuje firma Soukup Graphics Preprocesor, dneska http://www.sgpsys.com a to od roku 1993 a mimo školní nebo výukové prostředí se to ukázalo jako naprosto nepraktické a stejně tak dopadne i Scratch.
Problémem je jako vždy omezená nebo nulová možnost tvorby nových krabiček, to se pak programátor stejně musí naučit C/C++/C# a nakonec na C/C++/C# rovnou přejde.
Přínos to ale mít může, může to přitáhnout nové zájemce o programování, protože tohle funguje ihned bez nějakých nutných znalostí.
Ale to bych řekl, že je naprosto normální situace, kdy se programátor přesměruje na jiný (další) programovací jazyk. Jak se s nadsázkou říká, v oblasti programovacích jazyků neexistuje "stříbrná kulka" a C/C++/C# taky pro programátora nemusí být konečná stanice (a s velkou pravděpodobností nebude).
Takže na to, aby se dítě "chytlo" na programování mi připadne Scratch nebo i ten Baltík dost dobrý, do Céčka nebo nedejbille do C++ bych děti netahal, to by taky mohlo být definováno jako mučení :-)))