Julia is a new programming language compared to other existing popular programming languages.
Julia was presented publicly to the world and became open source in February of 2012. It all started in 2009, when three developers—Viral Shah, Stefan Karpinski, and Jeff Bezanson at the Massachusetts Institute of Technology (MIT), under the developers supervision of Professor Alan Edelman in the Applied Computing group—started working on a project.
All of the principal developers are still actively involved with the JuliaLang. They are committed not just to the core language but to the different libraries that have evolved in its ecosystem. Julia is based on solid principles, which we will learn throughout the book.
Julia is really good at scientific computing but is not restricted to just that, as it can also be used for web and general purpose programming.
Julia is a modern, expressive, high-performance programming language designed for scientific computation and data manipulation.
Originally developed by a group of computer scientists and mathematicians at MIT led by Alan Edelman, Julia combines three key features for highly intensive computing tasks as perhaps no other contemporary programming language does: it is fast, easy to learn and use, and open source.
Among its competitors, C/C++ is extremely fast and the open-source compilers available for it are excellent, but it is hard to learn, in particular for those with little programming experience, and cumbersome to use, for example when prototyping new code.
Python and R are open source and easy to learn and use, but their numerical performance can be disappointing.
Matlab is relatively fast (although less than Julia) and it is easy to learn and use, but it is rather costly to purchase and its age is starting to show.
Julia's development team aims to create a remarkable and previously unseen combination of power and efficiency in one single language without compromising ease of use.
Finally, a vibrant community of Julia users is contributing a large number of packages (a package adds additional functionality to the base language; as of April 6, 2019, there are 1774 registered packages).
While Julia’s ecosystem is not as mature as C++, Python or R’s, the growth rate of the penetration of the language is increasing.