Dear Joe and Mini Micro community,
my name is Sebastian Nozzi. I'm a professional software developer. My driving areas of interest are "clean code" (code design / maintainability) and programming languages / environments - in particular for learning / teaching. I do think that programming should be at the reach of anyone; something I see less and less becoming the case nowadays.
I recently discovered first MiniScript and shortly after that Mini Micro and wanted to express my appreciation towards the work of beauty you have done. I think these quotes express the essence of both MiniScript as a language and Mini Micro as a platform:
“Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.”
― Antoine de Saint-Exupéry
“Everything should be made as simple as possible, but no simpler.”
(attributed to Albert Einstein, apparently wrongly so)
I think both MiniScript and Mini Micro succeed in the following:
- providing a language / environment sufficiently "friendly" for beginners to learn programming
- being sufficiently extensible / powerful for programmers to grow with it and
- for advanced programmers not to feel constrained.
I found Mini Script after a long search both for a Scratch successor (something to recommend young programmers / beginners after outgrowing Scratch) and for a distraction-free / simple platform for personal just-for-fun projects for myself.
Curiously, I stumbled upon it by scanning code examples at RosettaCode - in the search for something with the same visual (syntactic) appeal of BASIC but more modern and powerful. As someone who holds Smalltalk very dear to my heart, but does not use it much for practical reasons (often reverting to Python), I really appreciate the simplicity and power of the language.
And as someone growing up in the 80's and 90's, and having made my first experiences with computer programming back then I surely appreciate what Mini Micro as an environment has to offer.
In particular, I like these aspects - which I think make Mini Micro unique:
- It brings back the "distraction free" aspect of computers from the past. Only one program running. Only one editor. A prompt waiting for commands. No bells and whistles. Simplicity, minimalism and focus.
- It makes it very easy to experiment and try things out. I pretty much like that the variables of the program are accessible when it ends and they can be interacted with. It is of course great that the "prompt" is MiniScript itself.
- It allows the user to customize and extend the environment (re-defining things, tinkering with settings and start-up scripts).
- It does not constraint the programmer to one kind of game or application, or in the complexity of a program. It allows the use of modules and because it has no built-in tools it does not suggest certain kinds of programs (like Scratch, Pico8 or TIC-80 - as much as I also appreciate them)
- and I think I could go on but don't want to bore you ... In short: Mini Micro makes (discovery) programming fun again. At least for me.
In short, I think both technologies are a great achievement in their aspirations, design and execution. I think they strike great balances in key areas. And I'm definitely having much fun trying them out!
I hope that some day Mini Micro / MiniScript gain the attention and traction that they deserve.
Thanks for the great work, and see you around ;-)