前言:
现在朋友们对“算法用什么编程语言”大体比较注意,你们都想要剖析一些“算法用什么编程语言”的相关知识。那么小编同时在网摘上汇集了一些有关“算法用什么编程语言””的相关资讯,希望姐妹们能喜欢,同学们一起来了解一下吧!一群拥有各种语言丰富编程经验的Matlab高级用户,对现有的科学计算编程工具感到不满——这些软件对自己专长的领域表现得非常棒,但在其它领域却非常糟糕。他们想要的是一个开源的软件,它要像C语言一般快速而又拥有如同Ruby的动态性;要具有Lisp般真正的同像性而又有Matlab般熟悉的数学记号;要像Python般通用、像R般在统计分析上得心应手、像Perl般自然地处理字符串、像Matlab般具有强大的线性代数运算能力、像shell般胶水语言的能力,易于学习而又不让真正的黑客感到无聊;还有,它应该是交互式的,同时又是编译型的。
2009年开始Julia作为一种为高性能而设计,非常适合数值计算的编程语言诞生。
Julia是一种高级通用[13]动态编程语言,它最初是为了满足高性能数值分析和计算科学的需要而设计的,不需要编译器,速度快,也可用于客户端和服务器的Web用途、低级系统编程或用作规约语言。
Julia设计的独特之处包括,参数多态的类型系统,完全动态语言中的类型,以及它多分派的核心编程范型。它允许并发、并行和分布式计算,并直接调用C和Fortran库而不使用粘合代码。
Julia拥有垃圾回收机制,使用及早求值,包含了用于浮点计算、线性代数、随机数生成和正则表达式匹配的高效库。有许多库可以使用,其中一些(如用于快速傅里叶变换的库)已经预先捆绑在Julia里。
特点
核心语言非常小。标准库用的是Julia语言本身写的
调用许多其它成熟的高性能基础代码。如线性代数、随机数生成、快速傅里叶变换、字符串处理。
丰富的用于创建或描述对象的类型语法
高性能,接近于静态编译型语言。包括用户自定义类型等
为并行计算和分布式计算而设计
轻量级协程
优雅的可扩展的类型转换/提升
支持Unicode,包括但不限于UTF-8
可直接调用C函数(不需要包装或是借助特殊的API)
有类似shell的进程管理能力
有类似Lisp的宏以及其它元编程工具
可与jupyter notebook 一起使用
示例
生成Mandelbrot集合
function mandel(z) c = z max = 80 for n = 1:max if abs(z) > 2 return n-1 end z = z^2 + c end return maxend
Julia官网:
Julia Github:
标签: #算法用什么编程语言