请问你为什么要学习Lisp? |
如果你是问“我”为什么要学,那是因为《黑客与画家》这本书里面作者说它很牛x,不是针对谁,是说在座的所有语言都是辣鸡。当时我就想不能是你说厉害就是厉害,我得亲自体验一下是不是和宣传的一个效果咯。
硬着头皮试着使用过一段时间之后发现这已经不是很牛x的程度了,对于当时只接触过 C 和 Java 不知道天有多大的我来说已经是颠覆级别了,颠覆啊!到后来都是吃惊到张着嘴在学习啊!从来不知道还能这么玩儿啊! 到后来我学了编译原理...我的妈呀,有一种醍醐灌顶的感觉,原来 Lisp 是这么一个意思啊。 🖕🌧🌰🉑🦜 这就是我从入坑到入门的经历。再往后的故事就离题了。这就是我学 Lisp 的机缘巧合。 如果是你想问“作为一门语言,而且是一门极为小众的,上手门槛貌似巨高的,乍一看语法诡异到反人类的语言,到底还有没有学习的意义?既然这么小众难道学来就为了装逼?”这个问题的话,那我就一个一个回答。 🖕🚤🔪❌🐢 1. 小众不代表不好。我一直认为 Lisp 是“屠龙之技”。什么叫屠龙之技,绝世武功,但是根本没几个人会用,也没有那么多龙让你屠,反而没有普通的功夫来的人气高。2. 上手门槛其实很低。门槛高就高在太小众,资料相对别的主流语言太少太少,而且 Lisp 本身又有一堆方言,也就是 Lisp 不是像 Java 那样有大公司来维护,也不像 C 那样有相对公认的标准,Lisp 是由一堆变种组成的,大同小异,就像方言一样。所以新手就算装个 Lisp 环境就已经要累死了,文化人的说法就是,“望而却步”。 3. 语法反人类?语法层面我敢说没有任何一门语言能超过 Lisp。为啥?优点列出来比这篇文章还长。就一点,由于 Lisp 直接采用语法树作为语言本身的表示形式,所以才可能有 Lisp 宏这种东西存在。 🙌⛵🍧📳 别的语言中即使有宏,也需要先转换成语法树,再操作语法树。所以如果有种语言想不做转换就操作语法树,那这种语言看起来就是 Lisp。。。 别的不提了,太多了,打了一大段又删了,这东西就是如果你能听懂那你一定已经接触过 Lisp,也就不用我说。如果听不懂,那我解释有啥用。。。所以这也是为啥你看到这么多传教的,却好像不想泄露天机一样,不是不想告诉你,是这东西实在太奇葩,没有办法做类比啊。 🖕🚠🥑⚛🐅 说到底,大家最关心的,到底有啥用!能赚钱么!能找工作么! 没办法,大家都是实在人。我就在这明说吧。 找 Lisp 工作那是不可能滴,这辈子都不可能找工作滴。👩🕶🛋😥✌ 但是学了之后你就像开了上帝视角,能站在一个相当高的高度去审视别的语言,这不是在吹牛,这是真的,真的相当高。你可以看穿为什么别的语言要这么设计,为什么要提供这种语法糖,为什么要有这种设计模式,可以快速上手绝大多数所谓新语言。 面试的时候能写的一手风骚的 Lisp 也能唬住面试官啊。(我会告诉你我就是这么找到工作的?)当然这一切都建立在你能基本掌握 Lisp,以及有一颗刨根问底的心。 🥷👞⚔🥰👂 最后,点题!点题很重要! 为什么要学!程序语言界最亮最酷炫的奇葩就在那里!为什么不学!
帖子热度 9415 ℃
缘同凤姐深情高歌一曲,粉丝捧场奖励2 个 金币.
|
|
看完楼主的帖子,我的心情竟是久久不能平静。正如老子所云:大音希声,大象无形。我现在终于明白我缺乏的是什么了,正是楼主那种对真理的执着追求和楼主那种对理想的艰苦实践所产生的厚重感。面对楼主的帖子,我震惊得几乎不能动弹了,楼主那种裂纸欲出的大手笔,竟使我忍不住一次次地翻开楼主的帖子,每看一次,赞赏之情就激长数分,我总在想,是否有神灵活在它灵秀的外表下,以至能使人三月不知肉味,使人有余音绕梁、三日不绝的感受。楼主,你写得实在是太好了。我惟一能做的,就只有把这个帖子顶上去这件事了。
|