简单即是美的,关于程序语言的想法

!本文可能 超过1年没有更新,今后内容也许不会被维护或者支持,部分内容可能具有时效性,涉及技术细节或者软件使用方面,本人不保证相应的兼容和可操作性。

最近这段时间分别捣鼓了一下C#和PHP语言,然后还回顾了一下VBScript,颇有一些想法,所以记录下来,“简单即是美的(Simple is beauty)”这句话不愧是经典,想想我们现在庞大的互联网,还记得老师讲过互联网从设计之初就是从简原则,所以能够发展壮大到现在,而且还非常稳固。提到程序语言,大家可能会想到C语言,是的,C语言的设计也是以简洁为宗旨,从K&R的C语言的教材厚度也能看出这一点,简单意味着学习容易,上手快。现在的社会可以说是个快节奏的社会,大家都在想以最快的速度将知识变成生产力,所以基本没有人愿意在学习一门知识上耗费太多的时间,这也就是C语言如此流行的原因之一吧。

下面我想谈谈两种简单,1.语言结构简单(编程语法简单);2.功能简单(官方函数库少)。第1条除了C语言,估计Visual Basic以及其衍生品VBScript肯定是占优的,VB一度被认为是世界上最简单的编程语言之一。而且造就了大量的程序员,因为语言简单,只需要掌握那么点东西就可以写程序了。但是代码编写到最后,往往符合第1条的程序员容易抱怨到:“为什么没有这个功能”,然后就是拐弯抹角的去实现一个类似的功能,也许这个功能在别的什么程序语言中很容易实现。与第1条相反的估计就是像PHP或者JavaScript为代表了,话说PHP的内置函数,和一些特别的语法结构还真多,我一时还真不容易记住,所以写PHP代码经常要翻手册,还有就是JavaScript,这门语言我也在用,不过说实话,JavaScript的语法结构也很复杂,什么闭包、匿名函数概念的。复杂了也是有好处的,当然对于记忆力特别好的人而言,但是时间长了会形成一种定势,就是每写一段代码,脑海中总是想:“有没有内置的替代方法”、“语法结构应该能以另外一种方式写的更好”,当习惯一种复杂结构的编程语言后,再去研究一种简单的语言,恐怕就会抱怨语言结构简单,要这个没有,要那个功能不全等。第2条官方函数库少,VB及VBScript再次出线,是的,写了这么多年的VB或者VBScript程序,就那么一些内置函数,背都背下来了,所以写起程序基本上就不需要手册了,这点JavaScript也是类似的,相反的又是PHP,PHP有大量内置的官方函数,每次想一个功能,总有人说“嘿,有现成的内置函数”。久而久之我也不怎么想动脑筋了,遇到问题就是在翻手册,查找官方实现。这样的好处是省事,自己不要写某个功能了,而且官方的肯定稳定性不错,坏处是,觉得像PHP简直是大杂烩。

我所期望的编程语言,首先语言语法结构要简单,类似于C语言这样,容易上手,内置函数要少,或者直接略去,要用函数,直接通过第三方包以插件外挂的形式提供,这点现在编程语言基本上都在做,比如PHP的PECL或者PEAR、.NET的using或者Imports类库、C语言的#include函数库和Java的package技术。

当然有些编程语言变相实现了类似的功能,比如依赖于微软的COM ActiveX组件。

当然,这里我不是贬低某种语言,说实话上面我提到的语言我都在使用,它们在各自场景中有各自的作用,比较任何程序语言的优劣是不明智而且是没有结果的。

以上个人看法,如有不当,还望批评指正!

若无特别说明,本网站文章均为原创,原则上这些文章不允许转载,但是如果阁下是出于研究学习目的可以转载到阁下的个人博客或者主页,转载遵循创作共同性“署名-非商业性使用-相同方式共享”原则,请转载时注明作者出处谢绝商业性、非署名、采集站、垃圾站或者纯粹为了流量的转载。谢谢合作!

  1. 同感啊,
    php的函数,我是永远也记不完,分不清。写php的时候,多半时间是在查手册。
    总感觉这种大堆函数的做法,不如包和类的引入做法有条理。
    风格上还是比较喜欢javascript。
    当然,语言没有好坏,只在使用它的人。

    • @shirne
      PHP的最初设计的教义思想就是Dirty and quick,即以最快的速度搭建应用,这样导致了后期维护以及功能扩展的困难,可能PHP开发团队意识到这个问题,随后的PHP5完善了面向对象的概念,随后也有大量的优秀开发框架出现,现在PHP开发可以按照软件工程的思想进行有效的面向对象的代码组织,这样便于以后的维护,也可以按照旧思想继续敏捷开发小应用,总体上还是比较灵活的,大型网站很多还是选择了Java或者ASP.NET,亚马逊貌似是PHP开发的大型网站的一个例子,不过也从一个侧面说明了类似包或类的引入做法带来的好处。JavaScript在语法上比较灵活,貌似现在还在搞JS的新标准,目前来看类C风格的语言还是蛮招人喜欢的,当然Python和Ruby也属于异军突起。语言没有好坏,适合自己是最好的:-)

请稍后...

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*