Eric Raymond对于几大开发语言的评价

Eric Raymond是开源运动的领袖人物,对于UNIX开发有很深的造诣,主持开发了fetchmail。他的《大教堂与集市》被奉为开源运动的经典之作。下面对几大开发语言的评价非常中肯,是我近年来看到的比较出色的评论。特别是他评价中抱有的那种“简单就是好”的思想,很值得我们深思。我特别选译出一些段落,供大家阅读思考。

Raymond此文不是在泛泛地去谈语言的优劣,而是要回答一个问题:在UNIX下开发开源项目,如何选择开发工具?我翻译的很零散,建议大家去看原文。

C

虽说C语言在内存管理方面存在严重的缺陷,不过它还是在某些应用领域里称王称霸。对于那些要求最高的效率,良好的实时性,或者与操作系统内核紧密关联的程序来说,C仍然是很好的选择。

C良好的可移植性也为它加了分。不过现在很多其他的语言可移植性越来越好,C在这方面的优势可能会逐渐丧失。

现有的很多程序可以产生非常棒的C代码,比如语法分析器、GUI Builder等,这时候C语言也是有吸引力的,因为你所需要编写的代码只是整个程序的一小部分。

再有,我们当然应该认识道,C语言对于程序员来说具有无可替代的价值。就我这里讨论的每一种语言而论,只要你发掘的足够深,到最后你会看到它们的内核都是用纯正的、可移植的C写成的。

到了今天这个时候,我们最好把C看成是UNIX虚拟机上的高级汇编语言。

就算是其他的高级语言完全可以满足你的工作需要,抽出时间来学习C语言也仍然有益,它能帮助你在硬件体系的层次上思考问题。

即使到了今天,最好的C语言教程仍然是1988年出版的K&R第二版The C Programming Language.

总结:C最出色的地方在于其高效和贴近机器,最糟糕的地方在它的内存管理地狱。

C++

C++最初发布于1980年代中期,当时面向对象语言被认为是解决软件复杂性问题的银弹。C++的面向对象特性看相去使其全面超越了C,支持者认为C++将迅速把上一代语言挤到陈列馆里去。

但是历史并非如此。究其原因,至少有一部分归咎于C++本身。为了与C兼容,C++被迫作出了很多重大的设计妥协,结果导致语言过分华丽,过分复杂。为了与C兼容,C++并没有采用自动内存管理的策略,从而丧失了修正C最严重问题的机会。

另外一部分原因,恐怕要算到面向对象身上。看起来OO并没有很好的达成人们当年的预期。我就这个问题调研过,我发现使用OO方法导致组件之间出现很厚的粘合层,并且带来了严重的可维护性问题。今天让我们来看看开放源码社区,你会发现C++的应用还是集中在GUI,游戏和多媒体工具包这些方面,在其他地方很少用到。要知道,面向对象也只是在这些领域被证明非常成功,而开放源码社区的选择,很大程度上体现了程序员的自由意志,而不是公司管理层的胡乱指挥。

也许C++实现OO的方法有问题。有证据表明C++程序在整个生命周期的开销高于相应的C, Fortran和Ada程序。不过,究竟这是否应该归咎与C++的OO实现上,还不清楚。

最近几年,C++加入了很多非OO的思想,其异常思想类似Lisp,STL的出现是非常了不起的。

其实C++最根本的问题在于,它基本上只不过是另一种传统的语言。STL中的内存管理比先前的new/delete和C的方案要好的多,但是还是没有解决问题。对于很多应用程序而言,其OO特性并不明显,相比与C,除了增加复杂度之外没有获得很多好处。

总结:C++优点在于作为编译型语言,把效率与泛型和面向对象特性结合起来,其缺点在于过于华丽复杂,倾向于鼓励程过分复杂的设计。

Java

Java的设计很聪明,它采用了自动内存管理,这是最大的改进,支持OO设计带来的好处虽然不那么突出,不过也很值得赞赏,相比C++,其OO设计规模小而且简单 。

相对于Python而言,Java有一些明显的失误。有些地方设计的还是太复杂,甚至有缺陷。Java的类可见性和隐式scoping规则太复杂了。 Interface机制是为了避免多继承带来的问题而设计的,但是要理解和使用它还是挺难。内部类和匿名类导致令人困惑的代码。缺乏有效的析构机制,使得除了内存之外的其他资源(比如互斥量和锁)管理起来很困难。Java的线程不可靠,其I/O机制很强大,但是读取一个文本文件却非常繁琐。

Java没有管理库版本的机制,从而形式上重蹈了了Windows DLL地狱的覆辙。在类似应用服务器这样的环境里,这引起了大量的问题。

