Hacker News new | ask | show | jobs
by msla 2290 days ago
PHP was evangelized by every website which mentioned it was built in it, including having URLs ending in ".php".

Similarly, C and shell were evangelized by every Unix installation, Javascript was evangelized by every website which used it, BASIC was evangelized by innumerable microcomputers which had a BASIC interpreter instead of an OS... the point is, the best evangelism is to tie the language to something useful. Make the language the way you get at the functionality of that thing. Python and R are both evangelized by tons of pre-written code which you can access most conveniently from those languages, for example.

Smalltalk is the language you use to get the value out of Smalltalk systems. The problem is that, for a lot of people, there's no next step: What do you use the Smalltalk system for? Very few have an answer.

The alternative is to make your language a better way to get value out of an existing system. Python spread in part by doing this to shell and Perl, and Perl spread in part by doing it to shell. Python isn't just a better Unix scripting language, because of its libraries, much like how Perl isn't just a better shell because of its libraries. However, it's one reason Python and Perl spread so effectively. Now, Go is trying to do it to Python and Rust is trying to do it to C++.

So tie your language to something big, or focus on displacing a language already tied to something big.

1 comments

> What do you use the Smalltalk system for? Very few have an answer.

I have...

You use Smalltalk for back-end web development with tools like Seaside (http://seaside.st/ ) and Teapot.

You use Smalltalk for front-end web development with tools like Amber and PharoJS.

You use Smalltalk for data science with tools like PolyMath library, Roassal data visualization (https://youtu.be/R2rLr7Z1b8Y ), and Moose analytics platform (https://moosetechnology.org/ ).

You use Smalltalk for machine learning with Pharo bindings for TensorFlow and Keras.

You use Smalltalk for IoT applications with tools like PharoThings (https://github.com/pharo-iot/PharoThings ).

You use Smalltalk for robotics with tools like PhaROS (http://car.mines-douai.fr/category/pharos/ ).

You use Smalltalk for virtual reality like in this example: https://youtu.be/b4nNtN7XBi8 .

You use Smalltalk for mobile software with tools like Apache Cordova.

You use Smalltalk for desktop software with the Spec library (https://books.pharo.org/spec-tutorial/ ).

Enterprises have been using Smalltalk for decades. It's especially popular in the financial industry. It's also used in manufacturing, utilities, transportation, government, etc.

Lam Research is worth mentioning. This company is a vital link in the global supply chain. The electronic components in your smartphones, PCs, laptops, etc. started out as silicon wafers fabricated by Lam machines controlled by Smalltalk. You owe your digital existence to Smalltalk!

The U.S. joint military even used Smalltalk to write a million-line battle simulator called JWARS. It actually outperformed a similar software called STORM written in C++ by the U.S. Air Force. JWARS was decommissioned in 2010 due to budget cuts.

Did you know that Smalltalk is also used for system scripting just like Python and Perl? With GNU Smalltalk and Pharo (in command line mode), this is common practice.

There are very few programming languages that are as flexible and versatile as Smalltalk.