2010年1月29日星期五

阮一峰的网络日志

阮一峰的网络日志


引言摘录之五

Posted: 29 Jan 2010 03:10 AM PST

前几天,我突然想知道,人们在twitter上都引用谁的话。

于是,我搜索了#quote标签。

我惊奇地发现,返回的搜索结果质量相当高,堪称我见过的效果最好的引言网站。人们真的在一刻不停地引用妙语警句,每分钟都会新增几十条结果。

如果你想进一步找出最受欢迎的引言,可以搜索"RT #quote"。

如果你想搜索某个主题的引言,可以加入主题词,比如"love #quote"、"war #quote"、"animal #quote"等等。

我自己非常喜欢收集妙语警句,认为这是学习他人智慧、增强表达效果的最好方法之一。将近三年前,我做过一个"引言摘录"系列()。今天,我从twitter上又摘录并翻译了一些引言,附在下面,当作这个系列的第五部分。

=============================

51.

你有没有注意到,律师总是比当事人有更多的笑容?
—— Geo Carlin,美国喜剧演员

Have you ever noticed that the lawyer always smiles more than the client?
-- Geo Carlin

52.

愤怒(anger)只比危险(danger)少一个字母。
—— 作者未知

Anger is only one letter short of danger.
-- Unknown

53.

到头来,我们记住的不是敌人的攻击,而是朋友的沉默。
—— 马丁·路德金,美国民权运动领袖

In the end, we will remember not the words of our enemies, but the silence of our friends.
-- Martin Luther King, Jr.

54.

如果你把生活中的每件事,都拖到不得不做的时候才去做,那么你就为自己找来了许多压力。
—— Jack Canfield,美国演说家

When you constantly live your life in Have-To Land, you put yourself in a position of pressure.
-- Jack Canfield

55.

愤怒总是有理由的,但是很少有可取的理由。
—— 富兰克林,美国政治家,独立宣言起草人之一

Anger is never without Reason, but seldom with a good One.
-- Benjamin Franklin

56.

勇气并非因为无畏,而是因为认识到,存在比畏惧更重要的东西。
—— 作者未知

Courage is not the absence of fear, but rather the judgment that something else is more important than fear.

57.

用掉这个下午,你不可能把它带走的。
—— Annie Dillard,美国作家

Spend the afternoon. You can't take it with you.
-- Annie Dillard

58.

声称一种数据库满足ODBC规格,就好比声称电影《泰坦尼克号》可以转录在VHS录像带上。
—— Ken North,美国程序员

Saying a database is ODBC-compliant is like saying Titanic is a VHS-compliant movie.
-- Ken North

59.

良知是身体里的社会舆论。
—— H. L. Mencken,美国记者

Conscience is the inner voice that warns us that someone might be looking.
-- H. L. Mencken

60.

英雄和普通人的区别,只在于前者比后者多勇敢了5分钟。
—— 爱默生,19世纪美国诗人

A hero is no braver than an ordinary man, but he is brave five minutes longer.
-- Ralph Waldo Emerson

61.

基础研究就是,科学家不知道自己的工作有何用时所做的工作。
——冯·布劳恩,火箭科学家,导弹之父

Basic research is what I am doing when I don't know what I am doing.
-- Wernher von Braun

62.

当一个人连续失败三次或四次以后,他的所作所为体现出了他的人格。
—— James A. Michener,20世纪美国作家

Character consists of what you do on the third and fourth tries.
-- James A. Michener

63.

《宪法》只保障公民有追求幸福的权利。实现幸福,还得靠你自己。
—— 富兰克林,美国独立宣言起草人之一

The Constitution only gives people the right to pursue happiness. You have to catch it yourself.
-- Benjamin Franklin

64.

不要跟蠢货辩论。他们会让你的智力下降到同等程度,然后经验十足地痛击你。
—— 作者未知

Never argue with an idiot. They drag you down to their level and beat you with experience.

65.

缺乏忠诚是导致人生失败的主要原因之一。
—— Napoleon Hill,美国畅销书作者

Lack of loyalty is one of the major causes of failure in every walk of life.
-- Napoleon Hill

66.

生活的10%,是发生在你身上的偶然事件,剩下的90%是你对这些事件的反应。
—— John Maxwell,美国宗教演说家

Life is 10% of what happens to me and 90% of how I react to it.
-- John Maxwell

67.

弱者相信运气,强者相信因果。
—— 爱默生,19世纪美国诗人

Shallow men believe in luck and strong men believe in cause and effect
-- Ralph Waldo Emerson

68.

小心你的思想,它们会变成言词。小心你的言词,它们会变成行动。
—— 作者未知

Watch your thoughts; they become words. Watch your words; they become actions.

69.

总是做正确的事,让一些人感激,让其他人震惊。
—— 马克·吐温

Always do right - this will gratify some and astonish the rest.
-- Mark Twain

70.

一切都变了。如今,人们严肃地看待喜剧演员,却把政治家当笑话看。
—— Will Rogers,美国喜剧演员

Everything is changing. People are taking the comedians seriously and the politicians as a joke.
-- Will Rogers

71.

幸福来自于有目标的生活,而不是来自他人或物质。
—— 爱因斯坦

If you want to live a happy life, tie it to a goal. Not to people or things.
-- Albert Einstein

72.

精神萎靡就会一事无成。证明你有力量的唯一方法,就是力量没有用完。
—— 尼采

Nothing suceeds in which high spirits play no part. Only excess of strength is proof of strength.
-- Friedrich Nietzsche

73.

太多的人活着不是为了实现梦想,而是为了减轻恐惧。
—— Les Brown,美国演说家

Too many of us are not living our dreams because we are living our fears.
-- Les Brown

74.

充分倾听,然后开口,否则就是愚蠢和可耻之人。
—— 《圣经》

He who answers before listening - that is his folly and his shame
-- bible Prov 18:13

75.

人生就像骑自行车。只有向前进,才能保持平衡。
—— 爱因斯坦

Life is like riding a bicycle - in order to keep your balance, you must keep moving.
-- Albert Einstein

76.

评价自己的时候,不要用已经取得的成就,而要用力所能及、却没有做到的事情。
—— John Wooden,美国棒球教练

Don't measure yourself by what you have accomplished, but by what you should have accomplished with your ability.
-- John Wooden

77.

英雄气概就像象棋里的卒。它们向前攻,可能会遭到迎头痛击,但也可能开创胜局。
—— 歌德,德国诗人

Daring ideas are like chessmen moved forward. They may be beaten, but they may start a winning game.
-- Johann von Goethe

78.

离家多年,你终于回到故乡,这才发现你想念的不是这个地方,而是你的童年。
—— Sam Ewig,美国棒球运动员

