# Intro



```{note}
This version is extremely preliminary and very much work-in-progress. Your comments are more than welcome.
```





The purpose of this notebook is to capture, organize, and categorize a knowledge repository of my `Julia` workflow. 
I wrote it mainly for my students attending my PhD course on quantitative macroeconomics at the University of Mannheim but also for myself to be able to get back to `Julia` after short breaks.

The `Julia` community offers many great resources where readers can start their journey with `Julia` absolutely from scratch, like  [Julia Express](http://bogumilkaminski.pl/files/julia_express.pdf) by Bogumił Kamiński or [Think Julia: How to Think Like a Computer Scientist](https://benlauwens.github.io/ThinkJulia.jl/latest/book.html#_running_julia) by Ben Lauwens and Allen Downey.
In my tutorial, the target audience are people that  have been exposed to solving quantitative models before.
In particular, I try to emphasize the differences between `Julia` and other popular languages used by economists such as `Matlab`, `R`, or `Python`.


I heard many times that you can start coding in `Julia` by writing a `Matlab` code and then replacing normal brackets with square brackets for all arrays (actually that was my first time with `Julia` in 2014 during my PhD studies. To my surprise a barely changed code written for `Matlab` was 40 times faster in `Julia`!). 
While there are some similarities in both languages, there are also some critical differences that at first glance are not visible. 
In the best case scenario, those differences may lead to unexpected code interruptions.
In the worst case, the code will be executed properly but the results will be completely wrong.
This might give rise to many unnecessary frustrations and will make the learning curve steeper than it needs to be.
My intention is to flatten the curve as much as possible.



A great and impressive intro by Jesse Perla, Thomas Sargent, and John Stachurski to `Julia`, which can be found [here](https://julia.quantecon.org/intro.html), shares the goal of my tutorial.
That being said, in my opinion the authors give equal weights to both programming and models themselves.
On the other hand, I try to focus on daily workflow instead and I intentionally do not discuss the models thoroughly. 

## Table of contents

```{tableofcontents}
```
<!--- 
````{margin}
```{note}

_Disclaimer_: 
While writing 1st draft of the book I was planning to entitle it in  a tongue-in-cheek way, _Dating Julia as a macroeconomist_. 
Back then I was not aware of gender neutrality of the `Julia` language explicitly stated in the [community standards](https://julialang.org/community/standards/). 
As a supporter of the gender inclusivity I changed the title but at the same time I kept this information to amplify this message even more.
```
````
--->
