评论一门编程语言,可以从以下几方面去展开:
1、程序的运行速度
2、程序的开发效率,这很大程度决定于这门编程语言能否快速的表达设计人员的设计思想。
3、程序的使用范围
编程会从最早开始的直接输入二进制指令发展到使用汇编语言,再后来出现Fortran,Basic,C,C++,Java等等数都数不过来的编程语言,是因为这些语言比起其它语言有自己的优势:运行速度快,开发效率高,方便使用,维护相对来说方便等等。
随着硬件成本的降低以及CPU性能的提高,程序的性能问题和内存占用问题变得越来越不是那么重要,软件人员将更多的注意力放到了提高软件的质量,开发效率以及可维护性等等方便来。像C,C++的开发效率虽然已经有了很大的提高,虽然人们开发出各种工具,创建出各种理论来控制软件的开发,但是在软件越来越复杂时,开发效率以及软件的维护等等仍然是一个很大的问题。
项目开发就是利用有限的时间和有限的资源拿出符合客户需求的产品,时间往往是造成项目成败的关键所在。而像C,C++这类的语言,学习周期长,容易出错,出了问题不好查找,软件人员把大量的时间花在了关注语言的特性上,而不是解决问题本身。就拿C++来说,单是虚函数的概念,如果不是对它的实现有充分的理解,如果不是自己反汇编出来看看它的外壳里到底是什么东西,那用起来如过独木桥般心惊胆颤,出了问题束手无策,不知如何解决那就不足为怪了。这才会有像Python,Ruby这些更为高级的动态语言的发展空间。
首先是容易学习,容易上手,这样可以节省大量的培养成本和犯错成本。
其次,相对于C/C++这样的编程语言,语法简洁,不容易出错。编程人员可以将更多精力和时间花在问题的解决上,而不是语言本身的特性上来,好比像孔乙己一样研究茴香豆的“茴”字有几种写法的事情上。由于其语言的动态性,可以在程序运行的时候执行额外的代码,无需重新编译,这就为调试带来了极大的方便,可以随时查看程序时的数据或者修改数据并且对程序进行配置。出了问题好查找,开发效率得到了极大的提高。用C/C++几天甚至几周才能实现的功能,用Python可能几个小时就搞定了,并且写出来的代码还不容易出错,不用化费大量的时间去查找bug。
再者,用Python写的程序 可读性也非常高,便于维护,写完的代码就是几个月后再去看,照样思路清楚,代码功能一目了然,不像是其它语言,就算是自己辛辛苦苦写出来的代码,几个月后可能忘得一干二尽了,更不用说是看别人写的代码了。
最后 ,学习Python其实也是在学习编程的思想,解决问题的方式和方法,通过学习Python你将收获良多,即使你在工作中用的是Java,C,或者C++。如果你没有看过《The Zen of Python》,那么建议可以去看看,别认为这是一本书,它其实就是19句话,句句精典。这可以在一方面解释为什么Python是一门伟大的语言。