2411 0

[数据挖掘理论与案例] 为什么我们要创造Julia [推广有奖]

  • 11关注
  • 3粉丝

本科生

60%

还不是VIP/贵宾

-

威望
0
论坛币
10963 个
通用积分
4.7004
学术水平
3 点
热心指数
5 点
信用等级
2 点
经验
255 点
帖子
61
精华
0
在线时间
100 小时
注册时间
2014-4-4
最后登录
2017-5-24

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
为什么我们要创造Julia2012-03-07 16:44:23


Julia是为现代计算需求而设计的新语言,语法与其它类似功能的语言接近,却拥有更多更多更多……

翻译自 http://julialang.org/blog/2012/02/why-we-created-julia/,原文作于2012年2月14日。
好吧,很像机器翻译的>_< 无奈!不过应该还是比CSDN的翻译http://sd.csdn.net/a/20120223/312315.html 要准确得多!译于2012年3月7日,转载请注明出处。by C6H5NO2


简单的说,因为我们很贪心。

我们是Matlab的重度用户。我们中间有Lisp高手,Python专家,Ruby专家,还有Perl高手。有些家伙从嘴上无毛的年纪就开始用Mathematica了,当然我们中间也有人现在也还是不长胡子的。我们比正常人画了更多的R图。C更加是我们最喜欢的大杀器。

我们热爱所有这些语言,他们实在是很好很强大。在我们从事的领域中——包括科学计算、机器学习、数据挖掘、大规模线性代数、分布式与并行计算这些——每种语言都对某些问题来说很完美,但对另一些就变得很糟糕。我们需要做出取舍。

我们很贪心:我们想要更多。

我们需要一种语言,它是开源的,有自由的许可。我们需要C语言的速度,又要有Ruby社区的活力。我们需要一种homoiconic风格的编程语言,像Lisp那样有真正的宏,又要有Matlab里那些熟悉的数学概念。我们需要的东西既能像Python那样可以作为通用编程语言使用的工具,又要能够像R那样适用于统计分析,能像Perl那样自然地处理字符串,能像Matlab那样给力地处理矩阵运算,还要能像shell一样能把各种程序粘合在一起。它必须让初学者觉得简单易学,同时又可以让高级用户们挥洒自如。它既要是交互式的,又能被编译执行。

(前面提到过的,它要有C那么快!)

我们在构思这些需求的时候,我们还发现它得有Hadoop这样强大的分布式能力——却不想要Hadoop里面那些冗繁的Java和XML,不想在几百台机器庞大的日志文件里去寻找那些bug。我们不想要那些令人费解的层次结构。我们想让简单的标量循环能在单个CPU的寄存器里编译出精致的机器代码。我们想要写一个A*B就能让上千台机器为我们完成一次规模庞大的矩阵乘法。

我们不需要的时候,就不用做类型申明。但我们需要多态函数(polymorphic functions)时,希望能通过泛型编程(generic programming )使得只写一次的算法能在无穷多的数据类型上套用。我们希望通过多重分派(multiple dispatch ),能够为一个函数所有可能的参数选出最有效的执行方法。这些参数可能有着不同的定义,来自不同的数据类型,却能提供相同的功能。在拥有这些能力得的同时,我们还希望这种语言简单、干净!

要求有点多,是不是?

尽管我们意识到了自己有多贪心,我们还是想把这些都统统拥入怀中。大概在两年半之前,我们开始创造这种能满足我们贪念的语言。它还没有完工——但是已经可以发布一个1.0版本了——我们创造的语言叫做Julia。她已经实现了我们那些乱七八糟需求的90%,而现在她需要来自更多人更乱七八糟的需求,来让她走得更远。如果你也是一位贪心不足,不可理喻,需索无度的码场二逼青年,希望你能来试试这个东东。



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Julia Jul mathematica Programming Mathematic julia

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-28 12:12