编程(Programming)是编定程序的中文简称,就是让计算机代码解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。为了使计算机能够理解(understand)人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算体系之间交流的过程就是编程。
Julia是一款好用的编程语言,是动态键入的,更像是一款脚本语言,可重现的环境使用户可以跨平台使用预先构建的二进制文件,每次重新创建相同的Julia环境。
Julia编程语言特色
丰富的科学计算生态系统
Julia从头开始设计,非常擅长数值和科学计算。
可以在应用程序中编写的大量科学工具中看到这一点
例如最新的微分方程生态系统(DifferentialEquations.jl),优化工具(JuMP.jl和Optim.jl)
迭代线性求解器( IterativeSolvers.jl),用于傅立叶变换的强大框架(AbstractFFTs.jl)
通用量子模拟框架(Yao.jl)等,可以推动所有模拟。
并行和异构计算
该语言专为并行性而设计,并为每个级别的并行计算提供内置基元:
指令级并行性,多线程和分布式计算。
Celeste.jl项目在NERSC的Cori超级计算机上使用650,000个内核,达到1.5 PetaFLOP / s。
编译器还可以为各种硬件加速(例如GPU和Xeon Phis)生成本机代码。
诸如DistributedArrays.jl和Dagger.jl之类的包为并行提供了更高级别的抽象。
Julia编程语言功能介绍
数据可视化和绘图
数据可视化具有复杂的历史。
绘图软件在功能与简单性,速度与美感以及静态和动态界面之间进行权衡。
有些软件包可以显示,并且永远不会更改,而其他软件包则可以实时更新。
构建,部署或嵌入代码
该应用程序使您可以编写UI,静态编译代码,甚至将其部署在Web服务器上。
它还具有强大的类似于Shell的功能,用于管理其他进程。
它提供类似Lisp的宏和其他元编程功能。
与数据交互
数据生态系统使您可以快速加载多维数据集,并行执行聚合,联接和预处理操作
并以有效格式将其保存到磁盘。
您也可以使用OnlineStats.jl对流数据执行在线计算。
无论您是寻找方便,熟悉的DataFrame,还是使用JuliaDB的新方法,它为您提供了丰富的工具。
Queryverse提供查询,文件IO和可视化功能。
除了处理表格数据之外,JuliaGraphs包还使处理组合数据变得更加容易。
可扩展的机器学习
它提供了用于深度学习(Flux.jl和Knet.jl),机器学习和AI的强大工具。
Julia的数学语法使其成为表达算法的理想方式,就像它们写在论文中一样
构建具有自动微分,GPU加速以及可通过JuliaDB支持TB级数据的可训练模型。
使用编程语言写的程序,由于每条指令都对应计算机一个特定的基本动作,所以程序占用内存少、执行效率高。