Julia has a lot to offer: it's a very well put together language, has a great interactive prompt, reproducible easy project environments and dependeny management, etc. It really shines when you want to write a lot of custom code yourself - writing that in Julia is relatively easy and can be made very fast.
Python's strength is its history and community. (1/n)
Julia also has a lot of resources by now, but our lord Google hasn't learned to find them as easily as with Python. The community on Discourse and other places is very helpful, but a lot of ppl have to train their instinct from "just google it" to "just post abt it on Discourse/Slack/Zulip" when they encounter a new problem.
tl; dr:
reasons to go Python: lots of pre-existing libraries and resources.
reasons to go Julia: fast and beautiful language, easier to integrate with any other Julia library, easy built-in project environments, etc. (3/n)
@digital_carver thanks, that's great and thoughtful information 🙏
@Ruth_Mottram
As for good places to start, I prefer a hands-on dive-in approach to languages, and for that this appendix from a (free) book is great: algorithmsbook.com/files/appendix-g.pdf
Other than that, the Julia manual (https://docs.julialang.org/en/v1/manual/getting-started/) itself is pretty good, and there's a "Noteworthy differences from MATLAB" section (https://docs.julialang.org/en/v1/manual/noteworthy-differences/#Noteworthy-differences-from-MATLAB) too. Depending on how you prefer to learn, there's YouTube tutorials, books, etc. too. (4/4)
@digital_carver @Ruth_Mottram
I really like Julia, blazingly fast, and easy to learn.
@Ruth_Mottram
If what you need is to assemble pre-existing ideas/libraries together, you're more likely to find those already written in Python. But if you need custom functionality that's not already there, you either have to give up on execution speed, or ease of writing (having to write it in C/C++).
For the same reason (history and large community), there's tons of resources (blog posts, etc.) about doing any specific thing in Python. (2/n)