Clear purposes…
Dart is sort of a JavaScript replacement. Elixir is strong for concurrent programming. Golang is also strong for concurrent programming. Julia is strong for scientific computing. Kotlin is a drop-in Java replacement. Rust is strong for memory safety. TypeScript is JavaScript with benefits.
What is Pharo’s clear purpose?
- Matchless pedagogical tool for object-oriented programming. There is no better way to learn OOP.
- Peerless tool for enhancing programmer productivity, thanks largely to live coding and the closely associated system image. Anecdotally, up to 5X more productive than any of the major languages. Statistically, up to 2X.
- Very strong for web development, thanks to the wonderful and mature Seaside framework, and the amazingly light Teapot micro framework, and the transpiled languages Amber (which was derived from Pharo) and PharoJS.
- Fantastic tool for data science, especially in data visualization.
Here’s a web application I created for The James Robertson Memorial Programming Competition (or JRMPC). It was very easy to do and it took me almost no time at all. I was fantastically productive!