总体而言,我们可以说除了系统编程和对效率要求极高的程序之外,Java在大部分领域优于C++。经验表明,Java程序员似乎不太容易象C++程序员那样构造过度的OO层,不过在Java中这仍然是个严重问题。

Java 是否优于诸如Perl, Python这样的语言?我们还不是很清楚,很大程度上似乎跟程序规模有关。其擅长的领域基本上于Python相似,在效率上无法跟C/C++相提并论,在小规模的、大量使用模式匹配和编辑的项目里也无法匹敌Perl。在小项目里,Java显得过分强大了。我们猜测Python更适合小项目,而Java适合大项目,不过这一点并没有得到有力的证明。

Python

Python是一种脚本语言,可以与C紧密整合。它可以与动态加载的C库模块交换数据,也可以作为内嵌脚本语言而从C中调用。其语法类似C和模块化语言的杂合,不过有一个独一无二的特征,就是以缩进来确定语句块。

Python 语言非常干净,设计优雅,具有出色的模块化特性。它提供了面向对象能力,但不强迫用户进行面向对象设计。其类型系统提供了强大的表达能力,类似Perl,具有匿名lambda表达式,这点又让Lisp黑客们感到亲切。Python依靠Tk提供方便的GUI界面开发能力。

在所有的解释型语言里,Python和Java最适合多名程序员以渐进方式协同开发大型项目。在很多方面,Python比Java要简单,它非常适合与构造快速原型,这一点使得它对于Java有独特优势:对于那些既不很复杂,又不要求高效率的程序,Python十分合适。

Python 的速度没法跟 C/C++相比,不过在今天的高速CPU上,合理地使用混合语言编程策略使得Python的上述弱点被有效地弥补。事实上,Python几乎被认为是主流脚本语言中最慢的一个,因为它提供了动态多态性。在大量使用正则表达式的小型项目,它逊于Perl。对于微型项目而言,shell和Tcl可能更好, Python显得太过强大了。

总结:Python最出色的地方在于,它鼓励清晰易读的代码,特别适合以渐进开发的方式构造大项目。其缺陷在于效率不高,太慢,不但跟编译语言相比慢,就是跟其他脚本语言相比也显得慢。
 
 

转:中国简史(速记版)

      盘古说:我开;女娲说:我补;共工说:我撞;神农说:我尝;精卫说:我填;夸父说:我追;后羿说:我射;嫦娥说:没射着!
  
  黄帝说:我们做什么;尧说:我让;舜说:我也让;禹说:咱爷们怎么办?启说:让他们球!
  桀说:好玩;汤说:造反有理了;夏亡了……
  纣说:痛快;武王说:我也反了;商亡了……
  幽王说:点火;褒姒说:刺激;周也亡了……
  
  干将说:我铸;专诸说:我舞;荆柯说:我刺;赢政一躲:没刺着……
  始皇说:我修;姜女说:我哭;陈胜说:有种;项羽说:我举;刘邦说:我斩;秦亡了……
  
  孔子说:我仁;孟子说:我义;老子说:我无为;庄子说:我逍遥;韩非子说:把他们全抓了。
  张良说:我出谋划策;韩信说:我统帅三军;萧何说:无运筹帷幄;高祖说:老婆,怎么办;吕后说:全喀嚓了。
  文景说:我治;武帝说:我兴;光武说:我中兴;献帝说:我说了不算。
  张骞说:我通;班超说:我也通;苏武说:通个屁!
  卫青说:我打;霍去病说:我也打;李广说:我还打;昭君嫣然晕笑,遂天下太平。
  
  董卓说:我势大;吕布说:我人帅;貂婵说:你们俩谁厉害。董卓完蛋了。
  曹操说:快帮我脱鞋迎老许;刘备说:快给我牵驴来访诸葛;孙权说:周郎自有妙计安天下;周瑜说:加油,烧死老曹;诸葛说:天下三分,人人有份;司马昭说:向刘备同志学习;晋开始了。
  
  司马迁说:要想成功,不怕被宫;班固说:我要出书;司马相如说:一首赋稿费一千;曹操说:抄家伙我要赋诗;曹植说:命题作文有何难;孔明说:我要写道动员令;陶潜说:你们累不累呀。遂卷铺盖回家了。
  
  朱温说:我同花顺;萧道成说:我一条顺;陈霸先说:重新洗牌……
  杨广说:去扬州观花;李渊说:消来公费旅游;李世民说:魏征,你的意思;李治说:老婆,你的意思;武则天说:那还不如我说了算;薛刚说:反了你了!
  骆宾王说:鹅肥;王勃说:情深;李白说:酒美;王维说:景幽;孟浩然说:风流;杜甫说:屋漏;白居易说:抱想琵琶唱OK;李商隐:我没话说了。
  柴荣说:三武废费有我一份;赵匡胤说:今年流行黄袍子寇准说:带上瓶醋谈判去;李刚说:保家卫国;徽宗说:没保成;钦宗说:我想回家;金兀朱说:没门……
  赵构说:把姓岳的抓了;岳飞说:我有何罪?秦桧说:也许有……
  陆游说:我要死了;文天祥说:死得好,我为你喝彩!
  完颜说:金大;耶律说:辽大;成吉思汗说:大你个球!忽必烈说:亚欧大陆我说了算……
  
  朱元璋说:高筑墙;建文帝说:孙承祖业;朱棣说:我找我爹;严嵩说:清史留字;崇祯说:袁崇焕,你的良心大大地坏了……
  李自成说:歇会,找个小姐来;吴三桂说:敢泡我老婆;皇太极说:三桂是个好同志。
  
  顺治说:爱江山更爱美人;康熙说:江山好管儿子难教;雍正说:说我狠,我就狠给你们看;乾隆说:我爹是谁;嘉庆说:和坤是我爹留给我的遗产……
  施耐庵说:天罡盖地煞;罗贯中说:曹刘震河腰;吴承恩说:全盘西化;曹雪芹说;读书人的事能算淫么;蒲松龄说:我是另类我怕谁?
  林则徐说:我销;洪秀全说:我反;康有为说:我变;孙中山说:看我的。
  慈禧说:木偶戏你当好演呀;李连英说:有奴才伺候;李鸿章说:九亿白银,小意思;袁世凯说:窃国者为诸候?蒋介石说:共党未灭何以家为?
  
  毛泽东说:中国人民从此站起来了;蒋经国说:老头子啊,反攻大陆无望了。
  刘少奇说:搞市场经济才是出路;周恩来说:和平共处五项原则;江青说:你们都不是好人。华国锋说:大家不要吵啊。
  邓小平说:改革了,开放了;成克杰说:我是贪官我怕谁;朱镕基说:贪官怕我;江泽说:我三个代表;胡锦涛说:要与时俱进