When you finally go back to your old hometown, you find it wasn't the old home you missed but your childhood.
-- Sam Ewig

79.

如果你费心打扮自己,你往往就会以貌取人。难怪衣冠楚楚的家伙都是蠢货。
—— 作者未知

When you try to dress nice it is SO hard not to judge people. No wonder every one nicely dressed is an arse.

80.

人格并非与生俱来,必须自己去争取,不断向上游前进。随波逐流,不可能到达那里。
—— Dale Turner,美国音乐家

Character is not a gift. It is a conquest & its kingdom lives upstream. You never get there by drifting.
-- Dale Turner

81.

如果我们都雇佣比自己矮的人,这里就会变成一家侏儒公司。
—— David Ogilvy,英国广告专家

If each of us hires people who are smaller than we are, we shall become a company of dwarfs.
-- David Ogilvy

82.

冷漠的人不可能推动世界前进。
—— 作者未知

A different world cannot be built by indifferent people.

83.

网球运动最让人沮丧的地方是,不管你打得多好,都比不上一堵墙。
—— Mitch Hedberg,美国喜剧演员

The depressing thing about tennis is that no matter how good I get, I'll never be as good as a wall.
-- Mitch Hedberg

84.

伟大的成就刚开始时,不过是一两人之梦想。
—— James Allen,19世纪英国作家

The greatest achievement was at first and for a time but a dream.
-- James Allen

85.

逻辑带你从A点到达B点,想象力带你去任何地方。
——爱因斯坦

Logic will get you from A to B. Imagination will take you everywhere.
-- Albert Einstein

86.

多想一会,考虑一下别人,世界就会不同。
—— 小熊维尼,动画角色

A little Consideration, a little Thought for Others, makes all the difference.
-- Winnie the Pooh

87.

坏心情就像飞过头顶的鸟群,别让它们在那里筑巢就行了。
—— 作者未知

Bad negative thoughts are like birds flying overhead, just dont let them build a nest there.

88.

最伟大的写作风格,就是让文字彻底消失,只看到写作的内容。
—— 霍桑,美国小说家,《红字》的作者

The greatest possible mint of style is to make the words absolutely disappear into the thought.
-- Nathaniel Hawthorne

89.

如果你有一个好主意,那就径直去做,因为事后道歉比事前得到允许,容易得多。
—— 格蕾丝·霍珀,美国计算机科学家

If it's a good idea, go ahead and do it. It's much easier to apologize than it is to get permission.
-- Grace Murray Hopper

90.

你可以失败很多次,但是当你开始责怪他人时,你才真正开始失败。
—— 约翰·巴勒斯,19世纪美国学者

A man can fail many times, but he isn't a failure until he begins to blame somebody else.
-- John Burroughs

91.

所有明日之花朵,都是今日播种的。
——印度谚语

All the flowers of all the tomorrows are in the seeds of today.
-- Indian Proverb

92.

全部身心投入一项工作,因为太阳光只有聚焦,才能点火。
—— 贝尔,电话发明人

Concentrate all your thoughts upon the work at hand. The sun's rays do not burn until brought to a focus.
-- Alexander Graham

93.

教育的目的,是让空洞的思想变成开明的思想。
——Malcolm Forbes,《福布斯》杂志创始人

Education's purpose is to replace an empty mind with an open one.
-- Malcolm Forbes

94.

全身心投入和善用时间的能力,决定了一切。
—— 艾柯卡,美国企业家

The ability to concentrate and to use time well is everything.
-- Lee Iacocca

95.

有些人渴望永生,但是一遇到下雨的午后,他们就不知道该干什么。
—— Harvey H. Potthoff,美国宗教活动家

Some people who yearn for endless life don't even know what to do with a rainy afternoon.
—— Harvey H. Potthoff

96.

只有写成文字,并且签过名,你才可以说出口。
—— Earl Wilson,美国众议员

If you wouldn't write it and sign it, don't say it.
-- Earl Wilson

97.

罕见的不是天赋,而是甘愿跟随天赋、尝尽人间甘苦的勇气。
-- 艾瑞卡·容,美国当代畅销书作家

Everyone has talent. What is rare is the courage to follow that talent to the dark place it leads.
-- Erica Jong

98.

鸟儿歌唱,并非因为它知道答案,而是因为它有一支歌。
—— 作者未知

A bird doesn't sing because it has an answer, it sings because it has a song

99.

要么你赢,要么你得到了教训。
—— 罗伯特·清崎,美国商人,《富爸爸,穷爸爸》的作者

Sometimes you win and sometimes you learn.
-- Robert Kiyosaki

100.

直到你为那些永远无法回报你的人们做出奉献时,你的生活才开始有意义。
—— 作者未知

You have not lived until you have done something for someone who can never repay you.
-- Anonymous

101.

所谓现代战争,就是你什么也没做,就已经成了一条死狗。
——海明威,20世纪美国作家

In modern war... you will die like a dog for no good reason.
-- Ernest Hemingway

102.

傻瓜才会害怕无法避免的事情。
——普布利柳斯,公元前一世纪罗马作家

Tis foolish to fear what you cannot avoid.
-- Publilius Syrus

(完)

2010年1月27日星期三

阮一峰的网络日志

阮一峰的网络日志


等他们老了,死了

Posted: 27 Jan 2010 02:13 AM PST

一、

网上有《许倬云谈话录》的书摘。

蒋经国的那一节,有一段话:

"蒋经国问我:美国的社会,工会的力量,民主制度好处在哪里,坏处在哪里;民主的意义,自由的意义。

我解释:一个水坝,拼命往上筑高,坝堤一决,水一冲击,谁也受不了。坝降低,水流缓下来,松弛堤后面的压力,这个是好事情。"

这段话说的,其实就是"大禹治水,改堵为疏"。但是,我以前没有想到,这个道理可以用于解释民主制度的作用。真是非常浅显、直观的一个比喻。

二、

当社会内部产生矛盾的时候,怎么办?有两个办法。第一个办法是高压政策,我把你关起来,不让你说话,看你还闹不闹?第二个办法是疏导政策,我跟你对话,看看能不能解决问题,即使一时无法解决,也让你心里感觉好受一些,避免双方直接对抗。

这两个办法,都可以用来保持局势稳定。但是,从长期来看,第一个办法——高压政策——是无效的。因为它并没有解决矛盾,而只是延缓了矛盾的爆发。你可以试想一下,如果三峡大坝没有泄洪孔,只是一堵实心的墙,那么结果会怎样?你真以为你能堵住长江?

三、

且慢,再想一下,在长期中,高压政策真的是无效的吗?

