I really like the Julia language. It's designed for scientific computing but looks like a pretty good general purpose language to me. What (if anything) makes it unsuitable for general purpose programming (e.g. web apps)? Lack of libraries is the obvious one but is there something more "unfixable"?
Julia is a high-level, high-performance, dynamic programming language. While it is a general-purpose language and can be used to write any application, many of its features are well suited for numerical analysis and computational science.
Julia has a rich ecosystem of libraries aimed towards scientific computing and a powerful in-built package manager to install and manage their dependencies. Julia is also gaining ground in HPC as it supports both threading and distributed-memory parallelization as well as GPU computing.
Julia allows for dynamic typing: variables don't have types — values have types. Not unlike other high-level languages, these types are determined at runtime. However, it is also possible to assign a type to a variable, just like in static programming.
Julia uses multiple dispatch as a paradigm, making it easy to express many object-oriented and functional programming patterns. The talk on the Unreasonable Effectiveness of Multiple Dispatch explains why it works so well.
There is no reason not to use Julia for general purpose programming. Julia is a counterexample to the premise that technical computing languages (e.g. Matlab, R) cannot also be suitable for general purpose computing.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With