Before you go, check out these stories!

Hackernoon logoHow to Evangelize a Programming Language by@richard-kenneth-eng

How to Evangelize a Programming Language

Author profile picture

@richard-kenneth-engRichard Kenneth Eng

Blogger. Smalltalk evangelist. Retired software engineer. Avengers fan.

In today’s IT world, there is a vast array of programming languages fighting for mind share and market share. Of course, there are the mainstays like Python, JavaScript, Java, C#, and C++. But nipping at their heels are many recent entries in the programming language Hunger Games such as Clojure, Crystal, Dart, Elixir, F#, Haxe, Julia, Kotlin, Nim, Pharo, Rust, TypeScript, etc. There are even a few not-so-new languages like Haskell (1990), Lua (1993), OCaml (1996), and Racket (1994). And they all want to grab your attention and convince you that they’re the road to programming bliss.

These languages try to win you over with blogs, videos, podcasts, GitHub repos, seminars, tutorials, and workshops. Their strategy has worked to varying degrees of success but, honestly, most of these languages have not made much headway. Most remain fairly obscure.

I’m a Smalltalk evangelist and Pharo is one of these languages. Pharo is a modern derivative of Smalltalk created in 2008. It, too, has published many blogs, videos, repos, tutorials, etc. Pharo is a magnificent language that offers several huge benefits:

  • Supreme simplicity and elegance — you can learn the entirety of the syntax within 15 minutes! Pharo code is very concise and readable. Thus, the language presents virtually no cognitive load.
  • Object-oriented purity — being a Smalltalk, Pharo is the simplest and purest of all object-oriented languages.
  • As such, it’s the ideal way to learn OOP.
  • Supreme productivity — it is common for a Smalltalk application to be written in a fraction of the time it would take in most other languages, including Python, JavaScript, Java, C#, Ruby, PHP, Scala, Golang, and so on. The credit goes to Smalltalk’s live coding capability and ease of use.
  • Enormous flexibility and versatility — Pharo is used in practically every domain you can think of, including back-end web, front-end web, data science, machine learning, robotics, virtual reality, enterprise business computing, and so on.
  • Scalability and maintainability — based on Alan Kay’s brilliant conception, Smalltalk is renowned for its scalability. Smalltalk is like a software internet.
“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

Alan Kay likened his object-oriented philosphy to how the Internet was built, or how biological organisms consisting of billions of cells are built. Smalltalk is fantastic for truly scalable solutions.

So why is Pharo still relatively obscure? In an attempt to shine a light on this language, I created a high school programming competition with rich prizes. I used this competition as a means to generate PR value.

The contest is called JRMPC, or The James Robertson Memorial Programming Competition, and it just wrapped up this month.

Will this experiment work? Time will tell. But it has the advantage of never been tried.


Join Hacker Noon

Create your free account to unlock your custom reading experience.