对java,.net,Ruby,python,JavaScript,PHP的点评

漆雕和雅
2023-12-01

接触了很多语言后,发表一下个人的浅见。

java:古老的语言,优点是可编译,适合书写大型软件(但不是web),生态链强大。缺点是又臭又长,书写繁琐。多年的软件资产丰富,其他都不如.net。

.net:融入了各种最新的现代语言特征,.net 5以后可以运行在linux平台,语言更新换代快,是java的替代语言,缺点是做web的话,开发效率不如脚本语言。

Ruby:语法糖有个性,作为语言来说没有什么突出的优点,会逐步淡出。

Python:语言本身没有太大惊喜,特色是缩进式书写,优点是对各种软件包支持很好,特别是对机器学习ai,爬虫库selenium的支持很好,可以称为胶水语言。缺点是没有热部署,语法独立特行,对C系语言经验者不友好,对匿名函数支持不好,不能多行匿名函数,没有真正的多线程,不过在通用脚本语言里面是最好的。

Python的与众不同举2个例子

1.默认参数的坑,别的语言都是不传递默认值的时候会设置成默认值,这个是大家的常识,但python搞怪,只在函数第一次被评估时初始化默认参数,第二次调用的时候可能就不是默认值了,理解为构造默认参数比较合适,不是通常意义的默认值。


2.python的re.match() 是从开始位置开始往后查找,而其他语言是没有这个约定,因为正则表达式里面专门有匹配开始位置的匹配符^,这个功能就是多余。

上面都是我踩过的坑,太让人恶心,所以使用这个语言要谨慎,不要太依靠常识来判断

JavaScript:目前最灵活的语言,也是最活跃的语言。强大的异步支持,es6以后发展很快,有typeScript加持后更加强大,是前端的不二之选。

PHP:最简洁的语言,没有复杂的语法,主要用于WEB后端,基本上是函数式编程,学习成本低入门简单,还有一个很大的优点是支持热部署,用git pull就可以发布程序。目前前后端分离的架构下非常适合做后端的低成本开发,仍然有顽强的生命力,是web专用脚本语言。

 类似资料: