I recently took it upon myself to record myself learning Julia for the first time (an edited down version of that can be found here) to demonstrate to others how to learn a new language. It was a really cool experience and I got to satisfy my curiosity about this new contender for the Python throne.
The game plan was:
- Learn Basic Syntax
- Lists, dicts, tuples
- Control flow, functions, structs
- Notebooks and visualization
- Package management
- Reimplement a simulation from my Numba video and compare performance
The first half of this I could meet by going over the "Learn X in Y" page for Julia. The rest came from the official docs which are really nicely put together.
Overall I came away mostly impressed by Julia. There's some rough edges in the tooling still and some syntax and design choices are hard to stomach (1 based indexing guys? Really?) but these are mostly minor. I've gotten a number of very insightful comments on the video too about ways the language allows you to overcome these issues if you wanted to. I was particularly delighted by the package management. It seems to take in the best parts of pip, npm, and cargo and I loved using it.
Overall it's nice to see a modern language that's simple but has a focus on performance. I look forward to seeing where it goes next and if I can ever professionally jump into it.
Have you used Julia? What are your impressions (especially if you're from a Python background)?