Statistics with Julia [pdf]
Julia is everything python could have been, and much more. I&#x27;m stuck with python right now as a lot of people in the data science&#x2F;ML community are, but it&#x27;s becoming increasingly viable to use Julia for &quot;real&quot; work. The Python-Julia interop story is pretty strong as well, which allows you to (somewhat) easily convert pandas&#x2F;pytorch&#x2F;sklearn code into Julia using Python wrappers. Julia has some unconventional things in it but they are all growing on me:<p>1. Indices by default start with 1. This honestly makes a ton of sense and off by one errors are less likely to happen. You have nice symmetry between the length of a collection and the last element, and in general just have to do less &quot;+ 1&quot; or &quot;- 1&quot; things in your code.<p>2. Native syntax for creation of matrices. Nicer and easier to use than ndarray in Python.<p>3. Easy one-line mathematical function definitions: f(x) = 2*x. Also being able to omit the multiplication sign (f(x) = 2x) is super nice and makes things more readable.<p>4. Real and powerful macros ala lisp.<p>5. Optional static typing. Sometimes when doing data science work static typing can get in your way (more so than for other kinds of programs), but it&#x27;s useful to use most of the time.<p>6. A simple and easy to understand polymorphism system. Might not be structured enough for big programs, but more than suitable for Julia&#x27;s niche.<p>Really the only thing I don&#x27;t like about the language is the begin&#x2F;end block syntax, but I&#x27;ve mentioned that before on HN and don&#x27;t need to get into it again.