Skip to content

Instantly share code, notes, and snippets.

@horrido
Last active April 7, 2017 05:02
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save horrido/0c88f91989bd9f1de655bd2312c1ef58 to your computer and use it in GitHub Desktop.
Save horrido/0c88f91989bd9f1de655bd2312c1ef58 to your computer and use it in GitHub Desktop.
What, in your opinion, is the easiest language to code in?

Hands down, Smalltalk is the easiest language to code in. First of all, it virtually has no syntax! The language is very small, simple, and elegant. Smalltalk’s syntax can fit on the back of a postcard. This makes Smalltalk very, very easy to learn.

And because of this, Smalltalk presents extremely low, if not nonexistent, cognitive friction while coding. You don’t have to give the language a second thought; you just focus on the problem at hand. Many people say that coding in Python is Zen-like which is a bit of an exaggeration, but coding in Smalltalk is truly Zen-like!

Smalltalk is also the consummate OOP (object-oriented programming) language. It’s purely object-oriented all the way down. This provides for total consistency in the language, something that you DON’T find in other OOP languages such as Java, Python, Ruby, etc. This makes coding in OOP practically effortless.

In fact, Smalltalk was the very first programming language to popularize OOP because of this. And since its creation four decades ago, it has directly influenced the design of nearly every other OOP language on the planet, including Java, Python, PHP, Ruby, Perl, Objective-C, Scala, Groovy, Dart, CLOS, etc.

(By the way, Smalltalk also has first-class functions and closures, so it’s good for functional programming, too!)

To further enhance Smalltalk’s ease of use, Smalltalk has a live coding and debugging IDE and runtime environment. You have no idea how incredibly empowering this is until you try it. You can make live changes to a running program and immediately see the results. This almost completely eliminates the edit-compile-test-debug cycle that hampers nearly all other programming languages.

Consequently, Smalltalk is one of the most productive programming languages in the world. More than twice as productive as Python and Ruby. More than 3X as productive as JavaScript!

While other languages have tried to incorporate live coding and debugging, Smalltalk’s implementation in unmatched in terms of ease of use by anything else in the modern programming world.

So, do we see evidence of this ease of use? We most certainly do! Smalltalk has been used commercially for over three decades. It’s the “secret competitive weapon” of most corporate users. Users like JPMorgan, Desjardins, UBS, Florida Power & Light, Texas Instruments, Telecom Argentina, Orient Overseas Container Lines, Siemens AG, and so on. And governments such as Communications Security Establishment Canada (CSEC) and Wisconsin Department of Revenue.

I really shouldn’t be telling you all this because the secret will get out. But what the hell…

@aramknight
Copy link

Well, you sold me! I just gotta check out this language. There appears to be several Smalltalk products. Which one do you recommend? And how do I get started? Thanks.

@horrido
Copy link
Author

horrido commented Apr 7, 2017

There are a number of excellent Smalltalk products, one for every need or purpose. Check out this list. In general, if you don't have a particular requirement, I recommend Pharo. It's the most actively maintained Smalltalk which pushes the innovation envelope.

You can get started here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment