最好的Julia语言

做大数据/机器学习方面的工作多年. 最为熟悉 C++, Matlab/R/Python/Java/Scala 都用过.但每种语言的体验总觉得有缺憾.

一个理念: 如果不是语言专家, 那么编程语言, 仅是实现想法的工具. 更为重要的事情如何快速准确地实现功能和想法, 而不是消耗在工具本身.

1. C++

与 C 语言一样, 计算性能是公认的, 没有多少语言比它们更快了. 但正由于其离机器原理更近, 细微的计算资源控制(尤其是内存管理,指针等)等原因, 使得其开发和维护成本很高. 要快速实现想法C++ 肯定不是最好的选择.

2. Matlab/R

读博期间, 很多人都会选择 Matlab 做实验, 因为功能强大, 有你所想, 而 R 语言则是开源的解决方案.  但其收费和臃肿的环境, 总是让人心里有疙瘩. 而且性能真的不行.  对于那些基于很多或很大数据做训练学习的算法, 简直无法忍受

3. Python

python 的简洁和强大的第三方功能支持, 使得实现起来, 高效很多. 确实是验证想法的好环境. 但在用其实现一个分布式系统, 并部署生产的过程中发现, 其在很多地方都会有不明所以的坑. 而且其全局锁让追求高并发的系统很无奈, 尤其是计算密集的系统.

还有一个极度不认可的就是, 那个一定要对齐的格式要求.

4.  Scala

Scala 的使用是经常需要开发分布式的大数据算法, 而 Spark 经常是首选, 在 Spark 的接口中, Scala 更为全面, 而且逻辑与 spark 的设计实现更为贴近, 所以倾向于 SCala.

但 Scala 的语法简直是外星语, 纷繁芜杂的符合和设计方式, 简直让人头大.

这是个万花筒, 但对于需要标准化和可维护性的工业生产环境, 选择 Scala 也许是个错误的选择.

总结:

最近, 在了解 Lua 的过程中, 竟然发现了一种专门为"并行"数值计算设计的语言, Julia

在了解和试用之后, 发现这才是适合我的最好的语言.

1. 可调用 C/Python 库, 聪明的做法, 可以更好的继承现有的成果

2. 类似 matlab 和 python 的语法, 更换语言的学习成本低, 而且实现起来天生就像python那样高效

3. 接近于 C++ 的性能, 在很多情况下已经足够了

4.  开源的做法, 使得语言具有强大的 Package后备力量, 在生态上已经初具规模

5. 天生的并发和分布式支持, 省很多事情了

原文地址:https://www.cnblogs.com/kekexuanxaun/p/9459361.html

时间: 2024-11-06 09:19:27

最好的Julia语言的相关文章

Julia语言简介与环境安装

从今天开始,Mayuyu将要学习一门新的语言,这门语言叫做Julia,为什么要学习它呢? 因为它比较优秀啊! Julia的简介:http://julia-zh-cn.readthedocs.org/en/latest/manual/introduction/ Julia语言设计的目的就是让高性能科学计算为人人所用,它集合很多语言的优点于一身,有C的快速,有Ruby的动态,有Python的通用,有R的在统计学上的得心应手,有Perl的字符串处理,有MatLab的线性代数运算,总之有很多优点,更多了

Julia 语言的一些尝试

前些天发现了Julia 这门编程语言后便决定对其进行一些尝试,便写了下面的小程序,也算是看看这门语言所谓的速度快到底是怎么快法. 整数累加: x=0 function fff() for i in 1:1000000000 global x +=i end println(x) end fff() x=0 for i in 1:1000000000 global x+=i end println(x) function fff() x::Int64=0 for i in 1:1000000000

在Julia语言中调用Python函数

在PyCall扩展包中,模仿Python的import语句,提供了一个可以导入Python模块的@pyimport宏.并且,为能在Julia中使用模块内的函数和常量做了封装,以及支持在Julia与Python间的自动类型转换. 同时,它还提供了对Python对象进行底层操作的设施.其中包括能与不透明的Python对象相对应的'PyObjec'类型,以及在Julia语言中对Python函数进行调用且做类型转换的pycall. 安装 在Julia中,只需要使用Pkg.add("PyCall"

Julia编程语言

Julia 是一个面向科学计算的高性能动态高级程序设计语言.其语法与其他科学计算语言相似.在许多情况下拥有能与编译型语言相媲美的性能. Julia 是一个面向科学计算的高性能动态高级程序设计语言.其语法与其他科学计算语言相似(手机app开发ty300.com).在许多情况下拥有能与编译型语言相媲美的性能.一群拥有各种语言丰富编程经验的Matlab高级用户,对现有的科学计算编程工具感到不满——这些软件对自己专长的领域表现得非常棒,但在其它领域却非常糟糕.他们想要的是一个开源的软件,它要像C语言一般

如果你喜欢python,那你迟早会喜欢上julia的!

你可曾想过有那么一门语言: 这门语言能够有C语言一样的速度,Ruby一样得活力(dynamism).像homoiconic一样的语言,它像Lisp一样有宏,但是也像Matlab一样有显而易见.熟悉的数学标记. 像Python一样适用,像R语言一样适用于统计,像Perl一样适用于字符串处理,像线性代数Matlab一样强大,像shell一样擅长粘合程序. 它还具有互动性且能够被编译. 她的名字叫: Julia Julia是一个新的高性能动态高级编程语言.语法和其他编程语言类似,易于其他语言用户学习.

Julia 1.0 正式发布,这是新出炉的一份简单中文教程

两天前,机器之心报道 MIT 正式发布 Julia 1.0 的文章引发了极大的关注(20 多万的阅读量),对此编程语言既有批判者也有推崇者.如机器之心了解到 Julia 在科学计算.数据处理行业很受欢迎.为了方便大家更了解这一新正式发布的编程语言,我们推荐 Julia 中文社区(中文社区介绍见文后)组织者之一罗秀哲 这两天的媒体报道可能让一些人有了恐慌,但是我现在有一个诚恳的建议就是如果你完全没有编程基础,时间也不多的话(时间多了不是想学啥学啥),我建议你先学一下 Python,这并不冲突,因为

Julia 入门学习教程

有一门语言,它看起来像 Python ,感觉起来像 Lisp ,运行起来又像 C 一样快速,他就是Julia. 近年来,Julia 语言已然成为编程界的新宠,尤其在科学计算和人工智能领域炙手可热. 据 Julia Computing 的宣传,在七项基础算法的测试中,Julia 比 Python 快 20 倍,比 R 快 100 倍,比 Matlab 快 93 倍. 为什么 Julia 能做到这些,看一下它的开发者的初衷: "我们想要的是一种自由开源的语言,它同时拥有 C 的速度和 Ruby 的动

Julia元编程初探——以简单符号求导为例

Julia语言具有强大的元编程机制,本文用Julia实现<SICP>中文第二版中第 99 页中的实例:符号求导,体验一下Julia元编程. 运行结果如下: julia> include("deriv.jl") # 加载代码multiplicand (generic function with 1 method) julia> deriv(:(x + 3), :x) # 求表达式 x + 3 关于 x 的导数1 julia> deriv(:(x * y),

500lines项目简介

"500行或更少" "What I cannot create, I do not understand." -- Richard Feynman <500行或更少>--开源应用架构系列第四版的源码. 项目的目的在于给阅读者更广的视野,让阅读者理解软件设计者的想法. 项目地址: https://github.com/aosabook/500lines 这个项目里的每个文件夹基本都是一个独立的项目.试图用500行左右或者更少的代码完成某种特定的需求.在阅读