Then, from someone or somewhere you become aware of this new language called “Julia.” Why bother? You are already proficient in Python or R and you can do everything that you need. Well, let us contemplate some plausible scenarios.

    Have you ever in Python or R:

    1. Had to debug code and somehow you see yourself reading Fortran or C/C++ source code and having no idea what you are trying to accomplish? In Julia you only read Julia code, no need to learn another language to make your original language fast. This is called the “two-language problem” (see Section 2.3.2). It also covers the use case for when “you had an interesting idea and wanted to contribute to an open source package and gave up because almost everything is not in Python or R but in C/C++ or Fortran”.

    2. Needed to have a better project management, with dependencies and version control tightly controlled, manageable, and replicable? Julia has an amazing project management solution and a great package manager. Unlike traditional package managers, which install and manage a single global set of packages, Julia’s package manager is designed around “environments”: independent sets of packages that can be local to an individual project or shared between projects. Each project maintains its own independent set of package versions.

    If we got your attention by exposing somewhat familiar or plausible situations, you might be interested to learn more about this newcomer called Julia.