I heard a lot about Julia language over the last year and last week
had a conversation with a colleague, who attended Juliacon and was
quite impressed. We talked about possibly moving some of our fluid
dynamics projects to Julia, so that for a new student who is joining
the project it would be much easier to start without going through
learning c++ and/or fortran.
I am a physicist and most of my day job is some form of scientific
computing. My current default working environment is python
(numpy, scipy, sympy, matplotlib) + fortran (f2py) when some part
of my code needs to speed up. Yesterday I decided to start a a
new, relatively easy project as a simple example for an upcoming
paper. So I thought this might be a good occasion to start
learning Julia language to code a simple dynamical systems toolbox
in it, which might be useful for other people as well.
Basic functionality I need from the language are these:
- Symbolic differentiation (for computation of Jacobians)
- Numerical integration of ODEs (a general purpose integrator, such as
lsoda from odepack, wrapped in scipy.integrate.odeint)
- Linear algebra functions
- Interpolation
- Plotting in 2D and 3D
After reading The Julia Express and parts of the documentation, I
thought that such a project is not a good investment, at least for
now. The reason is all the functionality I listed above are provided
by external packages, partially excluding linear algebra functions.
I'm aware that I can use specific packages for all the functionality
I mentioned above, but each such package is maintained by different
people, and they can change or become obsolete. I can also find some
Fortran/C code, and include in Julia, and have all these
functionality, but then what is the advantage of using Julia, as
opposed to, say, python?
In a more general sense, I am a little bit turned off by the
presence of an external package for almost every task I need to
do. I can understand this kind of structure in python as it is a
general purpose language. But since Julia is a language
specifically for scientific computation, I'd be happy to have
something like the basic functionality of MATLAB in the main
language.
I understand that Julia is under development and there is a lot to
change and to be added, but I am wondering what is the Julia's future
directions regarding these issues? I did some search, but could not
find an answer to this question, so I apologize if this was already
answered elsewhere.
I heard a lot about Julia language over the last year and last week
had a conversation with a colleague, who attended Juliacon and was
quite impressed. We talked about possibly moving some of our fluid
dynamics projects to Julia, so that for a new student who is joining
the project it would be much easier to start without going through
learning c++ and/or fortran.
I am a physicist and most of my day job is some form of scientific
computing. My current default working environment is python
(numpy, scipy, sympy, matplotlib) + fortran (f2py) when some part
of my code needs to speed up. Yesterday I decided to start a a
new, relatively easy project as a simple example for an upcoming
paper. So I thought this might be a good occasion to start
learning Julia language to code a simple dynamical systems toolbox
in it, which might be useful for other people as well.
Basic functionality I need from the language are these:
- Symbolic differentiation (for computation of Jacobians)
- Numerical integration of ODEs (a general purpose integrator, such as
lsoda from odepack, wrapped in scipy.integrate.odeint)
- Linear algebra functions
- Interpolation
- Plotting in 2D and 3D
After reading The Julia Express and parts of the documentation, I
thought that such a project is not a good investment, at least for
now. The reason is all the functionality I listed above are provided
by external packages, partially excluding linear algebra functions.
I'm aware that I can use specific packages for all the functionality
I mentioned above, but each such package is maintained by different
people, and they can change or become obsolete. I can also find some
Fortran/C code, and include in Julia, and have all these
functionality, but then what is the advantage of using Julia, as
opposed to, say, python?
In a more general sense, I am a little bit turned off by the
presence of an external package for almost every task I need to
do. I can understand this kind of structure in python as it is a
general purpose language. But since Julia is a language
specifically for scientific computation, I'd be happy to have
something like the basic functionality of MATLAB in the main
language.
I understand that Julia is under development and there is a lot to
change and to be added, but I am wondering what is the Julia's future
directions regarding these issues? I did some search, but could not
find an answer to this question, so I apologize if this was already