这其实是一个比较老的话题了,关于各种语言的好坏选择网上怎么说的都有,有趣的是所有的争论占据伤风的总是一些脑残粉,对于编程语言的选择不同的人有不同的看法,我大致分为以下几类:
1、搞开发的
2、搞教育的
3、搞科研/学术的
4、业余的
5、其它
我是做开发的,这篇文章主要是从开发者的角度,根据多年来各种语言的使用经验来谈谈主流的编程语言,这些语言包括(C、C++、D、Go、Java、C#、Delphi、VB、PHP、Python),没有列出的语言表示我没用过,所以也不好评价。
我认为一个好的编程语言应该具备以下特点
1、语言表现力上要够强大
虽然很多特点使用率不高,但是一旦有需求还没有就很难受
2、学习曲线要尽可能的低
这点很重要,毕竟语言只是工具
3、开发出来的程序执行效率要高
没有人想自己辛苦开发出来的程序因为语言的关系执行效率很低,执行效率可是产品体验中非常重要的一点,1秒和5秒的差别是巨大的,想象一下你的office软件如果5秒才能打开是多么痛苦的事情
4、生产力要强
生产力包含两个方面,一个是开发的速度,一个是适合大规模生产。
从语言表现力上:C++、D、Java、C#、Delphi、Python胜出
从学习曲线上:只有C++出局,其它大多数人都还可以接受,比较突出的是VB、PHP、Python、Go
从程序执行效率上:C、C++、D、Go、Delphi、VB胜出,当然有些情况语言的效率不是第一瓶颈,第一瓶颈通常会出现在IO、数据库等地方,只有这些需要长时间等待的地方的性能不是问题的时候,语言本身的性能才会比较突出
从生产力上:
开发速度:PHP、Python胜出,桌面应用C#、Delphi、VB胜出,其实开发速度大多数时候取决于库程序的数量与质量及易用性,语言本身影响不明显
适合大规模生产:C++、D、Java、C#、Delphi 胜出
综上所述:
通用语言D语言胜出,唯一不足的地方就是库相对流行的语言库相对较少,国外开源项目也很多,国内很多人可能还没听说过,中文资料都比较老,最新消气可关注官网 dlang.org
桌面开发方面,Delphi胜出(已经很久没关注桌面开发方面的技术了,也许很多人会拥护C#,我也很久没用了,不过当年.net 开发出来的软件的执行效率像网页一样,界面元素明显不是一起显示出来的)
Web方面:PHP、Python胜出
对于移动短:Java、Obj-C的地位太明显了
补充:
C语言只能用伟大来形容,它创造了太多,语言上的问题玩过的都知道,所谓一俊遮百丑嘛,业绩胜过一切
Java是比较中庸的语言,曾经辉煌过,现在看来明显已经不够现代了,而且创造了一些谣言,最可笑的是Java的虚拟机越来越优化,已经不比C++慢多少,甚至有些时候还会超过C++,不管你信不信,反正我不信,人总是谎言听多了慢慢也就信了,因为有些时候真相也并不那么重要,虽然我个人不喜欢java,但是在这里我没有贬低java的意思,java最大的好处是能让对底层能力薄弱的人也能开发出某些场景下的重量级的软件应用,典型的是跟数据处理相关的,所以很多这样的软件就出现了
D语言:借用设计者的话,D是更好的C++,C++擅长的它也擅长,C++不擅长的它也擅长,虽然有点吹嘘的成分,但在我看来基本上它做得到了,而且用起来要比C++轻松的多,虽然我在使用的过程中也发现了几处bug(主要是win和mac平台下,linux下的表现我很满意)但也不算重大bug,可用性还是很高的,特别是模板编程做到如此的易用,并行计算支持也非常好,而且还具备动态脚本的一些特性,对C的二进制兼容也是亮点,也许你关心效率,正常情况总体上会比C/C++是差一些,如果着重优化效率可以做到和C++同一水平,这绝不是炒作的谎言,如果你还不了解D语言,在这里我向你推荐一下,当然也欢迎与我交流。
本文出自 “李云兴的博客” 博客,请务必保留此出处http://quetzal.blog.51cto.com/3313934/1631287
原文地址:http://quetzal.blog.51cto.com/3313934/1631287