首页 > 网络 > 经典语录

一个发誓不用Java的程序员,不得不在太空中调试Lisp

常驻编辑 经典语录 2022-09-18 故伎重演   火星   航天器   原型   程序员   副总   进程   团队   语言   代码   软件
b7Z拜客生活常识网

Lisp在当时是人工智能的编程语言,正好和火星车的任务匹配,并且也不用管理C语言的指针,还支持垃圾回收。b7Z拜客生活常识网

不过当时的NASA对Lisp持怀疑的态度,很多人觉得Lisp很奇怪,担心Lisp那奇怪的垃圾回收技术会突然让应用进程死掉。b7Z拜客生活常识网

但是罗恩认为:“当你使用的语言提供一种高级的抽象时,完成工作会变得更快更容易。”b7Z拜客生活常识网

罗恩他们先使用Lisp针对手头的问题定义一个自定义语言,相当于DSL,然后为火星车的硬件进行编译,这种方式对于内存受限的硬件非常有用。b7Z拜客生活常识网

在把代码安装到火星车上进行测试之前,罗恩的小组还在Macintosh 电脑上写了一个模拟器,把代码做了非常充分的测试。b7Z拜客生活常识网

罗恩的小组不但能写火星车的漫游和避障程序,还能写底层的编译器模拟器,可见技术能力还是非常强的。b7Z拜客生活常识网

虽然Lisp火星车进展顺利,可以使用立体视觉传感器在户外自主导航,在崎岖地形环境下漫游,但是罗恩他们并不是唯一一组火星车原型制造者,他们还有竞争对手。b7Z拜客生活常识网

罗恩回忆说:NASA内部也存在山头,也有政治斗争,Lisp火星车不幸成为牺牲品,最后团队解散,很多成员离开了。b7Z拜客生活常识网

1997年,第一个火星车Sojourner到达火星,这时候,驱动它的是C语言b7Z拜客生活常识网

b7Z拜客生活常识网


b7Z拜客生活常识网

2

幸运的是,NASA换了一个领导,发起了一个叫做新千年的计划,其中一个任务就是深空探测。b7Z拜客生活常识网

b7Z拜客生活常识网

深空一号计划飞过一个小行星和彗星。b7Z拜客生活常识网

它需要一个自主航天器控制系统,叫做远程代理(Remote Agent)b7Z拜客生活常识网

C++派和Lisp派展开了一场斗争,这一次最终Lisp获胜。b7Z拜客生活常识网

罗恩他们故伎重演,再次使用Lisp 定制了一个领域专有语言,这个语言的结构会阻止你编写某些有问题的代码,例如竞争条件。

相关阅读:

  • S24赛季巅峰第一争夺,微凉陌辰一决雌雄,枷锁或成黑马
  • 印度为什么比中国先登陆火星(成功登陆火星的国家)
  • 申猴 五行,戊申猴五行属什么
  • 为何人类对火星如此执着?火星曾有过“生命”吗?
  • 月球有可能偏离轨道,“坠落”地球吗?
  • 十二星座周运:白羊座运气向好,巨蟹座灵感爆棚,狮子座面临
  • NASA:建议中国分享嫦娥五号带回的月球样品,就像阿波罗样
  • 预计
  • “航天青年”牛俊坡:忙完火星探测
  • 火星上发现“一道门”?NASA好奇号拍到的这张照片引发网
    • 网站地图 |
    • 声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不做权威认证,如若验证其真实性,请咨询相关权威专业人士。