这两天,闲来没事,研究了一下其他的编程语言。不看不知道,原以为世界上只有C、C++、.net和java,现在才知道,原来世界这么大。。。
之前关心的那些叫做静态语言,与之相对的,还有动态语言,即所谓的dynamic Language。动态语言,准确地说,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。动态类型语言的优点在于方便阅读,不需要写非常多的类型相关的代码;缺点自然就是不方便调试,命名不规范时会造成读不懂,不利于理解等。静态语言与之相对。
给我的感觉,传统静态语言用于程序的框架构建,而静态语言就像是战场上的特种兵,小巧精干但不可能作为主要的武器使用。所以,我个人认为将动态语言嵌入到静态语言中去使用,应该是未来程序发展的方向。关于这方面,Jim Hugunin在PDC-2008讲座中提到C.net已经可以通过DLR(Dynamic Language Runtime)将IronRuby、IronPython、C#、VB.net以及传统语言揉合在一起。而JRuby的使用更是java虚拟机JVM开始和动态语言进行结合的证明。
总的来说动态语言有如下几大类:
1.ruby:
2.Python:
3.Perl:
4.PHP:
5.javascript
最后两个是用于网页编程的;对于之前三个,为了加快传统语言和动态语言的联合,出现了诸如IronRuby、IronPython(针对C#平台)和JRuby、JPython(针对JVM系统)的变种。
除此以外,函数语言也是一种非常奇妙的编程体验,比如,Haskell,尤其是当事务内存编程方式提出后,这种函数语言得到了广泛的推广。
由于本人的技术有限,对动态语言的了解仅此而已,我想存在既有价值,有时间的话,我会去逐个研究,看看能否比较出各种语言之间的差异。相信动态语言能够改变我们的传统编程习惯。
阅读(995) | 评论(0) | 转发(0) |