古黑币3 个
成长值6467 点
金币133 个
精华贴3 个
今生相逢便是缘分,何苦去怨恨,何苦去仇视。
如果你是问“我”为什么要学,那是因为《黑客与画家》这本书里面作者说它很牛x,不是针对谁,是说在座的所有语言都是辣鸡。当时我就想不能是你说厉害就是厉害,我得亲自体验一下是不是和宣传的一个效果咯。
硬着头皮试着使用过一段时间之后发现这已经不是很牛x的程度了,对于当时只接触过 C 和 Java 不知道天有多大的我来说已经是颠覆级别了,颠覆啊!到后来都是吃惊到张着嘴在学习啊!从来不知道还能这么玩儿啊!
到后来我学了编译原理...我的妈呀,有一种醍醐灌顶的感觉,原来 Lisp 是这么一个意思啊。
这就是我从入坑到入门的经历。再往后的故事就离题了。这就是我学 Lisp 的机缘巧合。
如果是你想问“作为一门语言,而且是一门极为小众的,上手门槛貌似巨高的,乍一看语法诡异到反人类的语言,到底还有没有学习的意义?既然这么小众难道学来就为了装逼?”这个问题的话,那我就一个一个回答。
1. 小众不代表不好。我一直认为 Lisp 是“屠龙之技”。什么叫屠龙之技,绝世武功,但是根本没几个人会用,也没有那么多龙让你屠,反而没有普通的功夫来的人气高。
2. 上手门槛其实很低。门槛高就高在太小众,资料相对别的主流语言太少太少,而且 Lisp 本身又有一堆方言,也就是 Lisp 不是像 Java 那样有大公司来维护,也不像 C 那样有相对公认的标准,Lisp 是由一堆变种组成的,大同小异,就像方言一样。所以新手就算装个 Lisp 环境就已经要累死了,文化人的说法就是,“望而却步”。
3. 语法反人类?语法层面我敢说没有任何一门语言能超过 Lisp。为啥?优点列出来比这篇文章还长。就一点,由于 Lisp 直接采用语法树作为语言本身的表示形式,所以才可能有 Lisp 宏这种东西存在。
别的语言中即使有宏,也需要先转换成语法树,再操作语法树。所以如果有种语言想不做转换就操作语法树,那这种语言看起来就是 Lisp。。。
别的不提了,太多了,打了一大段又删了,这东西就是如果你能听懂那你一定已经接触过 Lisp,也就不用我说。如果听不懂,那我解释有啥用。。。所以这也是为啥你看到这么多传教的,却好像不想泄露天机一样,不是不想告诉你,是这东西实在太奇葩,没有办法做类比啊。
说到底,大家最关心的,到底有啥用!能赚钱么!能找工作么!
没办法,大家都是实在人。我就在这明说吧。
找 Lisp 工作那是不可能滴,这辈子都不可能找工作滴。
但是学了之后你就像开了上帝视角,能站在一个相当高的高度去审视别的语言,这不是在吹牛,这是真的,真的相当高。你可以看穿为什么别的语言要这么设计,为什么要提供这种语法糖,为什么要有这种设计模式,可以快速上手绝大多数所谓新语言。
面试的时候能写的一手风骚的 Lisp 也能唬住面试官啊。(我会告诉你我就是这么找到工作的?)当然这一切都建立在你能基本掌握 Lisp,以及有一颗刨根问底的心。
最后,点题!点题很重要!
为什么要学!程序语言界最亮最酷炫的奇葩就在那里!为什么不学!
|
|