How learning Smalltalk can improve your skills as a programmer
A few years ago you might have thought that Smalltalk was dead. This programming language lost its former popularity and was about to become obsolete. However, Smalltalk remains pretty much alive and is confidently reinventing itself. Most likely, the IT world will learn to approach it from a new angle and discover new well-deserved perspectives for this language with a crystal clear structure.
Ideal Launchpad for Newbies
In 2020, Smalltalk seems to be a reasonable choice for the subsequent objectives:
- Prototype language for startups
- Enterprise language for companies of any scale and field of activity
- Launchpad for newbies with zero technical background
Numerous demanded languages are based on the same object-oriented paradigm: PHP 5, Swift, Python, Objective-C, Scala, Groovy, etc. If you master Smalltalk, it will serve as a superb foundation for learning other languages. You’ll get rid of cognitive stress and your thoughts will be flowing smoothly. Smalltalk is nearly perfect in its simplicity: it allows you to fully concentrate on the task without dwelling too much on methods, classes, metaclasses, etc. With the help of this unencumbered language that doesn’t have any distracting features, you will efficiently capture the very essence of object-oriented programming. You will hone the programming techniques without wasting time on formalities, which will provide you with a significant competitive advantage over your peers and colleagues.
The Historical Advantages and Achievements of Smalltalk
When this language was still young and innovative, it was valued first and foremost for its following features:
- Its IDE interface was simple, ergonomic, and uncluttered
- The object-oriented structure was outstandingly pure: everything was an object, and the exclusive means of communication between diverse objects were messages
- It featured image-based persistence
- It was domain-specific, so its adherents had to concentrate on a certain domain applying a notation and a language that were organic to that domain
- Programmers could create the code in a live format and fix bugs on the move
Thanks to these perks, Smalltalk managed to make quite a few historic achievements. It served as the foundation for the language virtual machine which meant software didn’t need to depend on the platform anymore. Later on, Java (JVM), .NET, and Android (Dalvik) were developed precisely on this concept. With the help of just-in-time compilation pioneered by Smalltalk, Java and other bytecode software drastically improved their performance. Smalltalk came as a revelation because programmers were able to create the code in live mode, inspect it on the move, debug it, and go on working seamlessly. That was a major breakthrough — and now live debugging largely contributes to the popularity of such solutions as Java with HotSwap or C# with Edit and Continue by Visual Studio. Without Smalltalk, object databases would never come to life. Even though they remain a niche product, there is a steady demand for them — first and foremost, for GemStone/S that helps to build complex distributed systems. It was Smalltalk that introduced the graphical user interface and the “what you see is what you get” interface that we now take for granted. This very language delivered us the first-ever refactoring browser — and now refactoring support is a common feature among modern IDEs. And the list of accomplishments could go further…
Obviously, modern technologies will offer new space and opportunities for Smalltalk implementation. The need for this language might arise in less expected spheres, where it will be able to further unlock its potential. One of its staunchest supporters is Fortegrp: the company that strives to bridge the gap between technology and people. The aim of Forte Group is to help advanced technological concepts become reality as quickly and smoothly as possible, and Smalltalk can be remarkably helpful in solving diverse solutions.
As you see, Smalltalk remains pretty much relevant in 2020. If you want to learn programming from scratch, it will serve you as a smart starting point. If you are looking for a simple and efficient prototype language or an enterprise language for your company, Smalltalk will be fit for both purposes. But most important, after mastering this one, you will be able to effortlessly switch to any other object-oriented language. The unencumbered structure of Smalltalk has already served as the base of numerous meaningful innovations and is quite likely to perform this function for many more novelties ahead.