Skip to content

Instantly share code, notes, and snippets.

@deebs67
Last active November 23, 2023 19:51
Show Gist options
  • Save deebs67/d4e6b62299fb8fd3e5da32a8af5f7824 to your computer and use it in GitHub Desktop.
Save deebs67/d4e6b62299fb8fd3e5da32a8af5f7824 to your computer and use it in GitHub Desktop.
Julia programming language

The Julia programming language

On this page is provided a curated (and git-clonable) list of links to useful Julia resources. Julia is a programming language/runtime which looks to be combining the best aspects of many other languages such as:

i) Python - e.g. first-class functions and lambda expressions, closures, Jupyter notebooks, open-source, 'pythonic' etc.
ii) Matlab/Octave - e.g. compact vector/matrix notation for Linear Algebra
iii) Lisp - e.g. REPL, code introspection, metaprogramming macros etc., and
iv) C/Fortran - fast, even for tight nested loops

whilst Julia claims to combine these nice features all into one package:
https://julialang.org/blog/2012/02/why-we-created-julia/

Like Matlab/Octave, Julia looks to be particularly promising for numerical computing applications, such as Linear Algebra. Some may be put off by the 1-based indexing - again like Matlab/Octave, but unlike Python which uses 0-based. However, Julia's designers insist that this is a deliberate and logical choice. Another Julia language feature that the designers make a big play of is the use of 'multiple dispatch' for functions, whereby a particular method for the function is chosen based upon the types of the input parameters. All in all, it seems that there's potentially a lot to like here, so Julia is definitely worth a look...

General information and Learning Julia

Main Julia website: https://julialang.org/
Learning Julia: https://julialang.org/learning/
Mastering the Julia REPL: https://blog.glcs.io/julia-repl/
Julia documentation: https://docs.julialang.org/en/v1/
More Julia documentation: http://web.mit.edu/julia_v0.6.2/julia/share/doc/julia/html/en/index.html
Julia cheat sheet: https://juliadocs.github.io/Julia-Cheat-Sheet/
Another Julia cheet sheet: https://cheatsheets.quantecon.org/julia-cheatsheet.html
Matlab-Julia-Python comparison cheat sheet: https://cheatsheets.quantecon.org/
Textbook 'Think Julia: How to Think Like a Computer Scientist': https://benlauwens.github.io/ThinkJulia.jl/latest/book.html
Wikibook 'Introducing Julia': https://en.wikibooks.org/wiki/Introducing_Julia
Julia discussion forum: https://discourse.julialang.org/

Useful videos

How to install Julia and Pluto (~6 mins): https://www.youtube.com/watch?v=OOjKEgbt8AI
Youtube Julia language videos: https://www.youtube.com/c/TheJuliaLanguage/videos
Nick Eubank presentation - 'What Julia offers Academic Researchers' (~46 mins): https://www.youtube.com/watch?v=C4dMYHzW-SY
Pluto interactive Julia notebooks: https://www.youtube.com/watch?v=IAF8DjrQSSk
Using VSCode for Julia development: https://www.youtube.com/watch?v=IdhnP00Y1Ks
MIT Fall2020 lecture course on 'Introduction to Computational Thinking' (using Julia): https://computationalthinking.mit.edu/Fall20/
Julia co-founder MIT Prof. Alan Edelman TEDx talk on rationale for the language's design (~10 mins): https://www.youtube.com/watch?v=qGW0GT1rCvs&feature=emb_logo
Prof. Alan Edelman shows how to dissect floating-point numbers using Julia:
https://www.youtube.com/watch?v=fL8vYG69EhE&feature=emb_logo

Linear Algebra in Julia

Linear Algebra in Julia: https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/
Applied Linear Algebra textbook companion: http://vmls-book.stanford.edu/vmls-julia-companion.pdf

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment