Hey @ElectronicTeaCup, thanks for the tag.
Unfortunately, I am not a Matlab user and I can’t quite feel the pain that everyone else went through. On the other hand, I am always amazed that many people in this community can write very good code even without any computer science background.
I cannot say whether it works for everyone but I can definitely share how I learned Julia:
- Get on the REPL often and do small experiments
- Learn to use development/productivity tools e.g. VSCode, Revise, etc.
- Build a package and register it. It can be a small thing and that’s ok.
- Write unit tests and enable CI checks e.g. Travis, codecov, etc.
- Read other people’s code e.g. there are some real good ones from Invenia.
- Ask a lot of questions. There are no dumb questions. Sometimes your question leads to very interesting discussions.
- Write a blog post about what I learned.
- Try to help others out in public channels/forums (and be surprised when someone else comes up with a better answer.)
- Have some fun playing online contests e.g. advent of code, CTF’s.
- Try to follow conversations on Slack, Discourse, etc. for topics that I don’t understand or familiar with.
Let me tell you my favorite story. While reading some string manipulation code in Base during my 2nd month of learning Julia, I came across a bug in rstrip
and I reported it here. It led to a constructive motivational reply for making a PR. The thread went on about what the correct fix should be. Eventually, I got excited and submitted a two-line fix. It feels good to contribute to Base If I can do it, you can do it, too.
Hope it helps.
Tom