• 谈程序语言的设计及程序员心态


    我最近读王垠的博客,里面有些文章使我很受益。他总结了程序语言设计上的两个问题:一是片面追求短小,用C语言做例子;二是试图容纳世界,用python做例子。一般来讲,能设计语言的人,都是高手,特别是设计出来的语言用的人多,这些语言的发明者,可以说都是顶尖的人才,其智力、专业程度都是顶尖的。但往往一门语言的设计者,都是一个人。一个人,又是顶尖的人,就很容易存在一个想法:如何彰显自我。我设计的这门语言,假如和别人设计的一样,不搞些智力上的特色出来,怎么能显示出我的牛逼之处?

    作为一门程序语言,如果才能搞些智力上的特色呢?最明显的就是比谁的更短。这种思维很自然的泛化到使用这门语言的程序员身上,你那个要写十行,我这个只一行就搞定,牛逼吧,把写得长等同于写得差,写得短等同于写得好,甚至往智力上去延伸。于是在以前C为王的时代,很多人都追求程序写得短,结果搞得可读性很差。自从JAVA兴起,这种比短的思维才被压住。另一个就是谈哲学,python喜欢谈哲学,于是有了王垠所说的,要容纳世界上三只手两个头的人。对于稍大一点的工程,python的这个特性会使得程序不可控,几乎变得不可用,说是画蛇添足,有害无益不为过。

    一门程序语言的设计者,其设计思想,思维方式,或多或少会影响程序员。于是程序员多多少少都有追求短小和容纳世界的毛病。追求短小在C语言里比较常见,而容纳世界在JAVA里面比较常见,产生的问题更严重更深远。在我看来,前几年JAVA界流行过度设计,类似SSH的框架就是试图容纳世界的产物。框架的设计思想,比如说,可以随便更换数据库,可以替换中间层,可以多种展示方式,不能说是错误的思想,但是实现手段带来了很大的复杂度。于是又引出了另一种思维,把越复杂的东西给折腾会,就显得自己智力超群,以此换来“优越感”。

    中国有句古话叫文人相轻,意思是文人之间互相看不起,觉得别人写的文章不如自己的。写程序有点类似写文章,所以程序员之间也有互相看不起的毛病。经常有些人看几眼别人的代码就说写得差,于是我经常和人说,技术人员不要为难技术人员,不要以彰显自我的心态来看人,要以开放的心态大家共同提高。

    另外,很多人注重技术,而不注重产品,大的东西能搞好,但是细节就不愿去搞,结果搞成80%,后面20%迟迟不能完善,只要没有完善,就不是一个产品,不是产品就不能营利,不能营利就没有价值。技术构成产品,但是产品不等于技术,技术一定要形成产品才有价值,这才是我们做为技术人员的价值体现。

  • 相关阅读:
    python json 访问与字符串截取
    python 12306 车次数据获取
    12306 城市代码 切片技巧
    python 9*9 乘法表
    python 列表转为字典的两个小方法
    python 三种遍历列表里面序号和值的方法
    虚拟机中访问连接在物理机上的摄像机(使用桥接)
    C++程序调用python3
    Notepad++编写运行python程序
    查看进程被哪台电脑的哪个进程连接(netstat)
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3061644.html
Copyright © 2020-2023  润新知