Julia is a high level, high performance, dynamic language for technical computing.
Julia is fast: It was designed from the beginning for high performance. Julia programs JIT compile to efficient native code for multiple systems and architectures via LLVM.
Julia is general: It uses multiple dispatch as a paradigm, making it easy to express object oriented and functional programming patterns. The standard library provides asynchronous I/O, process control, logging, profiling, a package manager, and more. In addition, there is a rich ecosystem of over 2400 packages and counting across a number of domains.
Julia is easy to use: It has high level syntax and is dynamically typed, providing accessibility for programmers of all backgrounds and experience levels, and making it feel like a scripting language.
Julia is optionally typed: It has an extensive, flexible, and extensible type system, and type declarations can be used to clarify and solidify programs. But type declarations are not required for general use.