Bye-bye Python. Hello Julia!
Don’t get me wrong. A rock-solid community of computer scientists, data scientists, and AI specialists still backs python’s popularity.
But if you’ve ever been at a dinner table with these people, you also know how much they rant about the weaknesses of Python. From being slow to requiring excessive testing to producing runtime errors despite prior testing — there’s enough to be pissed off about.
This is why more and more programmers are adopting other languages — the top players being Julia, Go, and Rust. Julia is great for mathematical and technical tasks, Go is excellent for modular programs, and Rust is the top choice for systems programming.
The Zen of Python versus the Greed of Julia
When people create a new programming language, they do so because they want to keep the good features of old languages and fix the bad ones.
In this sense, Guido van Rossum created Python in the late 1980s to improve ABC. The latter was too perfect for a programming language — while its rigidity made it easy to teach, it was hard to use in real life.
In contrast, Python is quite pragmatic. You can see this in the Zen of Python, which reflects the intention that the creators have:
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren’t special enough to break the rules.
Although practicality beats purity.
[…]
Python still kept the excellent features of ABC: Readability, simplicity, and beginner-friendliness, for example. But Python is far more robust and adapted to real life than ABC.
In the same sense, the creators of Julia want to keep the good parts of other languages and ditch the bad ones. But Julia is much more ambitious: instead of replacing one language, it wants to beat them all.
This is how Julia’s creators say it:
We are greedy: we want more.
We want a language that’s open source, with a liberal license. We want the speed of C with the dynamism of Ruby. We want a language that’s homoiconic, with true macros like Lisp, but with obvious, familiar mathematical notation like Matlab. We want something as usable for general programming as Python, as easy for statistics as R, as natural for string processing as Perl, as powerful for linear algebra as Matlab, as good at gluing programs together as the shell. Something that is dirt simple to learn, yet keeps the most serious hackers happy. We want it interactive and we want it compiled.
Julia wants to blend all existing upsides, not trade them off for the downsides in other languages. And even though Julia is a young language, it has already achieved many of the goals the creators set.
For the full article, please visit the https://towardsdatascience.com/bye-bye-python-hello-julia-9230bff0df62