MMXXII — Year-long Celebrations for Smalltalk

MMXXII — Year-long Celebrations for SmalltalkMMXXII, or 2022, was the 50th anniversary of the Smalltalk programming language. For this, the Smalltalk community conducted several celebratory events throughout the year…In February, we held JRMPC 2022, Th…


This content originally appeared on Level Up Coding - Medium and was authored by Richard Kenneth Eng

MMXXII — Year-long Celebrations for Smalltalk

MMXXII, or 2022, was the 50th anniversary of the Smalltalk programming language. For this, the Smalltalk community conducted several celebratory events throughout the year…

In February, we held JRMPC 2022, The 50th Anniversary Edition.

In June, we held Camp Smalltalk Supreme in Toronto, Canada.

In September, we held the Making Smalltalk event at the Computer History Museum in Mountain View, CA. (Scroll to top of page.)

In November, we held Smalltalks 2022 in Buenos Aires, Argentina, hosted by FAST.

The following videos summarize the events:

These were fabulous celebrations. What other programming language has enjoyed such recognition for their longevity and contributions to the IT industry?

Why Smalltalk?

There are three main reasons for Smalltalk’s longevity:

  1. The extraordinary and unique simplicity and elegance of the syntax. Smalltalk has all of six reserved words. Its complete syntax can be summarized on a post card. One can learn the entirety of the Smalltalk language within 15 minutes, something you cannot do with other similarly lauded languages like Python and Go.
  2. The purity, consistency, and scalability of Smalltalk’s object-oriented model. These admired qualities are why Smalltalk inspired the creation of so many other object-oriented languages such as Objective-C, Ruby, Python, CLOS (Common Lisp Object System), and Java.
  3. The tremendous productivity due to Smalltalk’s “live programming” capability. Live programming in a highly simplified, graphical environment which encourages playfulness is the reason Smalltalkers have written applications in a fraction of the time it would take in today’s most popular languages (Python, Java, C++, C#, JavaScript).

This last point is extremely important because one of the major challenges today’s IT industry faces is the cost in both time and money of producing software. Time and money as in labour costs, and time as in “time to market” (getting a product to market as soon as possible).

How often do enterprises struggle to meet critical deadlines? How much of the funding for startups is burned up in labour costs? I’ve encountered both issues while working for ATI Technologies (now AMD), as well as various startups in the Toronto area.

Capers Jones in 2017 published a study that compared the productivity of various programming languages. Here’s a graphic that shows some of the languages:

Smalltalk is significantly more productive than any of the most popular languages.

Smalltalk’s object-oriented model is the other thing I want to bring to your attention. It is very pure and simple, and it is based on the notion of objects as “software servers” that communicate with each other by passing “messages” over a “software internet.” It is for this reason that Smalltalk is so easily scalable. Here is how Alan Kay thought of it:

“The Internet was done so well that most people think of it as a natural resource like the Pacific Ocean, rather than something that was man-made. When was the last time a technology with a scale like that was so error-free?”
Alan Kay during an interview with Alan Binstock of Dr. Dobb’s Journal

Object-oriented programming in Smalltalk is unlike what you do in C++ or Java which treat objects as static data abstractions. Smalltalk programming is clean and free of extraneous concepts such as friend functions, access modifiers, interfaces, overloading, etc. Live programming adds a whole new dimension, too.

Live programming means that objects are infinitely reflective (all of their runtime properties can be queried), code and data can be mutated on-the-fly, and the edit-compile-test-debug cycle is practically eliminated, thus amplifying your productivity. Objects are essentially living, breathing entities.

A Vote of Confidence

When Stack Overflow offered Smalltalk as a choice in their 2017 poll, it was voted the second Most Loved programming language behind only Rust.

For no apparent reason, Stack Overflow subsequently no longer offered Smalltalk as a choice, a curious omission.

Domain Versatility

Smalltalk is just as versatile as any of the major programming languages. It can be used for web development, data science, machine learning, robotics, Internet of Things, mobile development, enterprise computing, industrial control, virtual reality, and so on. Its ecosystem provides all kinds of tools such as Seaside web framework, PolyMath computational library, TensorFlow bindings, PharoThings platform, and Open Croquet VR platform (a commercialized version of which is the basis for 3DICC).

The French defence contractor, Thales, has used Pharo (an open source Smalltalk) extensively for VR development:

Commercial vs Open Source

Smalltalk is available in both commercial and open source versions. If you need robust commercial support, there are three major commercial Smalltalks: Instantiations’ VAST, GemTalk Systems’ GemStone/S, and Cincom’s VisualWorks. If you prefer open source, Pharo is the best choice but you can also avail yourself of other more specialized Smalltalks like Amber Smalltalk (for the web browser), Squeak (mostly for education), Cuis Smalltalk (for Smalltalk-80 aficionados), Dolphin Smalltalk (specific to Windows), and GNU Smalltalk (for command line lovers).

My personal recommendations: Instantiations’ VAST and Pharo. In my opinion, these are the most actively innovating Smalltalks.

Pharo also has a special version for the web browser called PharoJS and is, I believe, the best option for front-end web development, including mobile development with the Apache Cordova framework.

General Recommendations

The only way to appreciate the power of Smalltalk programming is to use Smalltalk. No amount of literature and videos can substitute for hands-on experience. So I strongly recommend conducting a pilot project using Smalltalk. Take it for a spin and compare the results to other similar projects done in Python or Java.

Just for fun, I played with Smalltalk on a Raspberry Pi to create an IoT application. I also created several web servers for my friends using Seaside and Teapot web frameworks. I suggest that, at the very least, you can use Smalltalk for a hobbyist project or two. Who knows, it just might open your eyes to a whole new world of opportunities.

It’s important to keep in mind that twenty years ago, Python was a relatively insignificant language. But around the early 2010s, people began to play with the language for data science purposes, and they appreciated its user-friendly qualities. As more people gave it a try, the ecosystem grew and Python’s popularity snowballed from there.

Give Smalltalk a try. Lightning can strike twice! You will be rewarded with great ease of use, low cognitive load, and enormous programming productivity.


MMXXII — Year-long Celebrations for Smalltalk was originally published in Level Up Coding on Medium, where people are continuing the conversation by highlighting and responding to this story.


This content originally appeared on Level Up Coding - Medium and was authored by Richard Kenneth Eng


Print Share Comment Cite Upload Translate Updates
APA

Richard Kenneth Eng | Sciencx (2023-01-02T01:27:53+00:00) MMXXII — Year-long Celebrations for Smalltalk. Retrieved from https://www.scien.cx/2023/01/02/mmxxii-year-long-celebrations-for-smalltalk/

MLA
" » MMXXII — Year-long Celebrations for Smalltalk." Richard Kenneth Eng | Sciencx - Monday January 2, 2023, https://www.scien.cx/2023/01/02/mmxxii-year-long-celebrations-for-smalltalk/
HARVARD
Richard Kenneth Eng | Sciencx Monday January 2, 2023 » MMXXII — Year-long Celebrations for Smalltalk., viewed ,<https://www.scien.cx/2023/01/02/mmxxii-year-long-celebrations-for-smalltalk/>
VANCOUVER
Richard Kenneth Eng | Sciencx - » MMXXII — Year-long Celebrations for Smalltalk. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2023/01/02/mmxxii-year-long-celebrations-for-smalltalk/
CHICAGO
" » MMXXII — Year-long Celebrations for Smalltalk." Richard Kenneth Eng | Sciencx - Accessed . https://www.scien.cx/2023/01/02/mmxxii-year-long-celebrations-for-smalltalk/
IEEE
" » MMXXII — Year-long Celebrations for Smalltalk." Richard Kenneth Eng | Sciencx [Online]. Available: https://www.scien.cx/2023/01/02/mmxxii-year-long-celebrations-for-smalltalk/. [Accessed: ]
rf:citation
» MMXXII — Year-long Celebrations for Smalltalk | Richard Kenneth Eng | Sciencx | https://www.scien.cx/2023/01/02/mmxxii-year-long-celebrations-for-smalltalk/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.