不,它是有效的,不仅短期有效,而且长期也有效。因为人不是水,水会越积越多,但人不会,人只会变老变死。所以,如果你把矛盾压制下去,等到那些家伙老了死了,抗争不动了,矛盾就自然不存在了!

因此,如果政府采取高压政策解决社会矛盾,它就肯定会一直拖下去,拖到你的矛盾和你的肉体,都化为尘埃。

这也是许多敏感的历史档案,一定要到当事人都死光后,才能公布的道理。

四、

作家张承志在其非常情绪化的小说《心灵史》中,描写了晚清西北回民起义。

当时,回汉两族矛盾剧烈,先是回人杀汉人。根据《心灵史》,回民首领马化龙攻占靖远县后,该县23万汉人不分男女老幼被杀得只剩下五千人;当回民攻占陕西某县城后,杀光包括出生没几天的婴儿在内所有汉族男子。后来,清廷派出左宗棠对回民实行了同样残酷的镇压。我在网上找到了这样的记载:

"除了极少数逃至西安城内和秦岭深山的近千回民外,几乎所有的(陕西)回族都被屠杀或被驱赶,使昔日里清真寺遍布的八百里秦川竟无一清真寺幸存(除西安城内外);陕北一些地方本是回民重要的聚居区,但经过起义之后,回族人口已荡然无存。

甘肃的回民由于有马占鳖的投降,可以说是保存回民最多的省份。而过去丝绸古道上的一片片回回村庄,经过"左屠户"的屠杀也无一幸免,其惨状由此可见一斑。

在镇压回民起义中,清军巢杀之恶毒在人类史上也绝无仅有(仅陕西回族就有"十不存一"之说),改变甚至抹杀了回回民族在西北繁茂的人口分布,其倾族驱赶回族人民,专门把劫后余生之回民由原来的关中平原、银川平原等富庶之地而强制安插在甘肃平凉、静宁、会宁、定西及宁夏西海固和径原、隆德等山区贫瘠之处的安置策略,直接影响到了今天西北回族政治、经济、文化的发展,完全可以说,今天西北回族的贫困就是由于当年清政府民族压迫的安置政策造成的。"

这些事件发生在19世纪70年代,距今不到150年。可是,如今还有多少人记得这种残酷得近乎灭族的屠杀?即使在回族内部,恐怕大多数人也未必清楚这些事件。这样刻骨的仇恨,都能被淡忘和化解,那么还有什么矛盾不能解决呢?

由此可见,时间是最强大的解决矛盾、淡忘痛苦的武器。

五、

历史能够经受得起漫长的拖延,但是我们经受不起。要在高压政策之下生活一辈子,这是何等的痛苦?

前几天,在一家五星级酒店的33层餐厅吃单位的年夜饭。我端着自助餐的盘子,站在幕墙玻璃前,看着不远处黄浦江上黯淡的灯火。冬夜的寒风凛冽,街上没有多少行人,室内厚厚的地毯上,落满了轻柔闪烁的背景音乐。我突然非常的伤心,想到一年就这样过去了,忍受和厮混,未尽的人生也许都是如此,真是情何以堪。

那一夜,未来在夜风中飘荡,风中没有答案。

(完)

2010年1月24日星期日

阮一峰的网络日志

阮一峰的网络日志


为什么要容忍错误言论?

Posted: 23 Jan 2010 06:26 AM PST

最近几篇网志中,我对时局发表了一些议论。

结果,就有网友留言了:

"如果这样不负责任的言论再不删除,我想贵网站被关闭的可能性太大了。"

好吧,首先,我要感谢这些网友对我的关心。虽然这种话也可以被理解成威胁,但是比起另一些人直接在我的文章后面张贴《刑法》第一百零五条第二款,我想还是把这叫做关心吧。

我要对这些朋友说,谢谢"忠告",但是我不打算删除或修改我的那些文章,因为我不觉得自己说错了。

反而,由于你们这样的"建议",我想起了一本书——奥地利作家茨威格的《异端的权利》。

这本书讲了一个真实的故事,描述了十六世纪时,一个孤立无援的教士如何向宗教独裁者加尔文挑战。那个教士除了道德的正直以外,一无所有,而加尔文掌握了所有资源,并且操纵了整个的国家机器。

书里是这样写的:

"一个人,既手无寸铁又单枪匹马,怎么能指望战胜有成千上万的支持,又有全部国家力量装备着的加尔文呢?

加尔文是一位组织艺术的大师,能够使全城全国转化为严格顺从的机器;能够扑灭独立思想,下令禁止思想自由而有利于他的全部教条。

国家权力在他的至高无上的控制之下,各种权力机关——市行政会议和宗教法庭,大学和法院,金融和道德,教士和学校,巡捕和监狱,文字和言论,甚至最秘密的切切私语,都听任他摆布。

他的教条已成为法律,任何人胆敢怀疑就要立刻受到教训,用压制讨论的辩论,用彻头彻尾精神暴虐的辩论,用监禁、流放或者火刑。

这教训就是在日内瓦只有一条真理是完全正确的:加尔文即先知。"

今天,我重新读了一遍这本书,深感收获重大。现在,我把这本书郑重推荐给你们,希望你们至少能够记住这本书的书名:即使异端也有自己的权利!

======================

在阅读过程中,我一直在思考一个问题:为什么会有人认为,"错误的"或者"不负责任的"言论就应该被删除呢?难道它们真的有那么大的危害吗?难道异教徒就一定要被烧死吗?

为什么我们不能尝试容忍错误的言论呢?即使有些言论可笑之极或大逆不道,我们加以容忍,并且保障人们有说出这些言论的权利,难道不是有利的吗?

——没错,我就是想解释为什么"言论自由原则"是必需的。

模仿德肖微茨教授的观点,我将理由分成三点:

  1)错误言论不一定是错的,而很可能是我们的偏见。历史一次又一次地证明,真理最初只掌握在少数人手里,如果我们不让这些少数人说出观点,历史就无法进步,很可能直到今天人类还以为地球是宇宙的中心。另一方面,许多时候,所谓的"错误言论",其实只是不符合当权者私利的言论,如果完全被禁止,只会对社会公平正义造成损害。

  2)必须保证任何人都有提出异议的权利。请试想,如果你和一个人在法庭上辩论,法官发出裁决,只有对手才有资格说话,你却被禁止不得开口,难道你不立即抗议这不公平的对待呢?如果我们的制度是,错误的人、可耻的人、或者至少是那些有权有势者看来是这样的人,都被禁止发表意见,那会是怎样的情景!

  3)禁止错误的言论,并不会让正确的言论变得更正确。如果你的观点是正确的,你有什么可怕的呢?狂热的群众运动,或者铺天盖地的吹捧,都不会让一个错误的观点变得更正确。真理总是真理,谬误总是谬误。宣传真理的正确做法,并不是禁止错误言论,而是用正确言论驳倒对方。你根本不用担心真理会败给谬误,因为真理是驳不倒的,任何需要保卫的真理都不是真理。

