- 论坛徽章:
- 0
|
回复 151# OwnWaterloo
bignum_mul(a,b)了?这与lisp的(bignum-mul a b), f(x) 与 (f x)。(省略中间)。对非算术表达式呢?
这种我觉得应该是a bignum_mul b,至于怎么实现这样,在c中可以封装,在c++中更是可以重载。但是这里你的确说中了lisp的一个好处,一致性。就是你后面说的“lisp对算术运算都一视同仁”,所谓一切都是函数。
冤枉啊,我从来没觉得方便不重要,甚至认为方便是设计软件和编写程序最重要的考虑之一。我只是说现在的语言和以前的语言的计算能力是等价的。
(setq table (eval-when-compile (计算那个表的代码)))。
包括你前面说的元编程是否就是宏能完成的?在c++中还可以用模版来完成。如果仅仅是这样,那我并不觉得你所谓的元编程有什么让人耳目一新的地方。比如前面那个bignum_mul(a, b),我也可以用:
- #define BIGNUM_OP(a, op, b) ((bignum_##op)((a), (b)))
- BIGNUM_OP(a, mul, b)
复制代码 来稿嘛,尽管看起来没你那个好看,但是你那个到处是括号也不见得比我好到哪里去,五十步笑一百步,半径八两。
首先,鉴于lisp的表达能力,10万行已经是很大很大的项目了。(省略)《XXX C++编码规范》
很久以前lisp的确有很多大型项目是lisp写的,不过那都差不都是几十年前的事情了。至于说规范,我觉得不管是什么规范,一致才是核心,但是别人不是你,你也不是别人,所以一个团队里面多少有些不一致,这个就很麻烦。
鉴于lisp的表达能力,10万行已经是很大很大的项目了。如果退一步,万行左右的lisp项目
不觉得lisp表达能力有c的10倍强,尽管有些地方Lisp表达是占优,但是别忘了,还有些地方c等也比lisp占优。
我是在认识到lisp如何如何后,在校内上吐槽了一句:软件学院居然不教lisp而教什么Java,C#,这与技校有什么区别?然后被人推荐这本书的,前面那个《百年后语言》也是这个作者写的。
《百年后。。。》这个我看过,这个人现在据说成了天使投资人。以前lisp写了个web系统,卖给雅虎赚了钱就洗手了5000万$。至于天朝的大学,我已经心灰意冷了。倒不是教不教lisp这些事情,而是其他很多很多事情,我觉得高中读完,懂事的孩子(知道该干什么,不是那种只知道玩,什么也不知道的那种)就该自己想想想做什么,然后一门子心思去做,专注才能成大事,现在互联网方便了,要什么资料,都是那么方便而廉价。反观去中国的大学,费用浪费倒是小事,还浪费你很多事情去搞些莫名其妙的东西。唉,不说了,心灰意冷。 |
|