cat adlı kişinin profiliDON'T PANIC!FotoğraflarBlogListeler Araçlar Yardım

Blog


    12 Temmuz

    Lisp在NASA的辉煌与衰落及其他

    I really detest the use of the word "training" in relation to professional activities. Training is what you do to dogs. What you should be doing with people is educating them, not training them. There is a big, big difference.

    很久没有感慨了,因为看淡了。不过刚看完的这篇文章,还是让我感慨了一下。
    Lisping at JPL

    Lisp在JPL最辉煌时候是“深度空间1号”(DS1)探测任务。飞船的主控系统(RA)是一个Lisp程序。
    RA was written entirely in Common Lisp despite unrelenting political pressure to move to C++. At one point an attempt was made to port one part of the system (the planner) to C++. This attempt had to be abandoned after a year. Based on this experience I think it's safe to say that if not for Lisp the Remote Agent would have failed.

    在任务的执行过程中,还远程Debug了一个多线程的Race Condition Bug。
    Debugging a program running on a $100M piece of hardware that is 100 million miles away is an interesting experience. Having a read-eval-print loop running on the spacecraft proved invaluable in finding and fixing the problem.
    RA被评为"NASA Software of the Year"。

    然后因为一句话。。。
    Lisp was dead, at least at JPL.

    然后作者在Google工作了一年。
    One of the reasons I stayed at JPL for twelve years was that I was appalled at what the software industry had become. The management world has tried to develop software engineering processes that allow people to be plugged into them like interchangeable components. The "interface specification" for these "components" usually involves a list of tools in which an engineer has received "training." (I really detest the use of the word "training" in relation to professional activities. Training is what you do to dogs. What you should be doing with people is educating them, not training them. There is a big, big difference.)

    作者讨厌Java,去Google的原因是因为Google貌似没有使用Java。然而很不幸。。。
    So of course you can guess what my first assignment was: lead the inaugural Java development at the company, what eventually became Google AdWords.

    作者也试图在Google推广Lisp,呃。。。
    Me:  I'd like to talk to you about something...
    Him: Let me guess - you want to use Smalltalk.
    Me:  Er, no...
    Him: Lisp?
    Me: Right.
    Him:  No way.

    Lisp在Google也死了,然而。。。
    In retrospect I am not convinced that he made the wrong decision. The interchangeable component model of software engineers seemed to work reasonably well there. It's just not a business model in which I wish to be involved, at least not on the component-provider side. So after a year at Google I quit and returned to JPL.
    呃,上面这段也是我不在感慨的原因。

    作者回到JPL后的工作。。。
    My job today (I am now working on software verification and validation) is to solve problems that can be traced directly back to the use of purely imperative langauges with poorly defined semantics like C and C++. (The situation is a little better with Java, but not much.)
    I can't even say the word Lisp without cementing my reputation as a crazy lunatic who thinks Lisp is the Answer to Everything. So I keep my mouth shut (mostly) and watch helplessly as millions of tax dollars get wasted.
    In the words of Elton John: It's sad. So sad. It's a sad, sad situation. My best hope at this point is that the dotcom crash will do to Java what AI winter did to Lisp, and we may eventually emerge from "dotcom winter" into a saner world. But I wouldn't bet on it.

    呃,以上、我的又一次感慨。

    I thought what I'd do was, I'd pretend I was one of those deaf-mutes. - J. D. Salinger, 麦田里的守望者
    or should I? - 笑い男

    Yorumlar (17)

    Lütfen bekleyin...
    Girdiğiniz yorum çok uzun. Lütfen kısaltın.
    Hiçbir şey girmediniz. Lütfen yeniden deneyin.
    Üzgünüz, şu anda yorumunuzu ekleyemiyoruz. Lütfen daha sonra yeniden deneyin.
    Yorum eklemek için ebeveyninizden izin almanız gerekiyor. İzin isteyin
    Ebeveyniniz yorumları devre dışı bıraktı.
    Üzgünüz, şu anda yorumunuzu silemiyoruz. Lütfen daha sonra yeniden deneyin.
    Bir günde bırakılabilecek yorum sayısı üst sınırını aştınız. Lütfen 24 saat içinde yeniden deneyin.
    Sistemlerimiz diğer kullanıcılara istenmeyen posta gönderiyor olabileceğinizi bildirdiğinden hesabınızdan yorum yazma özelliği kaldırıldı. Hesabınızın devre dışı bırakılmasının yanlış olduğunu düşünüyorsanız, lütfen Windows Live desteğine başvurun.
    Yorum bırakmayı bitirmek için aşağıdaki güvenlik denetimini tamamlayın.
    Güvenlik denetiminde yazdığınız karakterler, resimdeki veya sesteki karakterlerle eşleşmelidir.

    Yorum eklemek için Windows Live ID'nizle (Hotmail, Messenger veya Xbox LIVE kullanıyorsanız Windows Live ID'niz var demektir.) Oturum aç


    Windows Live ID'niz yok mu? Kaydolun

    cat garfieldyazan:
    You flatten me -- FLATTER, I mean.
    我要歧视,也歧视engineer的客户。。。
    俺们貌似之前讨论过这个问题了。
    One can't proceed from the informal to the formal by formal means.
    8 Ağu.
    zhenyiyazan:
    话说做engineering的人与专于science的人的思维习惯是很不一样的,两者各有长短处,没有必要相互歧视。
    6 Ağu.
    zhenyiyazan:
    巧了,我中学的时候也学过几天围棋,就是水平比较烂罢了。
    加菲真是越来越强了,感觉这两年你真是有一个飞跃啊~~~吾等已经忘尘莫及了啊
    顺便提一句,解放军是PLA,PLC应该是Programmable Logic Controller吧?
    6 Ağu.
    cat garfieldyazan:
    好!
    那个Mango貌似有几局就是最后官子的时候打劫判断失误了。。。
    6 Ağu.
    RomanGolyazan:
    让7子算是很大的优势吧
    赢专业九段估计不是很可能哦
    围棋还是像科幻世界里面那个文章说的,你在局部计算得精细了,很可能大局上就出问题了
    我这里有项目,回来我们一起搞一个单片机的小系统如何
    6 Ağu.
    cat garfieldyazan:
    GnuGo在19X19上差不多是6级,我在9X9上可以和GnuGo下平。貌似有个Mango的电脑在对方让7子的情况下赢了专业九段,貌似采用了蒙特卡罗搜索技术。那个搞深蓝的中国人2007年在IEEE上发文章说,在10年内会有超强围棋电脑出现。我现在用的软件是PSP上的梅泽由香里やさしい围棋,里面的AI倒是不怎么样,但是有无数的题,布局、定式和死活,做得我也快疯了。。。
    29 Tem.
    RomanGolyazan:
    围棋还是很复杂吧,《A beautiful Mind》里面好像Nash和同学下围棋下到精神崩溃了……
    围棋不是要让子么,貌似围棋的计算机实现有几个软件,什么手谈,乌鹭之类的,我还下不过手谈……
    29 Tem.
    cat garfieldyazan:
    看到Nash用Brauer fixed point theorem证明Hex游戏必然会分出胜负。Nash是受围棋启发设计的Hex,比围棋简单很多,而且理论上先走是必胜的。然后就顺路看看围棋了。刚刚用软件测了一下,8级。。。数子规则是有差别啦,不过结果差别不大。我没学过PLC(第一反应是解放军。。。)。
    26 Tem.
    RomanGolyazan:
    我是高一学的围棋了,和我一个兄弟下过一次,剿了他一条大龙之后被他剿了一条……你学到什么级别了,日本围棋的数子规则和中国的不一样的说
    你以前木有学过PLC么
    26 Tem.
    cat garfieldyazan:
    PLC可以用forth编程么。。。
    我这两天在学围棋,回来和你下吖。
    不知道你知不知道Moore这家伙最近在干啥。
    http://www.colorforth.com/haypress.htm
    26 Tem.
    RomanGolyazan:
    应该从武侠小说的角度来分析
    东方不败手中的针灰常厉害,就是这么简单的一个东西,可以发挥极致的威力,而新手拿一把倚天剑什么的,也只是乱砍一气,只不过用大Java和大.Net之类的重型武器,乱砍一气看起来还有点东西,用FP来弄,一开始看不到什么实质性的东西,这是computer Science经常遇到的困境,你自己做项目非得做到理论上优雅,但是一群搞Engineering的人会不断的干扰你,非要着力于一些很浅表的东西……
    对了,你懂不懂PLC吖,和我一起搞项目吧……
    26 Tem.
    cat garfieldyazan:
    看过SICP的录像或书的话,你会发现前三章几乎没有提到Scheme的语法和语义,一切都是那么自然,但你看看他们都用Scheme做了些什么。而第四章则直接实现了各种语义的Scheme解释器。随便翻开一本X语言的书,你看看用了多少篇幅介绍X语言的语法、语义、特性,然后再看看他们用X语言都干了什么。至于用X语言本身构造X语言的解释器和编译器就更是凤毛麟角了。从“根本复杂性(要解决的问题本身)”和“非根本复杂性(与要解决的问题无关)”的角度看,你提到的“其实越简单的东西往往越复杂”,我的理解是Lisp系语言几乎没有非根本复杂性(这是简单),所以可以把时间都花在解决“问题本身”上,而不是X语言本身的复杂性上。所以这里的“复杂”是指,Lisp往往用来解决那些比较复杂的问题。
    至于流行不流行,那是大人物们考虑的事情,对我来说意义不大。每个人都可以选择合适自己的工具。我感叹的也不是“为啥Lisp不流行”,只是对具有相同价值观的人的一种发自内心的感概,没有任何对使用其他语言的程序员的冒犯之意。
    19 Tem.
    zhenyiyazan:
    while everything has its reason, everyone has his reason.
    说lisp太简单有点玩笑了(其实越简单的东西往往越复杂)。lisp之死,生不逢时罢了。
    java老不死,也不只是因为用的人多。People switch only when they see something that is way better, holy shit better, wow, this is like ten times better.
    话说回来lisp并没有死,正如从某种意义上说,没有任何一样事物会“死”。
    18 Tem.
    cat garfieldyazan:
    猫MM:
    A1.为什么有了Windows还要有其他的操作系统呢?如果你上飞机的时候,偶然瞥见驾驶舱里的控制系统用的是Windows,你会怎么办。。。
    A2.People invent new languages to keep other people busy.呃,这点在猫MM身上还是卓有成效的吖。
    话说那个电机吖,发现个好玩的东西,http://reprap.org/bin/view/Main/WebHome
    你怂恿你们老师搞一个吖,然后可以帮我生产全封闭的魔方!
    <<<<<<<<<
    周大侠:
    A1. 为啥Lisp不流行?因为她太简单,没有人可以写Defective C++, More Defective C++, Imperfect C++。。。如果你不能为是不是给你的基类搞一个纯虚的析购函数而烦恼,人生还有什么乐趣呢。。。
    A2. 为啥Java流行呢?
    Programmer Managers love Java because everybody else is doing it, which means there's one less thing that can be held against them when their project finally collapses under the crushing weight of
    their foolish incompetence.
    http://jfm3.org/phosphorous.pdf
    Sucking less is the key!
    16 Tem.
    yuyayazan:
    我来晃荡一下。。
    那个双子加菲蛮灵滴~
    16 Tem.
    xinghuayazan:
    恩恩。。。强烈要求写一部计算机编程语言发展史简明科普版。。。
    最近看语言看的很头大。。
    为什么有了c还要有其他的呢。。。。被com打败了。。。
    16 Tem.
    zhenyiyazan:
    个人感觉lisp就不适合多人团队,因为要凑起来那么多精通lisp的人,在现在已经很难了。
    于是lisp就顶多在一些场合下当糖用了
    13 Tem.

    İzleme notları

    Bu girdinin izleme notu URL'si:
    http://garfield-jarod.spaces.live.com/blog/cns!7B2D7CA0008D25E4!1200.trak
    Bu girdiye başvuruda bulunan bloglar
    • Hiçbiri