=========================

说到这里,有人也许会问,既然你那么相信言论自由,我的留言为什么被你删了?

我的回答是,那些广告帖、人身攻击帖、灌水帖、胡言乱语、不知所云的帖子,为什么不删?

言论自由并不意味着,你在他人的网志上可以为所欲为,而是意味着你也有同样的权利开设自己的网志。没有人可以禁止你在自己的园地里说话,你也永远不会生活在思想罪、或者《刑法》第一百零五条第二款的阴影之下,这才是言论自由。

(完)

2010年1月20日星期三

阮一峰的网络日志

阮一峰的网络日志


朝鲜,一个牛仔裤的故事

Posted: 20 Jan 2010 12:43 AM PST

年12月,一种NoKo牌牛仔裤在瑞典上市,售价高达1500瑞典克朗(约合217美元)。

(图一 NoKo牛仔裤)

与众不同的是,这种牛仔裤是朝鲜生产的。

(图二 模特展示这种牛仔裤)

这条消息引起了轰动。

你能想像吗,一个与"资产阶级腐朽文化"势不两立的国家,居然生产西方文化象征的牛仔裤!

人们充满了好奇,想知道这些牛仔裤是从哪里来的?为什么选择在瑞典上市呢?它的背后又有怎样的故事?

(图三 NoKo牛仔裤宣传册页)

上周的德国《明镜》周刊独家爆料,揭开了谜底。真是让人大开眼界,这条牛仔裤背后故事的曲折复杂,就像超现实主义小说一样,充满了反讽,比好莱坞电影还要精彩。

(图四 NoKo牛仔裤的三位创始人,从左到右分别为23岁的Jakob Ohlsson,24岁的Tor Rauden Kallstigen,25岁的Jacob Astrom。)

事情的起源,要追溯到2007年7月。当时,斯德哥尔摩一家广告公司的三个青年雇员,下班后聚在一起喝酒。他们都是大学刚毕业不久,想寻找一些好玩的事情。

(图五 NoKo牛仔裤创始人)

出于好奇,他们打开了朝鲜民主主义人民共和国的官方网页korea-dpr.com。在Business部分,他们看到网页上写着,朝鲜出口各种商品,包括化妆品、卡车、大理石、矿泉水、灭火器,还有--牛仔裤!

一时兴起,他们就按照网页上的联系方式,发出了一封电子邮件,声称自己是一家瑞典进出口公司的经理,对朝鲜产品有兴趣,希望与该国合作等等。

(图六 他们发往朝鲜的第一封Email。)

这原本只是一场恶作剧,第二天酒醒之后,三个年轻人就把这事忘了。但是没有想到,他们很快收到了回信,一个自称Sapmak的朝鲜人,用非常友好的语气感谢他们对朝鲜产品的兴趣,并且希望他们与朝鲜驻瑞典大使馆联系。

这些年轻人就真的给朝鲜驻瑞典大使馆打了一个电话。对方在电话里保证,将尽力满足他们的一切要求,并且邀请他们到使馆面谈。这三个瑞典青年心想,到使馆看看也很好玩,就欣然允诺。因为担心自己看上去太年轻,不像进出口公司的经理,他们就请出了其中一人的家长扮演经理。那位家长的正式职业是牙医,他穿上西装,打好领带,带着三个"雇员",就去拜访朝鲜驻瑞典大使。在拜访中,他们还随身携带了两条牛仔裤(其中一条还是穿过的),作为交给朝鲜方面的样品。一切看上去非常可信。

(图七 Noko牛仔裤的整个制作团队,这张照片是后来在平壤的照相馆拍的。)

2008年初,朝鲜向他们发出了正式邀请,希望他们到平壤的服装厂考察签约。三个年轻人提出,想参观朝鲜的计算机中心,以及与普通的朝鲜青年见面,并观看大型团体操表演"阿里郎"。但是,朝鲜方面开出了一份不一样的访问日程,包括参观存放金日成遗体的锦锈山纪念宫、万寿台金日成塑像、存放各国领导人赠送给朝鲜礼品的国际友谊展览馆等等。

(图八 平壤的全景,照片中央就是全世界最大的烂尾楼——柳京饭店。)

2008年7月27日,这三个瑞典青年从北京乘坐火车,抵达了平壤。车站上有专人迎接,并且还有一个专门派来为他们开车的司机。他们被带到了著名的高丽饭店(Koryo Hotel),宾主一起在酒吧里唱卡拉OK联欢。朝鲜陪同总是在唱慷慨激昂的军歌,而他们则是唱甲壳虫乐队的老歌,两种歌曲轮流响起,最后以双方一起合唱"平壤之夜"而结束。为了纪念这个夜晚,后来上市的牛仔裤的两个型号,就被分别定名为Kara型和Oke型。

(图九 高丽饭店是朝鲜最高级的宾馆,号称五星级,但是按照世界通行标准,只相当于三星级。)

接下来的10天,他们参观了一些朝鲜的服装厂,但是合作的事情迟迟没有进展。在这个过程中,他们还去参观了平壤动物园,那里的动物不多,就连鳄鱼看上去都很孤独。

(图十 夕阳中的平壤街头。)

在离开前的最后一天,他们终于见到了负责采矿和纺织部门的一位高级官员,双方握手、合影、干杯之后,协议就算达成了。最后的决定是生产黑色牛仔裤,因为蓝色牛仔裤是美国文化的象征,朝鲜不愿意生产。

(图十一 平壤合影)

又过了一年,牛仔裤终于生产出来了。其中又经过了许多曲折,比如朝鲜的女制衣工人,不熟悉牛仔裤的生产工艺,不得不专门培训缝纫技法,再比如,朝鲜缺乏制作牛仔裤所需的金属纽扣,不得不进口,但是货物在经过巴基斯坦的时候遗失了,费了九牛二虎之力才找回来。这些都不必细说了,总之,"朝鲜制造"的牛仔裤终于问世了。

(图十二 生产牛仔裤的朝鲜工厂。)

(图十三 生产所需的牛仔布来自中国。)

2009年11月11日,第一批1100条牛仔裤运抵斯德哥尔摩。一家百货公司被他们说服,同意从12月4日开始销售。但是瑞典媒体议论纷纷,讨论是否应该与朝鲜发展经贸关系,尤其是考虑到朝鲜半年前刚刚进行过核武器试验。牛仔裤只上架了半天,百货公司就不堪压力,决定退回这批货物,理由是不愿意卷入政治。

