paint-brush
How to Evangelize a Programming Languageby@richard-kenneth-eng
18,547 reads
18,547 reads

How to Evangelize a Programming Language

by Richard Kenneth EngMarch 14th, 2020
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

Pharo is a modern derivative of Smalltalk created in 2008. Pharo code is very concise and readable. It is used in practically every domain you can think of, including back-end web, front-end. web, data science, machine learning, virtual reality, machine. learning, robotics, virtual. reality, robotics and enterprise business computing, Pharo has the advantage of never been tried. In an attempt to shine a light on Pharo, I created a high school programming competition with rich prizes. I used this competition as a means to generate PR value.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - How to Evangelize a Programming Language
Richard Kenneth Eng HackerNoon profile picture

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, , 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.