Julia一开始就是为高性能设计的。 Julia程序被LLVM编译成高效的多平台机器码。
Julia是动态类型语言,感觉上像脚本语言,有很好的交互开发支持。
Julia有丰富的数据类型描述语言,类型声明可以使程序更清晰可靠。
Julia使用多分派范式, 容易表达很多面向对象和函数编程的模式。 标准库提供异步输入/输出,进程控制,日志,性能分析,库管理器,还有更多。
Julia的强项是数值计算。它的语法非常适合数学计算,支持很多数值计算数据类型, 并行计算拿来就可以用。 Julia的多分派机制很自然地支持自定义数字和数组类的数据类型。 datatypes.
Julia库用在一起很自然。比如单元矩阵,货币和颜色数据表列, 等等拿来可用,性能优异。
Julia is designed from the ground up to be very good at numerical and scientific computing. This can be seen in the abundance of scientific tooling written in Julia, such as the state-of-the-art differential equations ecosystem (DiffEq), optimization tools (JuMP and Optim), iterative linear solvers (IterativeSolvers) and many more, that can drive all your simulations.
Julia also offers a number of domain-specific ecosystems, such as in biology (BioJulia), operations research (JuliaOpt), quantum physics (QuantumOptics), nonlinear dynamics (JuliaDynamics), quantitative economics (QuantEcon), astronomy (JuliaAstro) and ecology (EcoJulia). With a set of highly enthused developers and maintainers from various parts of the scientific community, this ecosystem will only continue to get bigger and bigger.The Julia data ecosystem lets you load multidimensional datasets quickly, perform aggregations, joins and preprocessing operations in parallel, and save them to disk in efficient formats. You can also perform online computations on streaming data. Whether you're looking for the convenient and familiar DataFrames, or a new approach with JuliaDB, Julia provides you a rich variety of tools. The Queryverse package acts a meta package through which you can access these tools with Julian APIs. In addition to working with tabular data, the JuliaGraphs packages make it easy to work with combinatorial data.
Julia also integrates with every popular database you've heard of, including MySQL, JDBC, ODBC, HDFS and Hive .
Data visualization has a complicated history. Plotting software makes trade-offs between features and simplicity, speed and beauty, and a static and dynamic interface. Some packages make a display and never change it, while others make updates in real-time.
Plots.jl is a visualization interface and toolset. It sits above other backends, like GR or PyPlot, connecting commands with implementation. If one backend does not support your desired features or make the right trade-offs, you can just switch to another backend with one command. No need to change your code. No need to learn a new syntax. Plots might be the last plotting package you ever learn.