zoukankan      html  css  js  c++  java
  • 黑客与画家 第十二章

    2013/6/19 19:40 写于 立诚 1-213
    第十二章 拒绝平庸
    埃里克 雷蒙德写过《如何成为一名黑客》,里面写了一个黑客应该掌握的语言,包括 python,java,c(针对UNIX系统),per(针对系统管理和开发CGI脚本)l,lisp.
      Lisp很值得学习,你掌握它以后,会感到它给你带来的极大启发,这会大大提高你的编程水平,使你成为一个更好的程序员。尽管在实际工作中极少人会用到lisp.
    对于一个画家来说,如果有一支笔可以让他画得更好,那么他一定会用这只笔的。但是程序员却不是如此。雷蒙德对lisp的评价这么高,但是为什么却很少人用它去开发呢?这还要考虑到公司的发展。对于一个创业公司来说,它不能失败,每一步都要小心翼翼的。创业公司要么赢得一切,要么输了一切,所以技术的选择就相当谨慎了。
    大部分的创业公司会和大公司一样,走平稳的发展路线。这意味着什么?大公司的平均水平是收益年均增长10%,但是创业公司的平均水平是50%的公司会倒闭。这意味着,如果创业公司也是走那种很平坦的路,就意味着它会失败。
    所以,创业公司在选择技术的时候,不应该去想,别人用的是什么技术,而是应该去想,什么技术可以好又快的解决这个问题呢?如果你忘记了你有自由去选择编程语言,而你的竞争对手却记得,那么你很可能就输在起跑线上了。对于创业公司来说,它们唯一比较突出的优势就应该是技术方面。所以,不能放过任何在软件开发上面有助于获得优势的事情。
    还有,如果你的编程语言选的正确的话,那么可以有助你加快开发周期,你的团队规模也会相应的减小。而且,最好不要让别人知道你是用什么语言开发的。因为创业公司伤不起啊。。
    那么,让我们来讨论一下,lisp到底有多好呢,以及为什么很少人用它。
    lisp的最大优点就是,它是目前最好的编程语言,而它没有得到很好的推广是因为编程不仅仅是技术,也是一种思维习惯,非常难以改变。
    作者首先表明了,编程语言是有能力的差异的。
    大家都认同机器语言比高级语言低级吧。但是高级语言和低级语言是没有明确的分界线的。语言的抽象性是一条连续曲线。从最强大的语言一直到最底层的机器语言,每一种语言的能力都有差异。
    不同的高级语言之间是有差异的。假设有A, B两种语言,A 语言有B语言的功能,而且还有一些B语言没有的功能,按照道理来说,A语言要强于B语言吧。所以,在正常情况下,你都要使用最强大的语言。
    但是,程序员非常忠于自己用了好多年的编程语言。认为它已经足够好了。假设程序员使用A 语言多年了。当他在语言的曲线上往下看时,就会说,这个语言不好,功能实现很麻烦。但是当他们往上看的时候,却会说,这个语言虽然和A差不多,但是怎么会有那么多乱七八糟的功能啊,还不如 A实现的方便呢?事实是真的这样吗?我看未必吧。程序员已经偏向A了,心理上当然认为A好了。他的思维已经被同化了。熟悉了某种语言的人,他们都满足于自己碰巧用熟的那种语言,他们的编程思想都被那种语言主宰了。
    所以说,唯一洞悉所有语言优劣的人必然是懂得最强大的那种语言的人。
    但是现实是lisp语言确实很少人在用。可是,这也是一个好事啊。如果你的竞争对手只是个会拿弓箭的人,你可以一枪就解决掉它。
    要知道,人类天性变化的速度大大慢于计算机硬件变化的速度,所以编程语言的发展通常比CPU的发展落后一二十年。lisp老早以前就提出了垃圾回收机制,宏,动态类型等,现在都被各种流行语言所借鉴了。lisp它是最好的编程语言。
    可现实是,很多普通的编程语言正在主导一切,我建议你向日本合气道选手学习,利用这种势力削弱你的竞争对手,让他们自食其果。要知道,他们的技术永远都追不上你使用的技术。
    当你为创业公司工作时,你可以去关注竞争对手的招聘广告,越是用的IT专业词汇多的公司就越不可怕,如 oracle,java等,就不要担心了.但是如果是perl Python就有点威胁了,如果是 lisp,那么就要相当重视了。
     
    转载请表明出处  http://www.huangweibin.com/
  • 相关阅读:
    supervisorctl的安装使用
    react应用多入口配置
    百度编辑器
    formData文件上传
    thymeleaf的内联th:inline(在javascript访问model中的数据)
    浅谈Object.prototype.toString.call()方法
    JS中call()和apply()以及bind()的区别
    Json对象与Json字符串的转化
    全面解析JavaScript中“&&”和“||”操作符(总结篇)
    TortoiseSVN客户端重新设置用户名和密码
  • 原文地址:https://www.cnblogs.com/hwb1992/p/3144993.html
Copyright © 2011-2022 走看看