(图十四 在平壤服装厂楼外。)

在争议面前,三个瑞典青年发表了一份措辞谨慎的声明,表示没有想到会事情变得这么复杂,他们的最初动机只是好玩而已。

(图十五 在仓库中)

现在,这些牛仔裤不再在商店中销售了,而是索性作为展品,在新成立的NoKo牛仔裤博物馆展览,彻底从一种商品变成了行为艺术。

这个博物馆的网址是nokojeans.com,地址在斯德哥尔摩Vartoftagatan 47号,靠近Medborgarplatsen地铁车站。经过的朋友可以去看看。

(图十六 Noko牛仔裤博物馆)

至此,整个事件看上去就像一出一本正经恶搞的荒诞派戏剧,混杂着黑客文化、嬉皮士精神、摇滚、商业操作、共产主义意识形态等各种元素。在这条牛仔裤上面,你可以演绎出无数的象征意义,没准那一天它真的就会流行起来。

另一方面,联想到海盗湾宜家家具也都是瑞典人做出来的,不由让人感叹,这个国家的人的创造力怎么会这么丰富,玩得怎么会这么精彩,真是佩服啊!

(完)

2010年1月19日星期二

阮一峰的网络日志

阮一峰的网络日志


个人论坛出路何在?

Posted: 18 Jan 2010 05:51 AM PST

上周,我收到了小劳站长的来信(原件见后文)。

他架设的羊城网论坛,已经有10年历史了。在这十年中,多少风风雨雨都平安度过,但是今年不行了,政府管制互联网的力度越来越大,眼看就要被"和谐"了。小劳不禁叹息,不知出路何在。

按照政府的规定,论坛以及其他允许访问者发言的交互式网站,都必须申请BBS专项审批,否则就必须关闭。要拿到这个审批,非常困难,核心条件有三条:

  1)必须是法人;

  2)注册资金超过100万;

  3)必须有专人24小时监控网站,删除不良信息。

就算你满足了这三个条件,也不一定能成功,因为政府实行总量控制,不允许随便开设网上论坛。据说,整个广东省只批了腾讯公司一家,而浙江省索性停止了所有审批。

因为不可能拿到BBS专项审批,论坛迟早会被迫关闭,小劳为此感到很苦恼。他已经着手将服务器搬往境外。但是如果今年"白名单"制度实行,境外的论坛服务器照样会被屏蔽,所以也不能保证长期访问。

怎么办呢?难道论坛真的开不成了吗?我们无非就是讨论哪部电影好看,哪家饭馆好吃,哪个地方好玩,政府为什么就要赶尽杀绝呢?难道因为有一个人发表了"不良"言论,整条街的人都要被禁止说话吗?

我也不知道该怎么办。按照定义,我的这个网志也属于交互式网站,也必须去办BBS专项审批,必须24小时监控网友的留言,因为不可能做到,所以我也属于被清理的对象。自己都活不了,当然也就没办法为别人出主意了。

不过,我还是给小劳出了一个馊主意:设法在境外架设一个邮件列表服务器,所有发言都通过Email完成。Email不太容易被封锁,所以可以活得久一点。……可叹啊,我曾经觉得,邮件列表是过时的技术,现在看起来,很有必要好好研究一下,也许未来会发扬光大。

==========================

附:来信原文

一峰:

  我是从去年末开始才留意到您的博客的,您对互联网以及对中国社会的观点与我都很一致,赞誉之词我就不说太多了,我这次冒昧写Mail给您,其实是想谈谈我作为一个个人网站站长,目前所遇到的问题。

  今天看到新闻,说Google将考虑撤出中国了。我的个人网站现在也有这个打算——但我的个人网站绝非有什么外资背景,而是一个非常本土的网站。

 我的个人网站是在2000年末建立的(算是非常老的一个个人网站了,同期乃至后期出现的一些个人网站都早已淹没),之前我还是网易虚拟社区羊城故事(以讨论广州的文化和时政话题为主)的版主,但我和我的网友们已经厌烦了在网易的言论频频受到限制,特别是对很多公共事件的看法不能直抒己见。所以我们就创办了羊城网(gznf.net)。但随着羊城网的影响力越来越大——特别是在2003年SARS事件之中,羊城网率先披露了SARS爆发一事之后,网站也开始受到各个政府部门的关照,很多时候我们也面临之前和网易所面对的问题一样——被关还是被阉?

  不得已,我们多年来为生存只能做了很多妥协。但到了去年年末,严苛的政策使到大量个人网站非正常死亡,尽管我们暂时还未受到影响,但不免产生唇亡齿寒的感觉。而且由于阉割的尺度越来越大,如果单单为了网站的生存,而继续阉割下去,恐怕已经越来越背离我们创办这个网站的初衷了。再者,就算我们愿意继续被阉割下去,人家还愿不愿意你存在也是一个问题,随便一个部门一纸命令都可以让这个网站完蛋。

  对于这个网站,我们一直没有考虑商业化,网站的管理团队都是兼职的志愿者,我们本身也有其他的职业,不靠这个网站生活,所以也拒绝了几次收购和合并,只是很纯粹地当一个兴趣去做。但如果我们需要继续维持这个网站,又不尽可能不背离创办的初衷,唯一的选择就只能是实施诺亚方舟计划——迁到外国的服务器上了。而这样的结果,可能就会导致被墙(也不清楚以后究竟会不会有什么白名单政策),而让我们的访问量大大减少,只会成为少数会穿墙网友的小圈子。而且,由于语言以及距离,我们对于外国的服务器管理也没有十足的把握(不过国外的VPS主机倒是很便宜,可以尝试或作为后备)。

  对于这件事,我相信对于国内众多的个人网站站长也是很有代表性的,我希望听听您以及您博客读者对此事的看法和建议——作为一个个人网站的站长,我们还有更好的选择吗?

祝:健康

羊城网(gznf.net)小劳

(完)

2010年1月14日星期四

阮一峰的网络日志

阮一峰的网络日志


我的一些永久网址

Posted: 13 Jan 2010 11:43 AM PST

中国的网络环境,越来越差了。

我不知道还能在这里写多久,现在必须对未来做一些安排了。

下面是一些与我有关的永久网址,万一某天ruanyifeng.com不能访问了,可以查看这些网址。

  1. 备用网志:http://ruanyf.blogspot.com

  2. Feed:http://feeds.feedburner.com/ruanyifeng

  3. 个人主页:http://www.google.com/profiles/yifeng.ruan

  4. Twitter:http://twitter.com/ruanyf

  5. 邮件列表"转贴公社":http://groups.google.com/group/paste

另外,我的电子邮件地址是yifeng.ruan@gmail.com,也是长期有效。

