Recently, I came across an interesting programming language called Julia. It is a dynamically typed high level language that aims to be “the” language for technical computing. What I have seen so far is quite interesting, such as:
- The ability to specify types: It seems that it is possible to use Julia as a statically typed language. I love static type-checking and I find it extremely useful for discovering problems at compile time. It is great that Julia supports both approaches.
- Functions are first-class citizens, which means that you can pass around functions as parameters and values. This provides great opportunities for abstracting and generalizing structures in a program. I feel quite limited when a language does not have this functionality.
- Easy way of using matrices like in GNU Octave.
- Performance that is comparable to C levels.
- Easy parallelism.
I recommend you to try it – it might become a replacement for your Python & C or Matlab stack in the future.