Julia is a high-performance platform for applying Functional Programming principles to statistical and scientific problems. Julia already has a large and growing user base, resulting in a diverse range of additional packages. It's a high high-level language, so relatively easy to learn and write (think Python). However, it has a sophisticated JIT compiler which results in execution speeds comparable to C and FORTRAN.
R is still my preferred tool for day to day analytical tasks but I can see that I will be dabbling more and more with Julia in the future.
The code in this repository was written to accompany a series of blog posts, which can be accessed here or directly via the list below. I'll apologise in advance that I have been sloppy in places and sometimes used the incorrect nomenclature. For instances, talking about "methods" when I should have said "functions", or "class" when I should have said "type". I trust that the intent will still be clear.
- Day 1: Installation and Orientation
- Day 2: Development Environments
- Day 3: Variables and Data Types
- Day 4: Functions
- Day 5: Collections
- Day 6: Composite Types
- Day 7: Functional Programming
- Day 8: Iteration, Conditionals and Exceptions
- Day 9: Input/Output
- Day 10: Modules
- Day 11: Metaprogramming
- Day 12: Parallel Processing
- Day 13: Packages
- Day 14: Data
- Day 15: Time Series
- Day 16: Databases
- Day 17: Datasets from R
- Day 18: Plotting
- Day 19: Units
- Day 20: Calculus
- Day 21: Differential Equations
- Day 22: Optimisation
- Day 23: Data Structures
- Day 24: Graphs
- Day 25: Interfacing with Other Languages
- Day 26: Statistics
- Day 27: Distributions
- Day 28: Hypothesis Tests
- Day 29: Distances
- Day 30: Clustering
- Day 31: Regression
- Day 32: Classification
- Day 33: Evolutionary Algorithms
- Day 34: Networking
- Day 35: Mapping
- Day 36: Markdown
- Day 37: Fourier Techniques
- Day 38: Imaging
In the process of putting these notes together, I used the following invaluable references:
- Getting Started with Julia (Ivo Balbaert, Packt);
- Julia by Example;
- Introducing Julia;
- Julia Documentation;
- The Julia Manual;
- Learn Julia (Chris von Csefalvay, Manning).