北师大2000级中文系歌后 赵斐-梦言

你越来越像我一个梦
在梦里也有海誓山盟
无所谓日出到日落
充实或寂寞
平平的生活
…………
你可以牵过 我的手
在梦里尽兴追逐风 畅游
看花落 云飘过 雨顺风轻落
影印在天空
我想追 呀依呀依噎~~~~~
追寻流逝的笑容
梦中有言  这是福是祸
我该不该说
我想飞 呀依呀依噎~~~~~
飞过了也无暇思索
梦中有言  这缘已尽了
是我着了魔
Oh Do Sa……Na Yi Ya……
点击搜索下载

转:信仰之路

青藏铁路历经5年的修建即将于7月1号全线通车。

青藏铁路东起青海格尔木,西至西藏拉萨,全长1118公里,其中多年连续冻土里程550公里,海拔高于4000米的地段达960公里,最高点海拔5072米。青藏铁路是世界上海拔最高和最长的高原铁路。

从高中的时候,就一直很想去西藏,因为郑钧的《回到拉萨》,因为韩红的《青藏高原》,还因为那传说中的圣洁与神秘,更因为内心深处对于精神与意义的向往。在被现实击打得支离破碎的幼小却又衰老的心灵深处,追寻信仰的火种从未息灭。

然而生活总是一天比一天现实,当肉体的痛苦真正来临时,我终于意识到所谓精神不过是一种奢望,而所谓爱情更不过是一种幻想。信仰之路似乎离平凡的我们越来越远,没有精神与意义的生活也越发苍白。

是的,我们就是这样的人。金钱与幸福无关,权力不过是自欺欺人。我不想证明什么,也不想整天装B,面对被嫉妒与虚伪强奸了的面孔,从来都只是微笑。

幸福只来自于内心,如果你不相信那是因为你还不曾体会。信仰给予我们的内心以强大的力量,它支撑着独立的人格,坚持着冷静的思考,让我们最终与天地合一,以自然之道面对生活。

我不知道自己何时才有资格踏上这条信仰之路,也不知道自己何时才能为此做好准备,净化心灵,寻找意义,追求爱与信仰,这就是我们的一生。

怀念许美静

    挺喜欢的一个歌手,怎么就精神分裂了呢?

    最喜欢她的《城里的月光》,怀念那首 MTV ,怀念一中实验大楼的三楼机房,周祖松老师的机器上,写pascal 程序累了的时候,有小蔡和小邓一起,闹腾着要放歌听的日子。