(完)

壮士断腕,义无再辱

Posted: 13 Jan 2010 10:28 AM PST

一、

大约24小时之前,Google在官方网志上,发表了一个震撼性的声明,宣布退出中国市场。

These attacks and the surveillance they have uncovered--combined with the attempts over the past year to further limit free speech on the web--have led us to conclude that we should review the feasibility of our business operations in China.

"(中国)对Gmail的攻击,对电子邮件的监视,以及过去一年来,不断升级的对互联网上自由言论的控制,使得我们最终决定,重新评估在中国开展业务的可能性。

We have decided we are no longer willing to continue censoring our results on Google.cn, and so over the next few weeks we will be discussing with the Chinese government the basis on which we could operate an unfiltered search engine within the law, if at all.

我们决定,不再审查Google.cn的内容。未来几周中,如果可能的话,我们将与中国政府讨论,如何才能合法地在中国运营一个不受审查的搜索引擎。

We recognize that this may well mean having to shut down Google.cn, and potentially our offices in China.

我们明白,这很可能意味着Google.cn将被关闭,以及我们在北京的分公司的消失。"

就算太阳从西边升起,中国政府也不会同意"在中国运营一个不受审查的搜索引擎",所以Google事实上已经正式放弃了中国业务。

二、

下面是我对这个事件的一些感想。

首先,我要说,这是一个勇敢得难以置信的决定!

1)这样做羞辱了中国政府,所以Google未来肯定会遭到巨大的报复。

2)Google因此放弃了中国市场的巨额利润,很可能潜在高达几十亿美元。

3)一旦这样离开,只要中国政治体制不发生变化,Google就永远别想再回来了。

要做出这样的决定,需要多大的勇气啊!天平的一端是巨大的利益引诱和打击报复的威胁,另一端则仅仅是一个"不做恶"的信念。"坚持信念"(Keep Faith)说起来容易,但是有几个人真正能够做到?对于全世界99%的公司来说,这只不过是一句宣传口号,没人当真,用一句"遵守当地法律",就可以应付过去了。但是对于Google,"不做恶"简直成了它的传记标题。

它以巨大的勇气,做出这个决定,宁可断其一臂,也不肯同流合污、苟且偷生。这是对全世界理想主义者和热爱自由的人们的巨大鼓舞,这也是对全世界专制独裁政府及其帮凶的一个警告:金钱和暴政并非无所不能,休想征服那些自由和高贵的灵魂。Google用自己的行为,证明了它确实是一家巨人般的公司,必将作为人类的光荣,永载史册。

三、

其次,我要说,这是一个正确的决定。

请想一想,你可以和绑匪做交易吗?你把400万美元的赎金,空投给索马里海盗,你从此就安全了吗?绝不会的。那些匪徒只会变本加厉,进一步加害你,因为他们尝到了甜头。更何况,道义和法律在他们眼里视同草芥,寄希望于他们遵守交易约定,是不是太天真了?

就算Google同意中国政府的要求,对网站内容进行自我约束和审查,过滤所有敏感内容和关键词,中国政府就会放过Google吗?绝不会的。他们会变本加厉,提出更多的要求,比如要求查看访问日志和源代码。只要他们对你不是百分之百的控制,就不会放过你。

面对这样的要求,是不能做出让步的。因为只要让了一步,以后就没完没了,最终损失更大。上个世纪30年代,英国和法国为了避免同德国开战,先是默认了希特勒并吞奥地利,后来又同意希特勒占领捷克斯洛伐克,直到希特勒进攻波兰,才恍然大悟不能和此人做交易,战争是不可避免的。纵容希特勒的结果就是,法国整个沦陷,英国伤亡了100万人。早知如此,何必当初呢。

Google想要在当前的中国开展业务,"不做恶"是不可能的。即使你自己不想干坏事,也会有人找上门来逼着你干。如果Google想要保住自己的名誉,退出中国市场就是唯一的选择。

正是因为这个理由,半年前,国家有关部门以"传播淫秽色情信息"为借口,对Google施压时,我就建议Google退出中国市场了:

"中国有一句古话,叫做"宁为玉碎,不为瓦全"(An honourable death is better than a disgraceful life)。……Google公司如果真的退出中国,毫无疑问会遭受巨大商业利益的损失。但是与魔鬼合作,为了金钱,出卖灵魂,损失更大。"

四、

再次,我要说,Google反正已经退出中国了,请你再为中国人民做几件好事。

请把你在中国受到的待遇、你经历的网络审查、你遭受的网络攻击、中国网监部门的运作方式和组织架构、中国网络关键词列表,通通一五一十地公诸于世。让全世界看看,这个国家正在发生什么事,世界上五分之一的人口生活在怎样的制度之下,有怎样一堵大墙在限制他们的自由。

请你向美国政府提出要求,要求后者出面,向世界贸易组织(WTO)投诉中国的贸易保护主义。中国以清除有害信息为借口,保护国内市场,限制外国公司进入,不许它们向中国居民提供互联网信息服务,干扰了正常的国际服务贸易。美国政府应该请求国际贸易组织对中国进行制裁,要求中国在限期内开放国内的互联网市场。

五、

最后,Google即将退出中国,未来会怎样?

我想是时候了,我们要做好不再能访问Google的准备了,甚至要做好不再能使用互联网的心理准备了。过去半年中,新疆人的生活中就没有互联网。既然新疆人可以被过上这种生活,中国其他部分的人当然也有这种可能。

曾几何时,我觉得Google就是我的水和空气,没有Google,我不知道怎么活。但是,当这一天真的就要来临时,我反而坦然了,不再觉得没有互联网的生活不能接受了。

为什么我觉得互联网可以没有呢?因为我想明白了一件事。这个国家变成了现在这个样子,个人的前途已经谈不上了。不管有没有互联网,个人在这个国家里都是没有前途的。你建设国家的理想,被专制制度挡在门外;你幸福生活的梦想,被高涨的房价和稀薄的社会保障碾得粉碎;你赚钱发家的愿望,被各种罗网束缚,每前进一步,你就要做一次妥协,出卖一点灵魂。等到你快要走到终点的时候,你的灵魂也出卖得差不多了,变成和监视你的人一样的生物了。

一个人没有了前途,你说除了消磨时光,上网还有什么意义呢?

事情已经很清楚了,个人的前途不在于上网,而在于中国的政治制度。中国的政治制度不变化,个人不会有前途。生活在5000年来最严密的政府统治之下,真是个人的极大不幸。我们这一代人的人生,就是被政治糟蹋了。人生最美好的年华和充沛的创造力,完全被约束,在政治制度的束缚中白白消耗殆尽,无可奈何地看着自己的人生变成一片废墟。所以,我们可以不用Google,可以不上网,但是不能放弃要求政治制度改变的抗争。

