[squeakland] [Pharo-dev] strategies and tools for a comeback of Smalltalk using Scratch as entrance

Bernhard Höfner bernhard.hoefner at gmx.de
Fri Nov 2 14:38:40 UTC 2018


Hello Stephane and Jecel,
thank your for your welcome. Before I start to explain my thought and ideas I want want to write short about my background.

I work with ST80 since 1990. After a computer kid career since mid 1970th with Basic, Machine language, Assembler, FORTH and Pascal I ended up with Smalltalk 80 and I am always again fascinated about what happens with me and the subject that I am going to implement. ST80 structures the work and in an almost philosophical way it makes me learning more about the subject and its internal structure.
I want to let you know that I am not a Smalltalk specialist. I had some bigger private projects but never worked with it on a professional base or in a team. Since about 10 years I had only flying visits to VisualWorks due to other priorities and have a view to Smalltalk more on "secondary literature“ and so my view is more a view from outside. But ST80 never let me go.

My main occupation did not end in an IT-job but in a „down-home“ business. As an electrical engineer I am working as technical consultant in the renewable energy sector. Thats why I know very good the „real world“. On the other hand I am very interested in childhood and the process of learning (most of my relatives are kindergarden teacher). My experiences in both sectors satisfied me that people love continuity in the tools they are using. Continuity is meant in its mathematical meaning and describes that people doesn't like tools where they have ruptures in their learning curve. This applies especially to software tools. I think that this is the reason, why for example there are EXCELians who like to make everything in MS-EXCEL including writing letters and reports and WORDists, who do the same but everything in MS-WORD.  I am convinced that people like continuous learning curves: small steps in learning result in small steps increasing efficiency or quality of result.

There is another approach: Despite of my finding that ST80 is the most excellent language I witnessed a vanish of the language in the public perception since the 1990th. Yoshiki Ohshima spoke about the „secrete weapon“ phenomenon of Smalltalk (compare similar effect on Lisp, described in this article: http://www.paulgraham.com/avg.html <http://www.paulgraham.com/avg.html> ), but I think this phenomenon leads in a generation of students growing up with not optimal tools because no one shows them ST80 in an enthusiastic way. I like to have whistle-blowers to tell them the secret. The digital world should be based on and maintained with the best tools. I know enough creepy software from my main occupation... 

For a comeback of ST80 I think it is essential to win the youth and hold the students. Otherwise the same happens as in many church parish or in clubs: once they loose one generation, the parish or club life dies.

I write such elaborate because I want to let you understand why I like to see Scratch as the start phase of an software development environment / framework with Smalltalk 80 at its final phase. Friends of mine left Scratch because they missed such a "high end“ and they moved to very other programming languages. Maybe such a complete environment could lead in a tool Alan Kay dreamed about with its Dynabook idea. Scratch would be still an excellent starting point of such an environment. It is widespread in the young programmer scene, not only with LEGO, but also with KOSMOS, the leading producer of experimentation boxes in Germany. The German popular children TV-program „Die Sendung mit der Maus“ started recently a programming course with Scratch 3: https://programmieren.wdrmaus.de <https://programmieren.wdrmaus.de/>.

Microsofts follows also the idea of a continuous language with his excellent looking tool MakeCode, that have links to popular games like MINECRAFT (see: "Chickens! - MakeCode for Minecraft Code Builder“ (https://www.youtube.com/watch?v=bDaOISL9_UE <https://www.youtube.com/watch?v=bDaOISL9_UE>), adaptors to micro controller boards (see: "https://makecode.microbit.org <https://makecode.microbit.org/>“ - access is very low-thereshold: with one click you can start. - no registration or other stuff is needed) and a link from block view to a higher level programming language view ( https://makezine.com/2017/09/20/learn-basics-javascript-makecode/ <https://makezine.com/2017/09/20/learn-basics-javascript-makecode/> - very nice with flying help for blocks including JavaScript code ). Unfortunately it ends up in JavaScript and not in ST80.
I think it would be better to come from block programming languages direct to ST80 - I know several people coming from imperative languages and were not able to adapt to the object oriented approach. The world is object oriented like robots, sensors, actors! Maybe the pure object orientation of ST80 would be the weapon to beat MakeCode.

John Maloney and Yoshiki Ohshima gave me very worthy hints to Scratch based branches that realize most of my wishes:

Microcontroller access: http://microblocks.fun <http://microblocks.fun/>
Sqeak based Ipad-implementation with access to Ipad-Sensors etc: https://en.scratch-wiki.info/wiki/Pyonkee <https://en.scratch-wiki.info/wiki/Pyonkee>
Scratch with connection to ST80: http://www.phratch.com <http://www.phratch.com/>
Scratch branch „GP“, with the idea that it is better teaching experts a useful programming language to have them writing themselves applications they need for their work instead of having software developers learning the experts subjects to write software for the experts: http://gpblocks.org <http://gpblocks.org/>

All that is fascinating and promising but I am afraid about the barrier of this "marketplace of possibilities“ for children to find the optimal track.

My wish would be a cooperation of the creators of these excellent tools to bring the properties together, leading in one transparent programming tool. Maybe with modules which can be loaded and unloaded but with a clear and redundancy free structure and user interface.

There is much more to say, but the email is long enough now.

What do you think about this idea.

Best Regards,
Bernhard



> Am 26.10.2018 um 22:27 schrieb Stephane Ducasse <stepharo.self at gmail.com <mailto:stepharo.self at gmail.com>>:
> 
> Hi Bernhard
> 
> we are interested in that topics. This is why I wrote the botsinc book
> in the past and more recently learning OOP with TDD in Pharo book.
> Now I do not have much resources for the topic.
> Stef
> On Fri, Oct 26, 2018 at 2:16 PM Bernhard Höfner <bernhard.hoefner at gmx.de <mailto:bernhard.hoefner at gmx.de>> wrote:
>> 
>>> Hello Group. I like to discuss about the subject and have also some ideas. But I want to ask first for the proper list within the forum. I heard that there is a discussion ongoing and want to participate.
>>> 
>>> I will send this question to Squeak and Pharo usegroup and to the Phratch-developer. I assume that there is a common discussion about the subject. Hopefully there is no need to open on each platform an individual thread.
>>> 
>>> Regards, Bernhard
>> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakland.org/pipermail/squeakland/attachments/20181102/fe42c716/attachment.html>


More information about the squeakland mailing list