pic
Personal
Website

Julia As Your First Programming Language:
A Book for Scientists

PhD in Economics

Welcome to the Site!

The website is still work in progress in terms of writing, content, and subjects covered.

The chapters included so far can be found here and a pdf version here. I'll continue adding new content as I go.

If you find any mistakes, typos, or have any suggestions, please open an issue on the book's GitHub page. Your feedback is greatly appreciated!

Why Julia?

Scientific computing demands both an intuitive design and execution speed. Julia is built to deliver both.

  • SIMPLE AND EXPRESSIVE: Julia’s syntax is concise and close to mathematical notation, so you can translate models into readable code that's easy to maintain.

  • INTERACTIVE PROTOTYPING: rapidly build and explore models in real-time, enabling quick iteration and immediate result inspection.

  • HIGH PERFORMANCE: Julia is engineered for speed. It's capable of achieving speeds comparable to C or Fortran, without forcing you to rewrite performance-critical parts in another language. Moreover, it offers seamless support for parallel computing, including native multithreading and GPU acceleration.

  • A UNIFIED COMPUTATIONAL PLATFORM: No need to switch between multiple languages. In Julia, you can preprocess data, perform statistical analysis, generate graphical representations, and implement numerical models. Furthermore, Julia interoperates with other languages and tools, allowing you to leverage the strengths of Python, R, C. Its ecosystem includes mature packages for data analysis, plotting, and computational modeling.

A Quick Overview of the Book

  • AUDIENCE: The book is intended for an audience with little or no background in programming. This doesn't mean that we solely cover basic topics. Rather, it defines the book's approach of starting from elementary concepts, gradually introducing more advanced concepts as we progress.

  • APPROACH: Throughout the book, I've made a conscious effort to distinguish between what's essential and what's ancillary, with the latter clearly labelled as optional. My goal is that you don't become bogged down in particular details, while still having the possibility of exploring topics further if you wish.

  • TOPICS: The book focuses on the foundational concepts of the language, without pursuing an exhaustive examination of all its features. My philosophy is that you can easily incorporate additional features if you grasp the logic of the language.