Happy Hacktober! 'Tis the season to contribute. If you're excited about contributing to open source, but you're not sure which project you should contribute to, we'll be posting about tips, tricks, and extraordinary projects looking for contributors all month long.
Are you:
- Looking to contribute to an open source project this Hacktober?
- Curious about scientific computing, machine learning, or data science?
- Hoping to learn a new programming language?
- Interested in improving a programming language?
If any of the above sounds like you, I suggest considering contributing to Julia.
What is Julia?
Julia is a general-purpose programming language. Anything that you can do with other common programming languages, such as Python, JavaScript, or Ruby, you can do with Julia. The benefit of using Julia over other programming languages is that it solves the two-language problem. Many popular programming languages either excel in performance or readability. With Julia, users get the best of both worlds. Julia is as fast as C, but it is as easy to read and write as Python.
Projects built with Julia
Although programmers can use Julia for general-purpose programming because it can quickly process large amounts of data without writing overly verbose code, it is most popular in the scientific computing community.
One impactful project written entirely in Julia is Pumas, which develops accelerated pharmaceutical models, including the Moderna and Pfizer COVID-19 vaccine development.
How it's made
Typically, programming languages are written in or based on a previously existing language. Uniquely, Julia is not a wrapper on top of languages like C or C++. Instead, engineers use Julia to write Julia!
How to contribute
If Julia has piqued your interest, take a look at the repository and contributing.md. Currently, the repo has approximately 3.4k open issues, so get started and pick up an issue today!
Reminder: This Hacktoberfest, you can receive swag (or have a tree planted in your name) as a reward for making pull requests to projects participating in Hacktoberfest. Hint: JuliaLang is participating in Hacktoberfest and is welcoming contributions.
But, how will I contribute if I don't know the Julia language?
You can learn and still make a significant impact by contributing to the documentation. The contributing.md contains instructions on how you can contribute to the documentation.
Additionally, there are tons of resources available to learn Julia. Visit https://julialang.org/learning/ for a complete list of educational resources. The resources are categorized by learning style.
- If you're a visual learner, reading the manual might suffice.
- If you're a tactile learner, exercism.io provides 50 hands-on exercises and mentors for free.
- If you're an auditory learner, video tutorials are available on YouTube.
If you want to learn more about Julia, check out our recent Open Source Friday stream featuring Julia's Community Manager Logan Kilpatrick and GitHub's Director of Developer Advocacy, Brian Douglas.