而且,我要再说一次,中国目前的局势,实际上不是变得更悲观了,而是变得更乐观了。这个国家的国内矛盾正在加速升级,局势正在加速朝着我们希望的方向发展。对政府不满的人越来越多,而政府能够动用的力量越来越小。同时,通货膨胀和金融资产价格暴跌,都是马上就要开始的事情。天怒人怨,且看明朝。

六、

隋朝的时候,隋军讨伐南朝,檄文中说:"毒蛇螫手,壮士断腕,岂不惜其肌骨?所存者大也。"

1927年,王国维先生跳入昆明湖自杀,遗嘱中说:"经此世变,义无再辱。"

如果世界上最大的互联网公司都不堪羞辱,被迫断臂求生,试问还有什么人能忍受这种环境?如果一个人不堪忍受,甚至到了愿意砍手、愿意跳湖的地步,试问还有什么事情做不出来?如果你把别人都逼成了这样,试问你会有什么样的结局?

七、

Google退出中国市场,只是一个大事件的开始,而不是结束。让我们耐心等待,看历史站在谁的一边。

(完)

2010年1月9日星期六

阮一峰的网络日志

阮一峰的网络日志


PHP很烂?我的看法

Posted: 08 Jan 2010 09:28 AM PST

今天,我在玩聚上看到一篇台湾程序员的文章《PHP很烂》

我也想谈谈,我对这个问题的看法。错误肤浅之处,希望大家批评指正。

======================

PHP很烂吗?

作为一种计算机语言,它确实有很多缺点,而且是重大缺点。但是我认为,PHP目前最大的问题,并不在于语言本身,而是它的发展方向出现了偏差。

PHP的开发团队,好像正在致力于将它从"个人工具"升级为"企业工具",导致它的处境很尴尬。说它是个人工具吧,却有很多复杂的高级语言特性;说它是企业工具吧,运行效率却不高。结果到头来,不仅"易学易用"的特色丢掉了,而且由于性能问题,依然很难在大型项目中推广。

在我看来,问题出在PHP 4到PHP 5的那一次升级。PHP 4是一种个人工具,很像shell语言的再包装,属于过程式编程,确实易学易用,是个人网站的最合适开发语言。但是,PHP 5就完全不同了,大大增强了面向对象编程(OOP)功能,到了5.3版本,更是添加了名称空间(namespace),甚至连lambda函数都支持了。看上去,PHP的设计者似乎想把这种语言变成下一个Java。

这样做的结果,就是PHP不再是一种容易学习的语言了。初学者必须像学习Java那样,记住那些繁琐的OOP语法,才能用好PHP 5。更糟的是,由于语言变得复杂,带来解释器的性能下降。我记得看过一篇文章,里面说同样配置的硬件,PHP 5.0比PHP 4.3慢30%,要知道作为一种脚本语言,其实PHP 4的速度就已经很慢了。

这就是目前PHP的问题:作为一种个人工具,它的优势正在丧失;作为一种企业工具,它依然不行。

另一方面,由于语法越来越复杂,而PHP是一种书写很自由的语言,结果就导致很容易写出混乱得可怕的代码。正如XML格式创造者之一的Tim Bray所说:

"我很肯定,你能够用PHP写出干净、易读、可维护的代码。但是显然,你稍一放松就做不到这一点了。"

我觉得,现在可能是PHP代码分叉(fork)的时候了。未来的PHP最好有两个版本:一个版本面向企业级应用,支持高级的OOP功能,着眼代码的可维护性和可协作性;另一个版本面向个人应用,强调易学易用,着眼快速和高效的网站开发。

(完)

2010年1月7日星期四

阮一峰的网络日志

阮一峰的网络日志


16世纪的英国,21世纪的中国

Posted: 06 Jan 2010 08:17 AM PST

这几天,我又重新开始读布尔斯廷的《美国人》三部曲。

这是一套写得非常好的历史学著作,我强烈推荐。如果你想了解美国历史,有两本书是必读的,首先是这本,然后是威廉·曼切斯特的《光荣与梦想:1932-1972年美国社会实录》

《美国人:殖民地历程》第一章就讲到了,为什么清教徒要建立北美殖民地?因为他们在英国国内待不下去了,只好逃到北美。

为什么清教徒在英国待不下去呢?因为英国那时的主流宗教,是得到国王支持的"国教会"。凡是"国教会"的批评者、怀疑者、不同教见者,统统都要处罚和流放。

在这种背景下,清教徒开始要求宗教宽容。现代的"信仰自由"和"言论自由"的主张,都是起源于那时候,即起源于宗教斗争。为什么美国从建国起,就坚定地奉行"信仰自由"和"言论自由"?因为这个国家是由清教徒建立的,他们尝过被迫害的滋味,知道宽容的重要性。

《美国人》一书中,引用了当年清教徒的抗辩言论。大家看看,是不是直到今天,都堪称至理名言!

  * 企图压制谬误,将不可避免地压制真理。

  * 没有自由,就不可能顺利地揭示真理。

  * 与其唯一有用的真理遭到阻碍或摧残,不如许多谬误被容忍。

我看了这些话,马上觉得16世纪的英国与21世纪的中国,简直太像了。

  (1)都压制异议分子,这就不用说了。

  (2)都处于资本主义原始积累时期,财富分化严重,社会矛盾剧烈。

  (3)英国当时最赚钱的行业是毛纺。毛纺的原料就是羊毛,贵族和资本家为了获得羊毛,就把农民从土地上赶走,用抢来的土地养羊。而失地的农民没有了生活来源,只能去资本家的工厂,充当制造业的廉价劳动力。这就是著名的"羊吃人"。

  (4)中国目前最赚钱的行业是房地产。房地产的原料就是土地,(以下内容请根据上一点自行推导)……

这就是说,中国正在重复英国400年前的发展道路。相隔400年,两者的社会构成和经济运作模式,惊人地相似。

既然走上了同样的道路,英国后来发生的事情,中国也必然会发生。大家一定要有信心,中国一定会出现自己的克伦威尔或光荣革命。(不了解这两个词涵义的朋友,请自行网上搜索。)

最后,再补充一点。当年,国教徒以"不信仰上帝,蛊惑人心"为借口,表面上维护宗教纯洁,实质上消灭清教徒,维护本教派一派独大的垄断利益。而中国目前使用的借口,叫做"清除互联网低俗内容",表面上是清除低俗,实质上是清除所有政府不喜欢的言论。400年后,所有历史著作都公认,国教徒的宗教迫害是英国历史中最丑陋的一页,那么中国呢?

