Advice to a student. Should I sacrifice advanced python for julia?

I just want to echo the great wisdom being shared by folks here. For a perspective, I’ll give my experience doing what you did:

I took two courses on Machine Learning in my MS program where we could use whatever languages and tools we wanted so long as the results we got were accurate and correct to what the TAs had as answers. While the teaching materials were in R and Python, I used Julia.

It was certainly a headache to figure out how to reimplement teaching materials into Julia when there were simple import statements that solved problems for me in other languages. I oftentimes took 1.25x’s - 1.5x’s longer than my classmates on problem sets as I had to figure out how to translate the proposed approaches to Julia, what existed in Julia to solve the problems I was asked to address, and verify with classmates my approach even was correct.

With that said, do I feel like I got a better understanding of Julia per se? Perhaps a little, though I wouldn’t take this route if understanding the ecosystem better is all I would get out of it.

Now did I end up understanding the material more thoroughly as having to re-implement things from scratch myself? YES! Because of this painful process, I ended up becoming much more versatile with the material, understanding why popular packages in R and Python made the decisions they did, and what really happened under the hood of these packages (as well as discovering and understanding neat optimizations they did compared to my own). For that reason, I am glad I went through this tougher process; not to learn Julia better, but to learn the material that much better.

So, to offer perspective from someone who did what you did, that was my experience. Could you do the same with Python or R? Absolutely: Julia is not the reason why I delved deeper into the theory. Rather, it was because I had to verify my hand-rolled Julia solutions corroborated the theory.

I would not sacrifice your learning just for an implementation. Rather, I could be convinced to make the trade-off for time to learn the theory much more deeply in your studies – doing it in Julia was what drove me to this approach. But if you are concerned about learning a particular ecosystem for job prospects, yes, I would stick to a Python approach in particular (especially if you are not well-versed in Python world).

Just wanted to share thoughts; hope it helps!

22 Likes