What's the easiest stdlib if one wants to learn (and contribute) Julia?

I’ve been programming in Julia since the 0.5 days. However, I find that my understanding of certain language features, multiple dispatch, macros, and package manager is weak. The documentation helps, but I find that writing and reading code is better for me. .

What standard libraries and packages would you recommend for me to 1) get a deep understanding of the language, and 2) will help me write a package involving my work. In particular, I would really like to learn the ins and outs of dataframes and query.jl as well as Vegalite.jl and other plotting libraries.

1 Like

Contributing to packages that want you want to better know is the best way to learn their ins and outs. You might start with a look at https://github.com/JuliaData/DataFrames.jl/issues.
Maybe @nalimilan @bkamins would like to help you focus on good first issues there.

3 Likes

It would be great if you were involved in the development of the data analysis ecosystem. Depending on what you want to focus on there are many things that could be done. The easiest ones (that will require in-depth understanding of the code, but not writing complex stuff) are improvements in the documentation (especially the manual in Introduction · DataFrames.jl is very patchy). If you want to focus on learning macros then GitHub - JuliaData/DataFramesMeta.jl: Metaprogramming tools for DataFrames has seen not enough care recently and it would be great if someone reviewed its code-base to make sure it is in sync with the developments in DataFrames.jl. If you feel you want to try harder things (be warned - this is rather hard) there are some pressing open bugs (e.g. https://github.com/JuliaData/DataFrames.jl/issues/1838). Finally you might just decide to start watching (with “Watch” button) certain repos on Github and get involved in the design discussions (current hot topic is broadcasting and indexing of DataFrames.jl) - this way you can get a feeling what are the things that are currently worked on and maybe get ideas how you want want to contribute.

4 Likes

Maybe it’d be good idea to have a section on discourse where people can advertise small projects that are up for grabs & for which they’re happy to provide some mentorship. I guess this would be the same as having a “good first issue” in a package except it would gather those across packages in one spot where if people have some time they can just pick one based on interest?

5 Likes