I am new in the programming world, I am starting with Julia, any suggestions?
Here are some resources I have pulled together at one point (with some coauthoring help from ChatGPT):
- The Julia documentation is actually really nice to read and accessible (https://docs.julialang.org/)
- Join the Julia community on forums (https://discourse.julialang.org/) and Slack (https://slackinvite.julialang.org/) to ask questions!
- Try solving problems on Exercism.io (Julia on Exercism) to practice and improve your skills. I am a mentor although don’t have as much time anymore – really great place to start
- Take a course on JuliaAcademy (https://juliaacademy.com/) to learn Julia in a structured and interactive environment. Hands-down the absolute best place to begin – the one by Dabbling Doggo is Fantastic
- Check out the MIT Computational Thinking Course (index — Pluto.jl) to learn the fundamentals of programming and computational thinking, including some examples in Julia. – never took it but heard great things about it
In terms of packages that are great, I would recommend the following:
- Revise: This package provides a @revise macro that automatically reloads modified files in the REPL, allowing you to quickly test and iterate on your code without having to restart the REPL. this is what you should always have in your REPL in my opinion
- DataFrames: This package provides a powerful data manipulation and analysis tool for Julia, similar to the pandas library in Python. I love this tool!
- Makie: Powerful plotting library in Julia
Otherwise, that’s what comes to mind right now!
But in summary, I think the key to this all, is to have fun and let your mind run wild with what is possible! Javis.jl which I co-created with @Wikunia exists to show that!
Hope that helps!
Practice, practice, suffer, suffer, … and finally start enjoying.
There is no other way.
I don’t know: I rather enjoyed myself when I started programming, from the start, and that was in Fortran 77 (I did not know any other language at the time, which I think is the only way one can enjoy programming in Fortran). One does not have to suffer coding… And with Julia that can now become the natural state of things.
Also started with f77 (well, there was that Pascal course at the University where we spend all our time waiting that the punch cards got compiled just to stare at meters long list of incomprehensible errors). Can’t say it was fun.
Actually, I first encountered “programming” in school. Fortran IV, running on a mainframe. Decks submitted, and reams of printouts collected the day after. That was unpleasant, but I do not count that as “voluntarily” engaging in coding.
Doggo.jl has an awesome starter’s playlist.
Bigger picture, you really need to find something that you want to make that can be a goal for you. Wanna make a game? Automate a boring task? Make a website? Then start learning what you need for that project.
I highly recommend the book “Think Julia”, available online for free here.
This book is aimed at those new to programming, and it includes a lot of useful exercises.
The other advice I’ll echo is to spend some time reading the official Julia documentation, in particular the sections on Functions, Control Flow, and Types. The latter topic isn’t necessary to start with, but it will help in learning about what make Julia a particularly useful programming language.