V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mozartgho
V2EX  ›  程序员

大家如何评价Lisp语言?

  •  
  •   mozartgho · 2013-05-17 15:24:55 +08:00 · 11148 次点击
    这是一个创建于 4211 天前的主题,其中的信息可能已经有所发展或是发生改变。
    大家如何评价Lisp语言,《黑客与画家》里Paul力捧Lisp,但是Lisp好像很少在工程应用中出现。只有一些科研机构用的比较多。不知道这里有没有在自己的项目中使用Lisp的经验,可以分享下。而且用它写程序完全是另一种思维,要完全熟练掌握的话,需要花大力气。大家觉得有没有必要学一种在工作中完全用不着,然后可能未来也不太可能会用到的语言。

    另外我对很多人提到的 “学Lisp虽然不会教你剑招,但对提升内力很有帮助” 这样的观点表示怀疑!
    37 条回复    1970-01-01 08:00:00 +08:00
    tysx
        1
    tysx  
       2013-05-17 15:58:42 +08:00
    装逼神器
    sivacohan
        2
    sivacohan  
       2013-05-17 16:02:08 +08:00 via Android
    没学过。o yeah~
    bitsmix
        3
    bitsmix  
       2013-05-17 16:03:17 +08:00
    先学再说呗
    ruchee
        4
    ruchee  
       2013-05-17 16:15:48 +08:00
    学学就知道了

    在我用会Vim之前我也同样对Vim的声誉表示怀疑,用会以后才知道此言不虚

    Lisp同理
    Cadina
        5
    Cadina  
       2013-05-17 16:19:44 +08:00
    都不了解就来评价
    chemzqm
        6
    chemzqm  
       2013-05-17 17:19:53 +08:00
    "另外我对很多人提到的 “学Lisp虽然不会教你剑招,但对提升内力很有帮助” 这样的观点表示怀疑!"
    为什么怀疑?
    bengol
        7
    bengol  
       2013-05-17 17:27:03 +08:00
    越来越像cnbeta了啊,各种喷
    mozartgho
        8
    mozartgho  
    OP
       2013-05-17 17:30:54 +08:00
    @chemzqm 拿C++来说,两种语言编程的思路完全不同。所以即使Lisp很熟,对C++技能的提升也没多大帮助。就好像我现在很熟悉C++,但是发现对于提升Lisp技能没什么帮助一样。完全不一样的东西,我很讨厌“编程语言都是想通的”这样的言论。
    RisingV
        9
    RisingV  
       2013-05-17 17:32:51 +08:00
    是程序员很爽,机器很不爽的语言。诞生的时候,芯片远还没今天那么快,而且昂贵。所以工业上不会去采用。久而久之,到了今天,世界已经是命令式语言的天下了。思维方式比较难改变的,企业也不大招得到这方面的人。就算生产环境用得不多,但是它还是为其它语言的设计提供了很多灵感。
    hooluupog
        10
    hooluupog  
       2013-05-17 19:36:06 +08:00
    很难大面积普及使用,搞数学和搞研究的好像很喜欢lisp。不过一定要学一下,毕竟现在这么多主流语言借鉴了一些函数式编程的思想,学和实际中使用不冲突。
    Kymair
        11
    Kymair  
       2013-05-17 20:00:30 +08:00
    Lisp简直就是计算本身啊…
    我学了一段时间Clojure之后再回去看Ruby和JavaScript觉得很多地方都豁然开朗了。
    所以我是真的认同Lisp增强内力的说法的 XD
    darasion
        12
    darasion  
       2013-05-17 20:02:07 +08:00
    虽不明,但觉厉。
    Hualin
        13
    Hualin  
       2013-05-17 20:08:01 +08:00   ❤️ 1
    科研机构用?你指哪方面科研机构,其实他们也不用。

    你还没学过 Lisp 就那么想质疑想知道有没有,一个你压根不了解的东西,你就算知道“大家怎么评价它”,又能改变你什么?

    要看为啥就戳这里,其实看了也白看
    http://blog.jobbole.com/18587/
    itopidea
        14
    itopidea  
       2013-05-17 20:12:54 +08:00 via Android
    很喜欢的编程语言。
    ivenvd
        15
    ivenvd  
       2013-05-17 20:18:13 +08:00
    @mozartgho “所以即使Lisp很熟,对C++技能的提升也没多大帮助。就好像我现在很熟悉C++,但是发现对于提升Lisp技能没什么帮助一样。”

    诡辩。

    正因为编程思想不一样,你没学过 Lisp,所以再熟悉 C++ 也不会对 Lisp 有帮助。反过来你已经学过 C++,所以学 Lisp 会对 C++ 有帮助。有疑问?
    flypiggy
        16
    flypiggy  
       2013-05-17 20:52:16 +08:00
    没了解之前觉得看上去就很烦.....稍微了解下大爱!

    scheme做大学的第一门语言不是没道理的..
    tootight
        17
    tootight  
       2013-05-17 20:57:29 +08:00
    我是因为 emacs 才学的 lisp,
    因为有需求, 学会后可以直接用上,
    语言类的也没必要争个好坏, 能实际应用起来就可以了
    momo5269
        18
    momo5269  
       2013-05-17 20:58:52 +08:00
    括号太多了.......手写时候还真是d疼啊。听别人说的有范型方面的优越性什么的,还有autolisp也是lisp撒。至于项目,没啥了解,可以去问问田春(tianchunbinghe.blog.163.com) 至少我觉得国内第一人是他吧...
    skywalker
        19
    skywalker  
       2013-05-17 21:07:43 +08:00
    clojure很好
    Hyperion
        20
    Hyperion  
       2013-05-17 21:17:30 +08:00
    写起来学起来都费脑... 另外, 编程语言是不是相通, 这得看你从那个角度去比较. 有些层面上完全是翻天覆地的变化. 反正最后都是喂cpu吃指令, 硬要说相通也没办法...
    luikore
        21
    luikore  
       2013-05-17 21:40:31 +08:00
    elisp 过来人表示虽然和 ruby 很相似但远没 ruby 好使

    稍微了解了下 clojure, scheme 就做过 SICP 习题, 装了 sbcl 只写了点 hello world 和查了下集合的 API, 都没发现让人眼前一亮的地方...
    skydark
        22
    skydark  
       2013-05-17 22:44:12 +08:00   ❤️ 1
    想起小学学到简易方程的时候,一大片同学抱怨这货完全没必要嘛,反正当普通应用题做也不难,列方程求解还写的好长,有啥好的?
    Lisp应该当作数学/计算来学。嗯,数学恰好符合你说的“用它写程序完全是另一种思维,要完全熟练掌握的话,需要花大力气……在工作中完全用不着(雾),然后可能未来也不太可能会用到(大雾)……虽然不会教你剑招,但对提升内力很有帮助……” _(:з」∠)_
    duhastmich
        23
    duhastmich  
       2013-05-17 22:47:15 +08:00   ❤️ 1
    carmack 前一阵子在c++ 里搞fp, 现在干脆搞 haskell了,fp显然有它吸引人的地方
    http://www.reddit.com/r/haskell/comments/1dwjup/john_carmack_starting_port_of_wolf_3d_in_haskell/
    Hongmin
        24
    Hongmin  
       2013-05-18 00:30:24 +08:00 via iPad
    Lisp有很多方言,差别也都不小吧。
    本人断断续续学了半年scheme,读过sicp,the little schemer,the scheme programming language。
    最大的感觉就是写lisp程序时需要更多的思考。另外,一些语法也不易弄懂,如continuation,macro。
    最近Javascript使用的较多,感觉这厮就是一lisp方言啊。有了scheme的经历,对深入掌握js帮助极大。
    seeker
        25
    seeker  
       2013-05-18 00:58:37 +08:00
    动态类型函数式语言lisp系(scheme, racket, common lisp...),静态类型函数式语言sml, haskell,动态类型面向对象语言smalltalk, ruby,静态类型面向对象语言java, c#, c++。
    都看看有好处。
    比如:了解lisp,那java 8里头加的lambda就知道了由来和一般用法;就知道ruby里面的block本质。
    很对新语言都揉合了函数式、面向对象,比如OCaml,scala,f#。看多了以后,再学其他xxx语言,就轻松很多(所谓内功?)。
    FrankFang128
        26
    FrankFang128  
       2013-05-18 01:14:13 +08:00
    没地方用,很快就忘了。
    kylefeng
        27
    kylefeng  
       2013-05-18 15:21:49 +08:00
    自己去学一下就知道了呗,要想比较实用一点可以去看 Clojure,可以和 Java 平台比较好的结合起来。
    middleware
        28
    middleware  
       2013-05-27 09:11:43 +08:00
    Lisp 除了 S-exp 的语法(为了 macro)和 full-continuation,已经被其它语言借鉴光了(特别是 Lua)。Clojure 是为了用 JVM。如果不搞 JVM 还不如 Lua/Ruby 之类。
    Radeon
        29
    Radeon  
       2013-05-27 09:14:23 +08:00
    Functional Programming语言本质上是比较反RAM机模型的,也就是算法不友好
    leizongmin
        30
    leizongmin  
       2013-05-27 09:27:23 +08:00
    写AutoCAD扩展用的就是AutoLisp
    davepkxxx
        31
    davepkxxx  
       2013-05-27 09:45:25 +08:00
    正在学Clojure,感觉这个语言效率一般,但是想法很好。
    ayang23
        32
    ayang23  
       2013-05-27 10:20:35 +08:00
    自我感觉haskell比lisp舒服多了,而且现在functional programming研究的前沿应该是属于haskell的。lisp,我觉得学会写emacs配置文件就够了。
    2dian718
        33
    2dian718  
       2013-05-27 17:35:55 +08:00
    其实看看sicp挺好。学lisp也是为了学它的思想。
    wodemyworld
        34
    wodemyworld  
       2013-05-27 17:45:29 +08:00
    lisp思想很。。。。。不那么容易转过弯来,尤其是oo大行其道的今天
    不过它的宏是今天没有任何语言能比的
    效率嘛,不能说差,只能说解释器实现的不好,如果lisp机还在的话,还能算的上是效率最高的呢,主要还是看自己怎么优化,在今天的话,你也可以跑程序在FPGA上,优化的方法有很多,主要看自己的能力
    ijse
        35
    ijse  
       2013-05-27 17:57:04 +08:00
    一定是不错的语言,否则 它怎么还会现在都在有人用它、谈论它。。

    对LIST也有过稍微了解,当兴趣学学它应该 是不错的,, 对写程序有了另一种思考方式,会很好玩。。
    clino
        36
    clino  
       2013-05-27 23:10:29 +08:00
    @Hualin 这篇很有意思,有些地方要笑死了,不过写在快10年前了,作者看好的ruby没有取代perl,而是在web开发上大行其道,python 倒是差不多可以说取代了perl原来的位置
    Hualin
        37
    Hualin  
       2013-05-27 23:38:57 +08:00
    @clino 对的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5396 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 09:09 · PVG 17:09 · LAX 01:09 · JFK 04:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.