昨天的日志的一个回å¤ï¼š

è¿™ç§blog spam真的是éžå¸¸ä¸çˆ½çš„一件事情。
而且,ä¸åªæ˜¯æˆ‘,更多的其他人也在é‡åˆ°è¿™ç§é—®é¢˜ã€‚
在这个Web 2.0的时代里é¢ï¼ŒAnti-spam的工作,ç»ä¸ä»…仅是mail了。
原æ¥Unicode当ä¸è¿˜æœ‰è¿™ç§å—符:U+0489
Ò‰
看ä¸åˆ°çš„è¯ï¼Œä¼°è®¡æ˜¯ä½ çš„æµè§ˆå™¨æˆ–者系统对于Unicode的支æŒè¿˜ä¸å¤Ÿå¥½ï¼Œæ‰€ä»¥è¿™ä¸ªUnicodeå—符看ä¸åˆ°ã€‚
OK,然åŽæˆ‘们看看更有趣的:
å…ˆçœ‹çœ‹è¿™ç¯‡æ–‡ç« ï¼š
http://www.tipotheday.com/2007/08/26/wtf-is-this-character/
然åŽæ‰“å¼€è¿™ä¸ªé“¾æŽ¥çœ‹çœ‹ä½ çš„ç½‘é¡µå’Œæ ‡é¢˜æ :
http://www.google.com/search?hl=en&q=%E2%80%AB%E2%80%AC%E2%80%AD%E2%80%AE%E2%80%AA%E2%80%AB%E2%80%AC%E2%80%AD%E2%80%AB%E2%80%AC%E2%80%AD%E2%80%AE%E2%80%AA%E2%80%AB%E2%80%AC%E2%80%AD%E2%80%AE%D2%89language+&btnG=Search
解释在这里:
http://en.wikipedia.org/wiki/Unicode_control_characters#Bidirectional_text_control
照顾ä¸èƒ½ä¸Šwikipedia的朋å‹ä»¬ï¼Œè´´è¿‡æ¥ï¼š
Bidirectional text control
Unicode supports standard bidirectional text without any special characters. In other words Unicode conforming software should display right-to-left characters such as Hebrew letters as right-to-left simply from the properties of those characters. Similarly, the Unicode handles the mixture of left-to-right-text alongside right-to-left text without any special characters. For example, one can quote Arabic (“بسملةâ€) right alongside English and the Arabic letters will flow from right-to-left and the Latin letters left-to-right.. However, support for bidirectional text becomes more complicated when text flowing in opposite directions is embedded hierarchically. So that for example if one quotes an Arabic phrase that in turn quotes an English phrase. Other situations may complicate this when for example, an author wants the left-to-right characters overridden so that they to flow from right-to-left. While these situations are fairly rare, Unicode provides seven characters (U+200E, U+200F, U+202A, U+202B, U+202C, U+202D, U+202E) to help control these embedded bidirectional text levels up to 61 levels deep.
实际上在这两个例å当ä¸ï¼Œä¸€åœˆé€—å·çš„å—符åªæ˜¯ä¸€ä¸ªå¹Œå,真æ£èµ·ä½œç”¨çš„是U+202B – U+202E一系列的转义å—符,åªæ˜¯å®ƒä»¬éƒ½æ˜¯ä¸å¯æ˜¾ç¤ºçš„,所以需è¦ç”¨ä¸€ä¸ªå¹Œåæ¥è®©ä½ å¯ä»¥ç”¨æ¥æ‹·è´ã€‚
æ›´æœ‰è¶£çš„æ˜¯ï¼Œå¦‚æžœä½ åœ¨ä¸Šé¢ä¸¤ä¸ªç½‘页当ä¸ä»»ä½•ä¸€ä¸ªæ‰“å¼€æºä»£ç 看看,ä¿è¯ä½ 会疯掉:æºä»£ç 也已ç»å过æ¥äº†â€¦â€¦
但是,实际上,数æ®ä»ç„¶æ˜¯æŒ‰ç…§æ£å¸¸çš„顺åºå˜åœ¨çš„,问题出在文本的渲染上é¢ã€‚
那么,如果所有的编辑器都能够follow Unicodeçš„æ ‡å‡†ï¼Œé‚£ä¹ˆæˆ‘ä»¬æ€Žä¹ˆæ‰èƒ½çœ‹åˆ°çœŸæ£é¡ºåºçš„文本?这似乎æˆäº†ä¸€ä¸ªæ‚–论。
å†æ„Ÿå¹ä¸€ä¸‹ï¼šI18N真的是个å¤æ‚问题……
在振å—çš„blog上é¢çœ‹åˆ°çš„,å‘表时间9月13日,上个星期四。
é‚£å¤©æ™šä¸Šå¼ æ˜Žæ£å…ˆç”Ÿåœ¨å—京大å¦ä½œäº†ä¸€æ¬¡æ¼”说,我没去——我在打羽毛çƒï¼Œé¡ºä¾¿ç¿»çœ‹ã€Šå°‘有人走的路》。
ä¸è¿‡çœ‹è¿‡è¿™ç¯‡blog,我觉得也许我应该去的。
当ä¸æ到的这个广告确实很有味é“:
http://www.youtube.com/watch?v=4oAB83Z1ydE
Also this one: Think different 2007.
http://www.youtube.com/watch?v=YHineBZTpNw
Because the people who are crazy enough to think
they can change the world,
Are the ones who do.
就算我åªèƒ½è´´è´´blog,至少我有机会看到了这个。
标签:
心血æ¥æ½®å†™çš„关于宅的一点东西,没想到被å´åŒå¦è¯´æˆæ˜¯â€œéžå¸¸æ£å¼çš„â€ï¼Œæ±—。看æ¥æˆ‘ä»¬éƒ½å¾ˆæ— èŠã€‚
æ²¡é”™ï¼Œå°±æ˜¯æ— èŠã€‚其实所谓宅或者ä¸å®…ï¼Œå°±æ˜¯çœ‹ä½ æ€Žä¹ˆæ‰“å‘æ— èŠçš„时间。有人喜欢出去轮滑,有人喜欢去踢çƒï¼Œæœ‰äººå–œæ¬¢é€›è¡—,当然也有人喜欢待在家里看看书,写写blog,看看电影动画什么的。
è¦è¯´æœ‰ç‚¹ä¸åŒä¹‹å¤„,就是åšè¿™äº›äº‹æƒ…的时候,是ä¸æ˜¯åœ¨å¾€å‰èµ°ã€‚ä»…æ¤è€Œå·²ã€‚
å°±æ˜¯è¿™æ ·ã€‚
标签:
在QQPçš„blog上é¢çœ‹åˆ°è¿™ä¸ªï¼Œ
我期望更便æ·çš„网络化
比如我去任何一个é¤é¦†å‰èƒ½çŸ¥é“是å¦æœ‰ä½ç½®
我ç‰å…¬è½¦èƒ½çŸ¥é“到达时间
我去看电影钱知é“是å¦é‚®ç¥¨
我希望任何问题都能在手机上解决
éšæ‰‹å›žäº†ä¸€ä¸‹ï¼š
我希望一切都ä¸éœ€è¦é€šè¿‡æ‰‹æœºæ¥è§£å†³ã€‚
手机也è¦å˜æˆæŸç§ä¸œè¥¿çš„一个功能而已。
回å¤çš„过程当ä¸çªç„¶è¢«æˆ‘自己å“äº†ä¸€è·³ï¼Œå› ä¸ºæƒ³åˆ°äº†è¿‘æœŸåœ¨è¿½çš„ä¸€éƒ¨ç‰‡å,电脑线圈。这个片å的设定很有æ„æ€ï¼šæœªæ¥çš„å©å们都戴ç€ä¸€ç§ç‰¹åˆ¶çš„眼镜,戴上这ç§çœ¼é•œå°±å¯ä»¥çœ‹åˆ°å˜å‚¨åœ¨æœåŠ¡å™¨ä¸Šé¢çš„所有现实世界的一个拷è´ï¼Œè¿™ä¸ªä¿¡æ¯å®žæ—¶æ›´æ–°ï¼Œæ‰€ä»¥åŒ…括汽车在内的很多东西å¯ä»¥æ ¹æ®è¿™äº›æ•°æ®è¿›è¡Œå¯¼èˆªã€‚除了现实世界当ä¸çš„东西,通过眼镜还å¯ä»¥çœ‹åˆ°åªæœ‰è¿™ä¸ªè™šæ‹Ÿä¸–ç•Œæ‰æœ‰çš„更多的东西。比如我ä¸æˆ´çœ¼é•œå¯ä»¥çœ‹åˆ°é‚£åº§æ¥¼ï¼Œæˆ´ä¸Šäº†ä¹‹åŽä¹Ÿå¯ä»¥çœ‹åˆ°é‚£åº§æ¥¼ï¼Œè€Œä¸”å¯ä»¥çœ‹åˆ°é‚£åº§æ¥¼æ˜¯ä¸€ä¸ªç”µå½±é™¢è¿˜æ˜¯å•†åœºï¼Œæˆ–是ä½å®…ã€‚å½“ç„¶ï¼Œä¹Ÿè®¸å¦‚æžœæ˜¯ç”µå½±é™¢ï¼Œä½ è¿˜å¯ä»¥çœ‹åˆ°æ£åœ¨ä¸Šæ˜ 的片å和现在的票é¢æƒ…况。åŒæ—¶ï¼Œè¿™ä¸ªçœ¼é•œå¯ä»¥ç”¨æ¥æ‰“电è¯ï¼Œå½“作普通的PC使用,甚至å¯ä»¥å…»åªæœ‰æˆ´ä¸Šçœ¼é•œæ‰å¯ä»¥çœ‹åˆ°çš„å® ç‰©â€¦â€¦
è¿™ä¸å°±æ˜¯æˆ‘们梦想的互è”网么?
那么,片å当ä¸æŽ¢è®¨çš„那个问题就比较严肃了:当虚拟的世界当ä¸æ‹¥æœ‰çŽ°å®žå½“ä¸çš„一切信æ¯çš„时候,它和现实到底有多少的è·ç¦»ï¼Ÿåœ¨ç‰‡å当ä¸ï¼Œå› 为数æ®çš„ä¸åŒæ¥ï¼Œæœ‰äº†æ‰€è°“çš„å¤æ—§ç©ºé—´ï¼ˆæ•°æ®åœ¨æœåŠ¡å™¨ä¸Šé¢æ›´æ–°å»¶è¿Ÿæ¯”较大的数æ®åŒºï¼‰ï¼Œå¹¶åœ¨å…¶ä¸æ»‹ç”Ÿäº†illegalè¿™ç§è™šæ‹Ÿçš„生命体;与之相对的,也有了为了ä¿è¯æ•°æ®å®Œæ•´æ€§è€Œåˆ°å¤„修改ä¸åŒæ¥æ•°æ®çš„沙奇。而这些东西放在一起,æˆä¸ºäº†ä¸€ä¸ªç¤¾ä¼šé—®é¢˜ï¼šäººç±»ç‰©ç†å˜åœ¨çš„肉体,怎么能够放在虚拟空间当ä¸ã€‚
当互è”网å‘展到了一定的程度,我们也许ä¸å¾—ä¸é¢å¯¹è¿™ç§ç‰©ç†å’Œä¿¡æ¯çš„冲çªï¼šä¿¡æ¯æ°¸è¿œåº”该作为物ç†ä¸–界的一ç§é™„属å“,互è”网能够解决的åªæœ‰ä¿¡æ¯é—®é¢˜ï¼Œæˆ‘们ä¸åº”è¯¥å¿½è§†äººç±»æ— æ³•æŠ›å¼ƒçš„ç‰©ç†å˜åœ¨ï¼ˆè‚‰ä½“)。
也许,这æ‰æ˜¯æˆ‘们规划未æ¥äº’è”网的时候所必需的心æ€ã€‚
标签:
作为æŸäººçš„“ä¸å®…宣言â€çš„回å¤ï¼Œå†™è¿™ä¹ˆä¸€ç¯‡ã€‚ä¸æ˜¯ä¸ºäº†åå¯¹ä»€ä¹ˆæˆ–è€…æ‰¹åˆ¤ï¼Œå…¶å®žçº¯ç²¹å› ä¸ºæ— èŠã€‚
在我朋å‹é¢å‰æˆ‘从æ¥ä¸æŽ©é¥°æˆ‘是个“宅男â€ï¼ŒåŽŸå› 很简å•ï¼šè¿™æ˜¯æˆ‘的生活æ€åº¦ã€‚没错,我历æ¥è®¤ä¸ºï¼Œå®…是一ç§ç”Ÿæ´»æ€åº¦ã€‚
宅男这个è¯å¾ˆåƒæ˜¯otaku这个è¯ï¼Œä¸åŒçš„人ç†è§£ä¸åŒï¼Œç”šè‡³æœ‰è¤’贬义上é¢çš„差别。otaku这个è¯åœ¨è‹±è¯å½“ä¸è¡¨ç¤ºæ„¿æ„为了自己感兴趣的东西在家ä¸åšç ”究的人,å«æœ‰ä¸€äº›è¤’义;但是其日è¯è¯æºå´ä¸åŒï¼Œå¼ºè°ƒå› 为喜欢动漫而ä¸å‡ºé—¨çš„怪人,å«æœ‰è´¬ä¹‰ã€‚相比æ¥è¯´ï¼Œæˆ‘更喜欢英è¯å½“ä¸çš„è¯ä¹‰ï¼ŒåŽŸå› å˜›ï¼Œå› ä¸ºè¿™ä¸ªæœ‰è¤’ä¹‰ï¼Œè€Œä¸”æˆ‘æœ¬äººå¤§å¤šæ•°å‘†åœ¨å®¶ä¸çš„时候都是为了我的兴趣,比如计算机之类,当然我也看动漫,但还ä¸è‡³äºŽæ˜¯ä¸ªæ€ªäººï¼Œæ‰€ä»¥è‹±è¯è¯ä¹‰æ›´ä¸Žæˆ‘接近。
æœ‰ç‚¹æ— åŽ˜å¤´äº†ï¼Œä¸‹é¢è¯´ç‚¹ä¸¥è‚ƒçš„。关于我所ç†è§£çš„宅。
所谓的宅,简å•çš„就是:如果一件事情å¯ä»¥å‡ºé—¨æžå®šæˆ–者ä¸å‡ºé—¨æžå®šï¼Œä½ 会选择出门么?
我问过一些人这个问题,很多人的回ç”都是:看看什么事情了。就是这个区分对待的界é™çš„ä¸åŒå†³å®šäº†äººä»¬é€šå¸¸è®¤ä¸ºçš„“宅â€æˆ–者“ä¸å®…â€ã€‚举个例å,女生一般都喜欢逛街,并ä¸æ˜¯å› 为真的è¦ä¹°ä»€ä¹ˆï¼Œä¹Ÿè®¸å°±æ˜¯ä¸ºäº†å¾—到看看商å“带æ¥çš„å¿«ä¹ï¼›è€Œç”·ç”Ÿç›¸å¯¹ä¸å–œæ¬¢ï¼Œå› 为他们更看é‡è¦ä¹°çš„东西,åªè¦ä¹°åˆ°å°±ok了。这两ç§åšæ³•ä¸Šçš„差异很容易让人归结æˆä¸ºç”Ÿæ´»æ–¹å¼æˆ–者æ€åº¦çš„问题,而把这ç§çœ‹æ³•å¸¦åˆ°å…¶ä»–æ–¹é¢ï¼Œä¹Ÿå°±ä¸éš¾ç†è§£ä¸ºä»€ä¹ˆæˆ‘说“宅是一ç§ç”Ÿæ´»æ€åº¦â€äº†ã€‚
所谓的宅男,其实也就是在能够ä¸å‡ºé—¨æžå®šé—®é¢˜çš„情况之下,他们更喜欢ä¸å‡ºé—¨è€Œå·²ï¼Œè¿™ä¸ªæ‰€è°“的“æžå®šé—®é¢˜â€ï¼ŒåŒ…括打å‘æ— èŠçš„时间。
嗯,胡言乱è¯ä¸€ç•ªï¼Œå°±æ˜¯è¿™æ ·ã€‚
标签:
å…ˆç¥å…¨å›½çš„教师们节日快ä¹ã€‚包括我的è€çˆ¸è€å¦ˆå’Œä»Šå¤©åˆšåˆšå¼€å§‹å½“上助教的瑞丽mm。
本æ¥ä»Šå¤©åº”该打个电è¯å›žå®¶ç¥è€å¦ˆèŠ‚日快ä¹ä¸€ä¸‹çš„,但是没有,希望è€å¦ˆçœ‹è§è¿™ç¯‡blogä¸è¦ç”Ÿæ°”。其实说实è¯ï¼Œä¸æ‰“电è¯å¹¶ä¸æ˜¯è¯´å®¶äººåœ¨æˆ‘的生活当ä¸ä¸é‡è¦ï¼Œä¹Ÿä¸æ˜¯è¯´çœŸçš„忙得ä¸å¯å¼€äº¤ï¼Œå¿™æ€»æ˜¯å€Ÿå£ï¼Œå†å¿™ä¹Ÿä¸è‡³äºŽæ‰“个电è¯çš„时间都没有。真æ£çš„åŽŸå› æ˜¯æˆ‘ä¸€ç›´ä¸å¤ªå–œæ¬¢ç”µè¯è¿™ç§ä¸œè¥¿ï¼Œç”šè‡³å¯¹äºŽç”µè¯è¿™ç§åªèƒ½å¬åˆ°å£°éŸ³å´çœ‹ä¸åˆ°è¡¨æƒ…的感觉有些æ惧。对我æ¥è¯´ï¼Œæˆ‘å®æ„¿åä¸Šå‡ ä¸ªå°æ—¶çš„车回家去和爸妈èŠèŠå¤©ï¼Œæˆ–者在blog上é¢å†™å†™æˆ‘çš„ç¥ç¦æˆ–者什么,å¯æ˜¯å°±æ˜¯ä¸å–œæ¬¢æ‰“电è¯ã€‚这真是一ç§éžå¸¸å¥‡æ€ªçš„倾å‘,我也一直试图去克æœï¼Œä½†æ˜¯æ¯æ¬¡æ‹¿èµ·ç”µè¯ï¼Œéƒ½ä¼šè§‰å¾—,打电è¯èƒ½å¤Ÿè¯´ä»€ä¹ˆå‘¢ï¼Œç®—了,还是写å°é‚®ä»¶å§ï¼Œæˆ–者,还是写写blogå§ã€‚
记得之å‰æœ‰åšè¿‡ä¸€æ¬¡å¿ƒç†å¦æµ‹è¯•ï¼Œè¿™ä¸ªæµ‹è¯•ç»“果把人分æˆè§†è§‰åž‹ã€å¬è§‰åž‹å’Œè§¦è§‰åž‹ã€‚视觉型的人对于文å—éžå¸¸çš„æ•æ„Ÿï¼ŒåŒæ ·çš„事情,让他们看到的文å—所能够达到的效果,超过说很多é。结果是我的三个方é¢çš„倾å‘大约是10:1:3çš„æ ·å,也就是说,我看一é能够记ä½çš„东西,如果说给我å¬ï¼Œè¾¾åˆ°åŒæ ·çš„效果大约需è¦10é。这个结果éžå¸¸æ˜Žæ˜¾ï¼Œæˆ‘是个地地é“é“的视觉型的人,ä¸çŸ¥é“è¿™ç§å€¾å‘是什么时候培养出æ¥çš„,但是我觉得这个还是éžå¸¸ç¬¦åˆæˆ‘çš„æ€§æ ¼çš„ã€‚
这也是我为什么喜欢写东西,读东西,但是ä¸å–œæ¬¢æ‰“电è¯çš„åŽŸå› ã€‚å¯¹æˆ‘æ¥è¯´ï¼Œé€šè¿‡æ–‡å—能够ç†è§£çš„东西,远远超过我通过å¬æ‰€èƒ½ç†è§£çš„东西,哪怕这ç§æ–‡å—åªæ˜¯æ–‡æœ¬èŠå¤©æˆ–者blog。
扯了这么多åˆè·‘题了。本æ¥è¿™ç¯‡blog就是为了ç¥æˆ‘的妈妈教师节快ä¹çš„ã€‚æˆ‘ä¸€ç›´ä¸ºæˆ‘æœ‰è¿™æ ·ä¸€ä½æ¯äº²éª„傲,æ¯äº²ä¸åˆ°20å²å¼€å§‹è·¨å…¥æ•™è‚²äº‹ä¸šï¼Œè‡³ä»Šå·²ç»å¿«30年了,她的å¦ç”Ÿä»Žæ¯”我大10多å²çš„哥哥å§å§åˆ°æ¯”我å°10多å²çš„弟弟妹妹,跨越了两代人。现在比我年长的或者和我年龄差ä¸å¤šçš„都已ç»åœ¨å„ç§å²—ä½ä¸Šå‘挥ç€è‡ªå·±çš„力é‡â€”â€”ä»–ä»¬éƒ½æ˜¯æ ‹æ¢ï¼Œè€Œä»–们都是我妈妈的å¦ç”Ÿï¼Œæˆ‘一直为æ¤æ„Ÿåˆ°éª„傲。
还有è€çˆ¸ï¼Œè¿™ä¸ªåŠè·¯å‡ºå®¶çš„教育工作者。æ®è¯´è€å¦ˆè¯´ï¼Œè€çˆ¸å¹´è½»çš„时候åƒæˆ‘çŽ°åœ¨ä¸€æ ·ï¼Œç‹¬è‡ªä¸€äººåœ¨å¤–æ‰“æ‹¼ï¼Œè€Œä¸”å¹´è½»æ—¶å°æœ‰æˆå°±ï¼ˆæˆ‘ä¸æ˜¯è¯´æˆ‘现在å°æœ‰æˆå°±ï¼Œæˆ‘现在æ‰åˆšä¸Šè·¯
)。å¯æ˜¯åœ¨30多å²çš„å½“æ‰“ä¹‹å¹´å› ä¸ºä¸€äº›æ„外而进入一个低谷。到了我高ä¸çš„时候,已近ä¸æƒ‘之年的è€çˆ¸åŠžç†äº†åœè–ªç•™èŒï¼Œæ¶‰è¶³æ•™è‚²è¡Œä¸šï¼Œå¼€å§‹äº†ä¸€é¡¹æ–°çš„事业。现在近å年过去了,è€çˆ¸çš„托教å›ä»ç„¶ç”Ÿæœºå‹ƒå‹ƒã€‚è€çˆ¸åœ¨è¿‘ä¸æƒ‘之年开始的事业能够å–å¾—è¿™æ ·çš„æˆå°±ï¼Œè®©æˆ‘éžå¸¸çš„开心;而且æ¯æ¬¡å›žå®¶è€çˆ¸å¸¦æˆ‘去他的托教å›é‡Œé¢çœ‹çœ‹ï¼Œçœ‹ç€è€çˆ¸å’Œå‘¨å›´çš„å©å们的关系,ç»å¸¸è®©æˆ‘想起æ¥æˆ‘çš„å°æ—¶å€™ï¼Œç›¸ä¿¡è€çˆ¸ä¹Ÿæ˜¯éžå¸¸å¼€å¿ƒçš„。当然跟å©å们在一起å…ä¸äº†æ“心,而è€çˆ¸åˆå–œæ¬¢è¾ƒçœŸï¼Œæ‰€ä»¥è¿™äº›å¹´è€çˆ¸çš„白头å‘越æ¥è¶Šå¤šï¼Œå¦‚æžœè€çˆ¸çœ‹åˆ°è¿™ç¯‡blog,å¬æˆ‘说一å¥ï¼Œä¸ç”¨è·Ÿè¿™äº›å©å们较真,å°å©å总è¦é•¿å¤§ï¼Œå°æ—¶å€™æƒ¹ä½ ç”Ÿä½ çš„å„¿å,现在ä¸ä¹Ÿæˆé•¿çš„很好么。
最åŽå†ç¥ä¸€æ¬¡ï¼Œè€çˆ¸è€å¦ˆï¼Œæ•™å¸ˆèŠ‚å¿«ä¹ï¼
标签:
http://connect.microsoft.com/Phoenix
Phoenix is the code name for a
software optimization and analysis framework that is the basis for all
future Microsoft compiler technologies. The Phoenix framework is an
extensible system that can be adapted to read and write binaries and
MSIL assemblies and represent the input files in an IR, which can be
analyzed and manipulated by applications by using the Phoenix API. The
code can then be written in binary or JITable form for execution.
也许对于程åºçš„沙盒化和程åºåˆ†æžæœ‰ç‚¹ç”¨ã€‚
标签:
宅是没有国界的,但是宅男有他的祖国……
版æƒæ‰€æœ‰ï¼šä»™äººjj。
http://bbs.ustc.edu.cn/cgi/go?cgi=bbscon&bid=31&fn=M46E28E15
BTW: 其实è…女也是……
标签:
http://thread.gmane.org/gmane.comp.version-control.git/57643/focus=57918
From: Linus Torvalds <torvalds <at> linux-foundation.org>
Subject: Re: [RFC] Convert builin-mailinfo.c to use The Better String Library.
Newsgroups: gmane.comp.version-control.git
Date: 2007-09-06 17:50:28 GMT
(19 hours and 46 minutes ago)
On Wed, 5 Sep 2007, Dmitry Kakurin wrote:
>
> When I first looked at Git source code two things struck me as odd:
> 1. Pure C as opposed to C++. No idea why. Please don’t talk about portability,
> it’s BS.
*YOU* are full of bullshit.
C++ is a horrible language. It’s made more horrible by the fact that a lot
of substandard programmers use it, to the point where it’s much much
easier to generate total and utter crap with it. Quite frankly, even if
the choice of C were to do *nothing* but keep the C++ programmers out,
that in itself would be a huge reason to use C.
In other words: the choice of C is the only sane choice. I know Miles
Bader jokingly said "to piss you off", but it’s actually true. I’ve come
to the conclusion that any programmer that would prefer the project to be
in C++ over C is likely a programmer that I really *would* prefer to piss
off, so that he doesn’t come and screw up any project I’m involved with.
C++ leads to really really bad design choices. You invariably start using
the "nice" library features of the language like STL and Boost and other
total and utter crap, that may "help" you program, but causes:
– infinite amounts of pain when they don’t work (and anybody who tells me
that STL and especially Boost are stable and portable is just so full
of BS that it’s not even funny)
– inefficient abstracted programming models where two years down the road
you notice that some abstraction wasn’t very efficient, but now all
your code depends on all the nice object models around it, and you
cannot fix it without rewriting your app.
In other words, the only way to do good, efficient, and system-level and
portable C++ ends up to limit yourself to all the things that are
basically available in C. And limiting your project to C means that people
don’t screw that up, and also means that you get a lot of programmers that
do actually understand low-level issues and don’t screw things up with any
idiotic "object model" crap.
So I’m sorry, but for something like git, where efficiency was a primary
objective, the "advantages" of C++ is just a huge mistake. The fact that
we also piss off people who cannot see that is just a big additional
advantage.
If you want a VCS that is written in C++, go play with Monotone. Really.
They use a "real database". They use "nice object-oriented libraries".
They use "nice C++ abstractions". And quite frankly, as a result of all
these design decisions that sound so appealing to some CS people, the end
result is a horrible and unmaintainable mess.
But I’m sure you’d like it more than git.
Linus
Very interesting, also boring...
人和人是ä¸ä¸€æ ·çš„,如果ä¸å–œæ¬¢æŸé¡¹ä¸œè¥¿åˆæ— 法改å˜ï¼Œè‡³å°‘ä½ æœ‰ç”¨è„šæŠ•ç¥¨çš„æƒåˆ©ã€‚
æˆ–è€…ï¼Œä½ æœ‰ç”¨æ‰‹æŠ•ç¥¨çš„æƒåˆ©ï¼Œå¦‚æžœC++更好,就用C++åšå‡ºæ¥ä¸€ä¸ªæ¯”Gitæ›´åŠ æˆåŠŸçš„东西,
怎么都比这ç§æ— æ„义的争åµè¦å¥½ã€‚
其实,newsmth上é¢çš„å‘比这个还有æ„æ€ã€‚适åˆèŒ¶ä½™é¥åŽæ¶ˆé£ä¸€ä¸‹ã€‚