城里的月光

于台烟
作词:陈佳明 作曲:陈佳明

———
每颗心上某一个地方
总有个记忆挥不散
每个深夜某一个地方
总有着最深的思量
世间万千的变幻
爱把有情的人分两端
心若知道灵犀的方向
那怕不能够朝夕相伴
—-
城里的月光把梦照亮
请温暖他心房
看透了人间聚散
能不能多点快乐片段
城里的月光把梦照亮
请守护它身旁
若有一天能重逢
让幸福撒满整个夜晚

放你在心里

– 许美静 –
 
词曲:陈佳明 编曲:derek zuzarte
 
曾经拥有你给我的爱那么深
以为你会宠爱我一生
是我太贪心是我太天真
始终不见你犹豫的眼神
曾经想过深爱一个人怎么够
还要刹那和天长地久
是我太贪心是我太天真
始终不信你的爱变冷
该是最后一次让你心疼
分不清这是梦还是真
不能肯定对你没有恨
我会如何继续你别问
一生把你放在心里头
尽管未必能够长相厮守
只要偶尔深夜想起有你
会有一丝微微的酒意
一生把你放在梦里头
尽管从此就要和你从此分手
让我能够感觉一些暖意
让我以为还在你怀里

一沙一世界,一花一天堂

To see a World in a Grain of Sand    一粒沙里有一个世界

And a Heaven in a Wild Flower,     一朵花里有一个天堂

Hold Infinity in the palm of your hand 把无穷无尽握于手掌

And Eternity in an hour.        永恒宁非是刹那时光

–英国诗人威廉·布莱克(William Blake)(1757-1827)著,台湾的散文家陈之藩译。

还有另外几个译本:

一颗沙里看出一个世界,一朵野花里一座天堂;

把无限放在你的手掌上,永恒在一刹那里收藏。(梁宗岱译)

一花一世界,一沙一天国;

君掌盛无边,刹那含永劫。(李叔同)

天涯上有篇文章写了与之相似的典故:

"一花一世界",出自唐蜗寄题庐山东林寺三笑庭联:桥跨虎溪,三教三源流,三人三笑语;莲开僧舍,一花一世界,一叶一如来。又说"一砂一世界,一花一天堂",语出《佛典》,昔时佛祖拈花,惟迦叶微笑,既而步往极乐。从一朵花中便能悟出整个世界,得升天堂,佛祖就是佛祖,谁人能有这样的境界?!

  佛曰:一花一世界,一草一天堂,一叶一如来,一砂一极乐,一方一净土,一笑一尘缘,一念一清静。这一切都是一种心境。心若无物就可以一花一世界,一草一天堂。参透这些,一花一草便是整个世界,而整个世界也便空如花草。

今天逛"水木",看见一哥们的签名档里也有这几句,不过稍有不同:

一花一天堂 一草一世界

一树一菩提 一土一如来

一方一净土 一笑一尘缘

一念一清净 心是莲花开

繁华落尽,梦入禅声。

月儿无语,照尽世间多少悲欢离合;莲花有情,普渡情海无数痴男怨女。

莲花开过了,净土依然沉浸于尘缘未了的一方之中,追随着禅音而去,清清净净的世界也许就在前方。。。

深夜再读诗

21839.jpg 

读史明智《卜算子·挽龙庭飞》

  纵马沁水岸,抬眼望长安。旌旗漫漫压泽川,雄威震中原。国事日艰难,蛟龙困浅滩。只手无力挽河山,碧血荐故园。

光之风《钗头凤》

  楚江波,如烟柳,一叶轻舟慈父忧。蜀王恨,南廷漠,一朝烽火,几年离索。错!错!错!

  梅依旧,雪轻愁,青丝成灰泪空流。贤君义,情长乐,故园如梦,此身难脱。莫!莫!莫!

顶烽飞扬《卜算子·陆灿》

  背水望雍城,萧瑟入秋风。醉弹青霜空怀抱,谁鉴此情衷。中原业成空,力挽江山倾。丹心碧血男儿志,一缕楚音轻。

式微《沁园春·别陆灿将军》(一斛珠 沁园春·别公瑾 改)

  有月如弓,有岸如天,有浪如山。正奔湍急水,投鞭竞渡,嵯峨云栈,兵戈钩连。百战悠悠,千秋藐藐,能使归来鬓未斑?君去矣,便风华长逝,绝响琴弦。

  平生一段辛酸。料只在乔园荒草间。想少年奇志,沉埋大野,从来碧血,付诸波澜。岂必青山,何须马革,冰雪天然白玉棺。绝知汝,为衷情百感,不欲生还。