1 Introduction

 

This chapter covers

  • The need for Julia
  • Investing in Julia
  • Solving development and production problems with Julia

When you step in a new field or discipline which requires coding, it always comes to the decision of choosing the programming language. There may be various reasons to choose a language: suitability to the field, ease of use, learning path, community, or just preference of your colleagues etc. Every language has its pros and cons. Some languages are very easy to learn and code, some are very fast, some are suitable for special purposes. Some people use a language for years and it is just easy for them to continue with that language. 

The same is true for companies and it is much harder for a company to change. It may be challenging to change a programming language that has been used in a company for years. Legacy systems may depend on one specific language. Or maybe people in the company are proficient in one language. In such cases significant investments may be required to switch programming languages.

In the last decade I have changed my language of preference from C++ and Matlab to R and then to Python and finally to Julia. I’ve decided to go with Julia for two reasons: ease of use like Python and speed like C++.

1.1 Two Language Problem

1.2 Julia is Fast

1.2.1 Why does it matter?

1.2.2 Is Julia Really Fast?

1.2.3 The engine behind the speed of Julia

1.3 Package Ecosystem

1.4 Summary