Julia编程语言是第一个我看到就想学习的唯一编程语言,个人认为Julia是目前为止最伟大的编程语言。那么,伟大之处究竟在哪里呢?我认为原因在于六点:
第一点:不限制人的思维。目前,大多数的编程语言,都要求用户必须在编程语言所约定的思维框架进行思维。面向对象的编程,或者面向过程的编程,或者函数编程,或者逻辑编程等等,但都存在的问题是,你必须按照一种思维方式来理解自己的任务,才能进行编程。事实上,上述编程框架各有其有点和缺点,表达不同的系统适合用的思维框架不一样,甚至一些系统有不同的内容,分别适用于不同的编程框架。 但Julia不一样,几种所谓的编程类型,都天衣无缝地融合在同一套编程语言之中。
第二点:强大无比的函数嵌套功能。在所有编程语言中,变量的类型都是有限的,这符合事实。但因为Julia的函数嵌套,每一个函数都可以视为变量,变量类型就出现了无穷多。现实中,一种变量有一个变量类型;每一种多变量组合也可以视为是一种变量类型,这种组合在julia中就可以用函数来表达。同样,一个变量也可以理解为是一个函数。函数与变量并无根本的区别,只是一个人为的划分。理解了这一点,Julia编程就更灵活了。函数嵌套的另一个好处,就是曾经编写过的函数,都可以在后期编程中被调用,避免了重复编程,几大增强了程序复用,增强了开发效率,程序的功能则会呈现级数式增长。最后增长为功能强大,但形式简单的程序是一个必然。
第三点:按照流程控制函数的功能。Julia将函数编程与过程控制结合起来,实现函数的有序计算,也可以按照时间顺学对函数进行一次计算或程序化计算。另外,Julia函数可以出现改变变量值的函数,即变量名后变带了一个叹号的函数,它可以计算之后更新变量的取值。这就很容易实现了程序的自我迭代,实现了对任意函数,任意进行仿真演化的功能。
第四点:分布式并行计算的能力。上述三个特点已经可以让Julia构建一个复杂而有井然有序的世界了,而并行计算的能力则是让不同的世界平行运行,并且可以相互联系,相互影响,这就是平行世界啊,还可以设计不同时间之间的沟通机制。所以说,Julia的雄心是目前大多数人都不能充分理解的。
第五点:无比简单的语法体系。按照一般的理解,如果想实现上述强大的功能,是不是语法规定应该很严格,很复杂啊。恰恰相反,大道至简,它的编程语句几乎接近与通常的数学表达式,传承了matlab的语法格式,但它的反复调用的运行速度可以与C媲美,让人不服不行。虽然首次运行速度慢一点,但这对于反复计算的工作而言,首次运行慢一些,是可以接受的啊。
第六点:具有元编程能力。如果说上边的第五点已经可以看出Julia大道至简的风格,它的元编程能力进一步凸显了它的强大和伟大。元编程能力让用户完全具备了自己构建领域内语言的能力,如果看着别人的程序感觉写的不好,还可以重新定义。如果你看着Julia的语法不爽,甚至可以利用元编程能力制订一套自己的语法,将Julia语句完全用自己的函数来代替,除了最底层的调用用到Julia语句,其他编程都可以用自己编写的规则去编程。
在此,对Julia的创始人 Jeff Bezanson,Alan Edelman,Viral Shah,Stefan Karpinski等表达我的崇拜,因为这正是我心目中理想的编程语言。如果看到了他们的伟大,快点抛弃其他编程语言,拥抱Julia吧。

网友评论