(完)

2010年1月3日星期日

阮一峰的网络日志

阮一峰的网络日志


12种不宜使用的Javascript语法

Posted: 02 Jan 2010 11:14 PM PST

这几天,我在读《Javascript语言精粹》。

这本书很薄,100多页,正好假日里翻翻。

该书的作者是Douglas Crockford,他是目前世界上最精通Javascript的人之一,也是Json格式的创造者。

他认为Javascript有很多糟粕。因为1995年Brendan Eich设计这种语言的时候,只用了三个月,很多语言特性没有经过深思熟虑,就推向了市场。结果等到人们意识到这些问题的时候,已经有100万程序员在使用它了,不可能再大幅修改语言本身了。所以,Douglas Crockford决定,他要告诉大家,Javascript中哪些部分是精粹,哪些部分是糟粕和鸡肋。

这个想法非常好,但是我不得不说,这本书写得不够好,不适合新手阅读。原因如下:1)Douglas Crockford叙述得不清晰,更像与同行讨论问题,而不是由浅入深地讲解问题。这本书的重点不是解释,所以读完后,我觉得Javascript好像变得更复杂了。2)他固执地使用铁路图(railroad diagram)解释每一条语句。全世界似乎只有他一个人使用这种比Javascript更难看懂的图。3)该书基本上是一本简化的Javascript语法手册,缺乏足够的新内容。4)该书举例过少,而且在最难的函数和对象部分,使用的例子都是环环相套、层层递进的例子,导致阅读起来很吃力。

该书最有价值的内容不是正文,反而是附录。在附录B中,Douglas Crockford列出了12种应该避免使用的Javascript语法,我觉得非常值得推广。

==============================

1. ==

Javascript有两组相等运算符,一组是==和!=,另一组是===和!==。前者只比较值的相等,后者除了值以外,还比较类型是否相同。

请尽量不要使用前一组,永远只使用===和!==。因为==默认会进行类型转换,规则十分难记。如果你不相信的话,请回答下面五个判断式的值是true还是false:

  false == 'false'

  false == undefined

  false == null

  null == undefined

  0 == ''

前三个是false,后两个是true。

2. with

with的本意是减少键盘输入。比如

  obj.a = obj.b;

  obj.c = obj.d;

可以简写成

  with(obj) {
    a = b;
    c = d;
  }

但是,在实际运行时,解释器会首先判断obj.b和obj.d是否存在,如果不存在的话,再判断全局变量b和d是否存在。这样就导致了低效率,而且可能会导致意外,因此最好不要使用with语句。

3. eval

eval用来直接执行一个字符串。这条语句也是不应该使用的,因为它有性能和安全性的问题,并且使得代码更难阅读。

eval能够做到的事情,不用它也能做到。比如

  eval("myValue = myObject." + myKey + ";");

可以直接写成

  myValue = myObject[myKey];

至于ajax操作返回的json字符串,可以使用官方网站提供的解析器json_parse.js运行。

4. continue

这条命令的作用是返回到循环的头部,但是循环本来就会返回到头部。所以通过适当的构造,完全可以避免使用这条命令,使得效率得到改善。

5. switch 贯穿

switch结构中的case语句,默认是顺序执行,除非遇到break,return和throw。有的程序员喜欢利用这个特点,比如

  switch(n) {
    case 1:
    case 2:
      break;
  }

这样写容易出错,而且难以发现。因此建议避免switch贯穿,凡是有case的地方,一律加上break。

  switch(n) {
    case 1:
      break;
    case 2:
      break;
  }

6. 单行的块结构

if、while、do和for,都是块结构语句,但是也可以接受单行命令。比如

  if (ok) t = true;

甚至写成

  if (ok)
    t = true;

这样不利于阅读代码,而且将来添加语句时非常容易出错。建议不管是否只有一行命令,都一律加上大括号。

  if (ok){
    t = true;
  }

7. ++和--

递增运算符++和递减运算符--,直接来自C语言,表面上可以让代码变得很紧凑,但是实际上会让代码看上去更复杂和更晦涩。因此为了代码的整洁性和易读性,不用为好。

8. 位运算符

Javascript完全套用了Java的位运算符,包括按位与&、按位或|、按位异或^、按位非~、左移<<、带符号的右移>>和用0补足的右移>>>。

这套运算符针对的是整数,所以对Javascript完全无用,因为Javascript内部,所有数字都保存为双精度浮点数。如果使用它们的话,Javascript不得不将运算数先转为整数,然后再进行运算,这样就降低了速度。而且"按位与运算符"&同"逻辑与运算符"&&,很容易混淆。

9. function语句

在Javascript中定义一个函数,有两种写法:

  function foo() { }

  var foo = function () { }

两种写法完全等价。但是在解析的时候,前一种写法会被解析器自动提升到代码的头部,因此违背了函数应该先定义后使用的要求,所以建议定义函数时,全部采用后一种写法。

10. 基本数据类型的包装对象

Javascript的基本数据类型包括字符串、数字、布尔值,它们都有对应的包装对象String、Number和Boolean。所以,有人会这样定义相关值:

  new String("Hello World");

  new Number(2000);

  new Boolean(false);

这样写完全没有必要,而且非常费解,因此建议不要使用。

另外,new Object和new Array也不建议使用,可以用{}和[]代替。

11. new语句

Javascript是世界上第一个被大量使用的支持Lambda函数的语言,本质上属于与Lisp同类的函数式编程语言。但是当前世界,90%以上的程序员都是使用面向对象编程。为了靠近主流,Javascript做出了妥协,采纳了类的概念,允许根据类生成对象。

类是这样定义的:

  var Cat = function (name) {
    this.name = name;
    this.saying = 'meow' ;
  }

然后,再生成一个对象

  var myCat = new Cat('mimi');

这种利用函数生成类、利用new生成对象的语法,其实非常奇怪,一点都不符合直觉。而且,使用的时候,很容易忘记加上new,就会变成执行函数,然后莫名其妙多出几个全局变量。所以,建议不要这样创建对象,而采用一种变通方法。

Douglas Crockford给出了一个函数:

  Object.beget = function (o) {
    var F = function (o) {};
    F.prototype = o ;
    return new F;
  };

创建对象时就利用这个函数,对原型对象进行操作:

  var Cat = {
    name:'',
    saying:'meow'
  };

  var myCat = Object.beget(Cat);

对象生成后,可以自行对相关属性进行赋值:

  myCat.name = 'mimi';

12. void

在大多数语言中,void都是一种类型,表示没有值。但是在Javascript中,void是一个运算符,接受一个运算数,并返回undefined。

  void 0; // undefined

这个命令没什么用,而且很令人困惑,建议避免使用。

(完)