When Pigeons Talk: The Evolution of Programming Education
MIT’s Scratch and Google’s Blockly are two well-known programming platforms designed to teach programming to young novices. They use a visual style of programming whereby blocks are strung together to form software.
While these systems are useful and pedagogically effective, they are not the ideal way to learn object-oriented programming, the most widely used paradigm in the software industry. A Smalltalk veteran named David Buck, CEO of Simberon Inc. in Ottawa, Canada, has a better solution.
Smalltalk is revered as the programming language that popularized object-oriented programming (or OOP) in the 1980s and 1990s. Smalltalk is endowed with four key qualities:
- Simplicity and Elegance. The entire syntax can be summarized completely on a post card! A tutorial is available that can teach you the whole language in under 15 minutes!
- Live Programming. Smalltalk lets you inspect and change the code and data in your program while it’s running! This is great for debugging as it eliminates the traditional edit-compile-test-debug cycle that hampers most developers in other languages.
- System Portability, thanks to the Smalltalk image. This image is conceptually similar to having a programming language such as Java along with an IDE such as Eclipse running in a virtual OS environment such as VirtualBox or VMware. And just like in VirtualBox, a Smalltalk image can be saved or restored with its total execution state preserved. Smalltalk’s image can also be likened to a Docker container.
- Supreme Productivity. Practical experience shows that Smalltalk programming can be several times more productive than any programming language in wide use today. Imagine writing a Smalltalk application in half the time or a third of the time it would take in Python, JavaScript, or Java!
The Smalltalk programming language is entirely based on message-passing between objects. In fact, all of Smalltalk’s logical constructs are implemented as messages, including conditional statements and loops. This is key to Smalltalk’s simplicity and elegance.
David Buck proposes a new system called PigeonTalk. Like Scratch and Blockly, it is based on a visual style of programming. It is highly simplified so that youngsters can have fun playing with PigeonTalk. The pigeon metaphor is used to convey the idea of passing messages (as in carrier pigeons).
Even though it’s highly simplified, it loses none of its flexibility and versatility. Youngsters can build PigeonTalk applications of any complexity they can imagine.
Let’s have David explain his project and his goals for PigeonTalk here.
And here is the Kickstarter for PigeonTalk: https://www.kickstarter.com/projects/pigeontalk/pigeontalk-a-programming-environment-to-explore-computing