Blogger. Smalltalk evangelist. Retired software engineer. Avengers fan.
Is there a programming language that's good for every user from age 8 to 80? You bet! It's called Smalltalk.
Smalltalk is most versatile over a large age range because of its unique set of qualities. First, it is supremely simple and easy to learn. Smalltalk has all of six reserved words. The complete syntax fits on a post card!
In fact, you can learn Smalltalk syntax in its entirety within 15 minutes! See Learn Smalltalk with ProfStef. (Heed the instruction in line 5, "Select the text below and click on the 'DoIt' button.")
Second, Smalltalk has a built-in IDE that supports live coding. Live coding is a powerful technique that can practically eliminate the traditional edit-compile-test-debug cycle that has hampered developers for over half a century. Like the language itself, the IDE is extremely easy to use (no need to wrangle Visual Studio, Eclipse, or Xcode).
Smalltalk represents a new programming model. The language, IDE, and total system of live objects (known as the image) work together in perfect harmony. It is this synergy that imbues Smalltalk with incredible power.
Third, Smalltalk is the ideal way to learn object-oriented programming. Read The Object-Oriented Schism.
Fourth, Smalltalk has a powerful metaprogramming capability, much like Lisp. Read Lisp, Smalltalk, and the Power of Symmetry.
Fifth, despite being a pure object-oriented language, Smalltalk is also capable of functional programming. Smalltalk's "blocks" are actually lambdas. In fact, the Smalltalk class library contains many recognisable functional constructs.
See how Smalltalk serves everybody...
A child needs a gentle way to learn how to program. Short of using MIT's Scratch, there is no easier language for a child to learn than Smalltalk.
Interesting fact: early versions of Scratch were written in Smalltalk. So Smalltalk seems like a very natural progression from Scratch once the child outgrows it.
This person is looking to gain formal training in programming. One of the most important things to get a handle on is object-oriented programming. However, the languages traditionally used to teach OOP have been disastrous. C++ and Java represent a school of thought that raises more problems than it solves.
Smalltalk is the right way to learn OOP. With Smalltalk, software is highly maintainable and scalable. It's much easier to write.
This person is either looking to enter the programming profession, or is fully engaged as a professional software developer. As a beginner, they are just as well served at 58 as at age 8 or 18.
"Time to market" is cut in half. Development costs are dramatically reduced. The client or employer is happy, so the developer is happy.
Seniors typically exhibit slowing mental processes. Like the 8-year-old child above, they also seek a nice gentle way to learn how to program.
However, once they've learned how to program, they are in no way limited in what software they can write. Smalltalk is not a toy language. It is enormously versatile.
For mobile, use Amber or PharoJS in conjunction with Apache Cordova.
For desktop, use Spec.
For IoT, use PharoThings.
Create your free account to unlock your custom reading experience.