﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-尘封阁-随笔分类-ＩＴ资讯</title><link>http://www.cnitblog.com/cockerel/category/3073.html</link><description>多想相邀再次喝酒，待葡萄成熟透</description><language>zh-cn</language><lastBuildDate>Mon, 26 Sep 2011 06:39:38 GMT</lastBuildDate><pubDate>Mon, 26 Sep 2011 06:39:38 GMT</pubDate><ttl>60</ttl><item><title>某知名官方互联网研究中心公布第一批知名图片服务网站名单，google百度排名靠前</title><link>http://www.cnitblog.com/cockerel/archive/2009/01/06/53528.html</link><dc:creator>踏雪赤兔</dc:creator><author>踏雪赤兔</author><pubDate>Tue, 06 Jan 2009 03:25:00 GMT</pubDate><guid>http://www.cnitblog.com/cockerel/archive/2009/01/06/53528.html</guid><wfw:comment>http://www.cnitblog.com/cockerel/comments/53528.html</wfw:comment><comments>http://www.cnitblog.com/cockerel/archive/2009/01/06/53528.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/cockerel/comments/commentRss/53528.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cockerel/services/trackbacks/53528.html</trackback:ping><description><![CDATA[<p>按：我也来行为艺术一下，咔咔～<br>再按：不上这个榜单的，出门都不好意思说自己是个知名网站！<br><br>1、&#8220;google&#8221;的&#8220;网页搜索&#8221;、&#8220;图片搜索&#8221;</p>
<p>2、&#8220;百度网&#8221;的&#8220;百度贴吧&#8221;以及&#8220;百度空间&#8221;</p>
<p>3、&#8220;新浪网&#8221;的&#8220;相册&#8221;栏目、&#8220;博客&#8221;栏目</p>
<p>4、&#8220;搜狐网&#8221;的&#8220;相册&#8221;栏目、&#8220;博客&#8221;栏目、&#8220;论坛贴图&#8221;版块</p>
<p>5、&#8220;腾讯网&#8221;的&#8220;搜搜图片&#8221;、&#8220;相册&#8221;栏目、&#8220;个人空间&#8221;</p>
<p>6、&#8220;网易&#8221;的&#8220;相册&#8221;栏目</p>
<p>7、&#8220;中国人&#8221;社区的&#8220;贴贴图图&#8221;版块</p>
<p>8、&#8220;中搜&#8221;社区的&#8220;贴图版块&#8221; </p>
<p>9、 &#8220;猫扑网&#8221;图片的&#8220;漂亮MM&#8221;版块</p>
<p>10、&#8220;天线视频网&#8221;的&#8220;用户分享频道&#8221;</p>
<p>11、&#8220;第一视频网&#8221;的&#8220;体育频道&#8221;</p>
<p>12、&#8220;天涯社区&#8221;的&#8220;相册&#8221;、&#8220;天涯来吧&#8221;栏目</p>
<p>13、&#8220;游久网&#8221;(原文如此，咔咔)的&#8220;美眉频道&#8221;</p>
<p>14、&#8220;天极网&#8221;图库的&#8220;美女&#8221;、&#8220;明星写真&#8221;；热图吧的&#8220;网友自拍&#8221;及&#8220;美女风情&#8221;版块</p>
<p>15、&#8220;合肥热线&#8221;论坛的&#8220;美女贴图&#8221;版块</p>
<p>16、&#8220;铁血网&#8221;图鉴的&#8220;美眉图片&#8221;版块</p>
<p>17、&#8220;131游戏网&#8221;的&#8220;美眉频道&#8221;</p>
<p>18、&#8220;搜刮网&#8221;网站资讯的&#8220;写真&#8221;频道、相册的&#8220;疯狂自拍&#8221;、&#8220;明星图库&#8221;、&#8220;漂亮MM&#8221;版块</p>
<p>19、&#8220;快车网&#8221;的&#8220;图片&#8221;频道<br><br><a href="http://net.china.com.cn/qzl/txt/2009-01/05/content_2668340.htm" target=_blank>排名出处链接</a></p><img src ="http://www.cnitblog.com/cockerel/aggbug/53528.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cockerel/" target="_blank">踏雪赤兔</a> 2009-01-06 11:25 <a href="http://www.cnitblog.com/cockerel/archive/2009/01/06/53528.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ubuntu Linux 8.04 LTS将为长期支持版本[新闻]</title><link>http://www.cnitblog.com/cockerel/archive/2007/09/20/33829.html</link><dc:creator>踏雪赤兔</dc:creator><author>踏雪赤兔</author><pubDate>Thu, 20 Sep 2007 04:47:00 GMT</pubDate><guid>http://www.cnitblog.com/cockerel/archive/2007/09/20/33829.html</guid><wfw:comment>http://www.cnitblog.com/cockerel/comments/33829.html</wfw:comment><comments>http://www.cnitblog.com/cockerel/archive/2007/09/20/33829.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/cockerel/comments/commentRss/33829.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cockerel/services/trackbacks/33829.html</trackback:ping><description><![CDATA[<p class=itemText>来自：:赛迪网<br>　　Ubuntu堪称近年来最热门的Linux发行版，与Redhat、Novell、Mandriva等商业发行商不同的是，Ubuntu完全是以免费的方式发行，包括企业版和安全升级都&#8220;永远免费&#8221;。除了&#8220;乐于分享&#8221;的理念之外，Ubuntu 吸引用户的地方主要在于精简快速和极其方便的程序安装、升级方式，加上强有力的社区支持，Ubuntu系列发行版成为Linux领域中越来越闪亮的明星。<br><br>　　但对于企业用户来说，Linux发行版过于频繁的更新是个问题，他们更关注系统的稳定性与可靠性，能否提供长时间的技术支持至关重要，而各商业发行版都很难做到这一点。为了满足企业用户对稳定性的需求，Ubuntu从2006年开始推行&#8220;长期支持版本(LTS，Long Term Support)&#8221;计划，首个LTS发行版就是Ubuntu6.06（2006年6月推出），该版本获得用户的热烈反馈，长达两年的技术支持为它赢得良好的口碑。到现在为止一年多时间已经过去，下一个LTS版本开始在酝酿之中。近日，Ubuntu的创始人Mark Shuttleworth在美国俄勒冈州波特兰召开的第一届&#8220;Ubuntu LiveConference&#8221;会议上宣布，Ubuntu 8.04将成为Ubuntu 6.06之后的下一个长期支持版本（LTS，Long TermSupport），这意味着企业用户将迎来技术更先进、可靠性一流的发行版。Ubuntu 8.04LTS计划于明年的4月份推出，它将集成开源领域的最新成果，包括系统内核、Gnome桌面环境、OpenOffice.org办公套件、 Firefox浏览器、Evolution邮件客户端等软件都将升级到新版本，AIGLX 3D视觉模式的支持也将更加到位，预计将会带来全新的使用体验。<br><br>　　Ubuntu8.04LTS的到来将让Ubuntu在企业领域的推广更上一层楼，到目前为止，Ubuntu在企业应用中极受好评，戴尔公司也选择它来作为PC捆绑的Linux发行版，从现有情形来看，戴尔的Linux台式机和笔记本电脑接受度都相当不错。从Linux业界的发展趋势来看，未来两年 Linux将开始朝向桌面大举进军，企业应用前景尤为看好，Ubuntu 8.04 LTS的出现可谓是恰逢其时。<br></p><img src ="http://www.cnitblog.com/cockerel/aggbug/33829.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cockerel/" target="_blank">踏雪赤兔</a> 2007-09-20 12:47 <a href="http://www.cnitblog.com/cockerel/archive/2007/09/20/33829.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>2007年度ACM/ICPC World Final 排名</title><link>http://www.cnitblog.com/cockerel/archive/2007/03/16/24121.html</link><dc:creator>踏雪赤兔</dc:creator><author>踏雪赤兔</author><pubDate>Fri, 16 Mar 2007 08:27:00 GMT</pubDate><guid>http://www.cnitblog.com/cockerel/archive/2007/03/16/24121.html</guid><wfw:comment>http://www.cnitblog.com/cockerel/comments/24121.html</wfw:comment><comments>http://www.cnitblog.com/cockerel/archive/2007/03/16/24121.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnitblog.com/cockerel/comments/commentRss/24121.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cockerel/services/trackbacks/24121.html</trackback:ping><description><![CDATA[<font class="37">Rank Name Solved Time <br /></font>
		<font class="37">1 Warsaw University 8 1405 <br /></font>
		<font class="37">
		</font>
		<font class="c31" color="#ff6600">
				<font color="#ff0000">2 Tsinghua University 7 1200</font>
		</font>
		<font class="c37">
				<br />
		</font>
		<font class="37">3 St. Petersburg University of IT, Mechanics and Optics 6 866 <br /></font>
		<font class="37">4 Massachusetts Institute of Technology 6 866 <br /></font>
		<font class="37">5 Novosibirsk State University 6 868 <br /></font>
		<font class="37">6 Saratov State University 6 957 <br /></font>
		<font class="37">7 Twente University 6 1011 <br /></font>
		<font class="37">
		</font>
		<font class="c31">
				<font color="#ff0000">8 Shanghai Jiao Tong University 6 1026</font>
		</font>
		<font class="c37">
				<br />
		</font>
		<font class="37">9 University of Waterloo 6 1103 <br /></font>
		<font class="37">10 Moscow State University 6 1192 <br /></font>
		<font class="37">11 University of Auckland 6 1210 <br /></font>
		<font class="37">12 California Institute of Technology 6 1241 <br /></font>
		<font class="37">13 Petrozavodsk State University 6   <br /></font>
		<font class="37">14 Kyoto University 5   <br /></font>
		<font class="37" color="#ff0000">14 National Taiwan University 5   <br /></font>
		<font class="37">
		</font>
		<font class="c31">
				<font color="#ff0000">14 Peking University 5</font>   </font>
		<font class="c37">
				<br />
		</font>
		<font class="37">14 Seoul National University 5   <br /></font>
		<font class="37">14 Sharif University of Technology 5   <br /></font>
		<font class="37">14 St. Petersburg State University 5   <br /></font>
		<font class="37">14 Universidad de Buenos Aires 5   <br /></font>
		<font class="37">14 University of Alberta 5   <br /></font>
		<font class="37">14 University of British Columbia 5   <br /></font>
		<font class="37">
		</font>
		<font class="c31">
				<font color="#ff0000">14 University of Science and Technology of China 5</font>   </font>
		<font class="c37">
				<br />
		</font>
		<font class="37">14 University of Texas at Dallas 5   <br /></font>
		<font class="37">14 University of Toronto 5   <br /></font>
		<font class="37">26 Amirkabir University of Technology 4   <br /></font>
		<font class="37">26 Belarusian State University 4   <br /></font>
		<font class="37">
		</font>
		<font class="c31">
				<font color="#ff0000">26 Fudan University 4</font>   </font>
		<font class="c37">
				<br />
		</font>
		<font class="37">26 Johannes Kepler Universit?t Linz 4   <br /></font>
		<font class="37">26 KTH - Royal Institute of Technology 4   <br /></font>
		<font class="37">26 National Technical University of Ukraine  4   <br /></font>
		<font class="37">26 Pontifícia Universidade Católica do Rio de Janeiro 4   <br /></font>
		<font class="37">26 Stanford University 4   <br /></font>
		<font class="37">26 Stavropol State University 4   <br /></font>
		<font class="37">26 The University of Tokyo 4   <br /></font>
		<font class="37">26 Universidade de S?o Paulo 4   <br /></font>
		<font class="37">26 University of Cape Town 4   <br /></font>
		<font class="37">26 University of Illinois at Urbana-Champaign 4   <br /></font>
		<font class="37">26 University of Nebraska - Lincoln 4   <br /></font>
		<font class="37">26 University of Wroclaw 4   <br /></font>
		<font class="37">26 Ural State University 4   <br /></font>
		<font class="37">26 Vologda State Pedagogical University 4   <br /></font>
		<font class="37">
		</font>
		<font class="c33">
				<font color="#ffa500">26 Zhongshan (Sun Yat-sen) University 4</font>
		</font>
		<font class="c37">
				<br />
		</font>
		<font class="37">44 Bina Nusantara University 3   <br /></font>
		<font class="37">44 Carnegie Mellon University 3   <br /></font>
		<font class="37">44 College of Technology, Vietnam National University, Hanoi 3   <br /></font>
		<font class="37">44 Cornell University 3   <br /></font>
		<font class="37">44 Duke University 3   <br /></font>
		<font class="37">
		</font>
		<font class="c31" color="#ff0000">44 East China University of Science &amp; Technology 3   </font>
		<font class="c37">
				<br />
		</font>
		<font class="37">
		</font>
		<font class="c31" color="#ff0000">44 Hefei University of Technology 3   </font>
		<font class="c37">
				<br />
		</font>
		<font class="37">44 Indian Institute of Technology, Madras 3   <br /></font>
		<font class="37">44 Korea Advanced Institute of Science and Technology 3   <br /></font>
		<font class="37">
		</font>
		<font class="c31">
				<font color="#ff0000">44 National University of Defense Technology 3</font>   </font>
		<font class="c37">
				<br />
		</font>
		<font class="37">44 Orel State Technical University 3   <br /></font>
		<font class="37">44 Saitama University 3   <br /></font>
		<font class="37">44 Universidad Centroccidental Lisandro Alvarado 3   <br /></font>
		<font class="37">44 Universitat Politècnica de Catalunya 3   <br /></font>
		<font class="37">44 University of Adelaide 3   <br /></font>
		<font class="37">44 University of Bucharest 3   <br /></font>
		<font class="37">44 University of Central Florida 3   <br /></font>
		<font class="37">44 University of New South Wales 3   <br /></font>
		<font class="37">
		</font>
		<font class="c31" color="#ff0000">44 Xiamen University 3   </font>
		<font class="c37">
				<br />
		</font>
		<font class="37">
		</font>
		<font class="c31" color="#ff0000">44 Xidian University 3   </font>
		<font class="c37">
				<br />
		</font>
		<font class="37">
		</font>
		<font class="c31">
				<font color="#ff0000">44 Zhejiang University 3</font>
		</font>
		<font class="c37">
				<br />
		</font>
		<p>　　其中加红或加橙表示前44名中的中国队伍（44名后没有列出）正如你所见到的，由楼天城楼教主率领的清华队不负众望，夺得了全球第二的骄人成绩，而由虫子（吴毅）、王磊师兄、大傻（张子臻）师兄组成的中山大学队也夺得了全球26的好成绩，实在是可喜可贺！回来定要狠狠地BG一下了~~<img height="20" src="http://www.cnitblog.com/Emoticons/QQ/14.gif" width="20" border="0" /></p><img src ="http://www.cnitblog.com/cockerel/aggbug/24121.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cockerel/" target="_blank">踏雪赤兔</a> 2007-03-16 16:27 <a href="http://www.cnitblog.com/cockerel/archive/2007/03/16/24121.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>中大ACM校内赛参赛阵容~</title><link>http://www.cnitblog.com/cockerel/archive/2007/03/16/24118.html</link><dc:creator>踏雪赤兔</dc:creator><author>踏雪赤兔</author><pubDate>Fri, 16 Mar 2007 08:12:00 GMT</pubDate><guid>http://www.cnitblog.com/cockerel/archive/2007/03/16/24118.html</guid><wfw:comment>http://www.cnitblog.com/cockerel/comments/24118.html</wfw:comment><comments>http://www.cnitblog.com/cockerel/archive/2007/03/16/24118.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.cnitblog.com/cockerel/comments/commentRss/24118.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cockerel/services/trackbacks/24118.html</trackback:ping><description><![CDATA[发信人: <a href="http://bbs.zsu.edu.cn/bbsqry?userid=jakrinchose">jakrinchose</a> (JK@Kunlun), 信区: ACMICPC<br /><font class="37">标  题: ZSUCPC'2007前瞻！<br /></font><font class="37">发信站: 逸仙时空 Yat-sen Channel (Fri Mar 16 14:25:02 2007), 站内信件<br /></font><font class="37"><br /></font><font class="37">                                   开始<br /></font><font class="37"><br /></font><font class="37">    3月16日0:00，随着系统的自动设定，2007年度的ZSUCPC报名工作顺利结束。本次大赛<br /></font><font class="37">，一共有133支队伍报名。<br /></font><font class="37"><br /></font><font class="37">    参与报名的选手遍布中山大学个院系：计算机系的选手依然以224人占据绝对的主力，<br /></font><font class="37">信科院也因涵盖计算机系而以总人数251位于第一。年轻的软件学院以67人位居第二，孕育<br /></font><font class="37">黑马的数计学院以61人居三。另外工学院 6人，国土资源与环境系 2人，理工学院 5人，<br /></font><font class="37">力学系3人，哲学系 1人，政务学院 2人，中山医 1人。<br /></font><font class="37">    方今各路英雄抖擞精神之际，在此略作点评，以瞻大局：<br /></font><font class="37"><br /></font><font class="37">                                    老柴<br /></font><font class="37"><br /></font><font class="37">    历来来自ACM集训队的队员都是ZSUCPC中最受瞩目的焦点，强强联合的队伍也是中大看<br /></font><font class="37">家护场的正印主力：<br /></font><font class="37"><br /></font><font class="37">        Just Ignore Us （ 测试帐号）：当之无愧的一号种子。哈根达斯，阿特兰提斯<br /></font><font class="37">的原班人马。ZSUCPC'2006的冠军队伍。三个都是基本功稳扎，实力强劲的选手，且在亚洲<br /></font><font class="37">赛赛场上历经风雨。刚经历过final洗礼的阿bug吴毅的存在，使得这支队伍格外使人害怕<br /></font><font class="37">！RC刘祖立一员福将题手实力也不容小观！今年担纲队长的是沉着老辣的梁志荣。如此的<br /></font><font class="37">搭配如此的组合，这一支哈根达斯阿特兰特斯分店是否能卫冕？这必然是今年最大的悬念<br /></font><font class="37">。<br /></font><font class="37"><br /></font><font class="37">        Lafite Rothschild（拉菲老柴）：去年殿军武当老柴的原班人马。大肥熊与黄硕<br /></font><font class="37">为模板的组合几历风雨，而猛将张波的归队使得这支队伍拥有足以挑战哈根达斯的实力！<br /></font><font class="37">一支崇尚team work的队伍是否又能撼倒一号种子呢？<br /></font><font class="37"><br /></font><font class="37">        X(未知，所以探索!)：这支略带点羞涩的队伍，由于张大牛张钊毅的存在，使得<br /></font><font class="37">他们决不逊色于其他的队伍！加上首次担当队长的陈宇恒，极为善于思考的杨飞雕，他们<br /></font><font class="37">绝对有冲击三强的实力！<br /></font><font class="37"><br /></font><font class="37">        Amino-ac(念不念好呢)：这一支拥有怪诞名字的队伍由邹振盛，翁雨键及周植诚<br /></font><font class="37">三名集训队员组成。队长邹振盛以稳健的解题风格著称。去年就以攻破一道极为难得的难<br /></font><font class="37">题而成一时佳话。鹩哥周植诚披着一头摇滚歌手式的长发，他的怪诞风格亦为这支队伍平<br /></font><font class="37">添几分色彩！<br /></font><font class="37">        <br /></font><font class="37">        Voodoo Child(巫毒小孩)：巫毒小孩是最受关注的队伍。大师级的杭啸携眷出席<br /></font><font class="37">盛宴！容健明历经两次亚洲赛，并曾于成都赛区勇夺金牌。这样的搭配又蕴含怎样的魔力<br /></font><font class="37">呢？昔日《女友》的佳话是否又一次上演？让我们翘首以盼！<br /></font><font class="37"><br /></font><font class="37"><br /></font><font class="37"><br /></font><font class="37">                                      中坚<br /></font><font class="37"><br /></font><font class="37">    来自04级计算机系的选手无疑是本次大赛的中坚力量，在人数上占绝对优势。其中也<br /></font><font class="37">不乏实力队伍。<br /></font><font class="37"><br /></font><font class="37">        Mini-Cost Max-Flows(最小费用最大流)：集训队员陈晓鸣率领两名04级的实力选<br /></font><font class="37">手组建。三人都有挑战进入本年度4+2的不俗实力。<br /></font><font class="37"><br /></font><font class="37">        Alexandria(亚历山大大帝)：另一支由集训队员领头的队伍。张瑞文与尹振华这<br /></font><font class="37">一对从OI战场上成长起来的战友，今年又会以怎样的姿态向列强发起挑战？<br /></font><font class="37"><br /></font><font class="37">        For Love(为爱而生)，Nova(新星)：这两支队伍的队员，都曾在以ACM竞赛模式的<br /></font><font class="37">算法设计课中取得骄人成绩。相信他们为这一次的实战演练不少。<br /></font><font class="37"><br /></font><font class="37"><br /></font><font class="37">                                       新秀<br /></font><font class="37"><br /></font><font class="37">    中大05，06级的ACM后备力量正在迅速成长，本次大赛必将涌出不少的新星。<br /></font><font class="37"><br /></font><font class="37">        CA_140+saysWCsaysFangMMsays(140+说wc说方mm说)：一支名字非常长的队伍，三<br /></font><font class="37">人都曾在去年冲击过4+2。经过一年的成长，相信这支队伍可以有相当好的发挥。<br /></font><font class="37">        <br /></font><font class="37">        None(无定)：张滔郭策两名曾在oi战场上取得不俗成绩的新俊选手搭配，被寄予<br /></font><font class="37">了不少的希望。<br /></font><font class="37">        <br /></font><font class="37"><br /></font><font class="37">                                       风景线<br /></font><font class="37"><br /></font><font class="37">        女队从来都是ACM赛场上的靓丽风景线。<br /></font><font class="37"><br /></font><font class="37">        May Queen (五月皇后)：绯闻女皇泡沫果然没有如外界所猜想的与sniper组队，<br /></font><font class="37">而以去年同样的队伍组合——乃至队伍名字都不变——再战江湖！直指卫冕最佳女队的称<br /></font><font class="37">号！<br /></font><font class="37"><br /></font><font class="37">        D-ZIRE(三叶草的愿望)：三名中坚行列中的女中英豪，她们又能否挑战五月皇后<br /></font><font class="37">的霸主地位呢？<br /></font><font class="37"><br /></font><font class="37">        ddf(双呆鱼)，oasis（绿洲），MCF(神秘视线)，shmily(花开的声音)：她们又将<br /></font><font class="37">在ACM赛场上绽放怎样的风景线呢？<br /></font><font class="37"><br /></font><font class="37"><br /></font><font class="37">    哈根达斯是否能卫冕？谁又能撼倒霸主的地位？谁又将成为黑马？<br /></font><font class="37">    悬念从来都留到最后的一刻，让我们热切期盼大赛的到来！<br /></font><font class="37">--<br /></font><font class="37"><br /></font><font class="37"></font><font class="c37"></font><font class="c35">※ 来源:．逸仙时空 Yat-sen Channel bbs.zsu.edu.cn．[FROM: 172.18.32.63]</font><font class="c37"><br /></font><font class="37"></font><font class="c35">※ 修改:．jakrinchose 于 Mar 16 14:28:52 修改本文．[FROM: 172.18.32.63]</font><font class="c37"><br /></font><img src ="http://www.cnitblog.com/cockerel/aggbug/24118.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cockerel/" target="_blank">踏雪赤兔</a> 2007-03-16 16:12 <a href="http://www.cnitblog.com/cockerel/archive/2007/03/16/24118.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>微软的阳谋:Vista成为转折点</title><link>http://www.cnitblog.com/cockerel/archive/2007/02/16/23136.html</link><dc:creator>踏雪赤兔</dc:creator><author>踏雪赤兔</author><pubDate>Fri, 16 Feb 2007 15:40:00 GMT</pubDate><guid>http://www.cnitblog.com/cockerel/archive/2007/02/16/23136.html</guid><wfw:comment>http://www.cnitblog.com/cockerel/comments/23136.html</wfw:comment><comments>http://www.cnitblog.com/cockerel/archive/2007/02/16/23136.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnitblog.com/cockerel/comments/commentRss/23136.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cockerel/services/trackbacks/23136.html</trackback:ping><description><![CDATA[
		<table class="mode_table" cellspacing="0" cellpadding="0" width="100%" border="0">
				<tbody>
						<tr>
								<td class="mode_table_main" valign="top">
										<div style="MARGIN-BOTTOM: 6px; WORD-BREAK: break-all" align="center">
												<span class="mode_title" id="titleSpan">
														<span class="null">微软的阳谋:Vista成为转折点</span>
												</span>
										</div>
								</td>
						</tr>
						<tr>
								<td class="mode_table_main" id="orgPublish" style="DISPLAY: none" valign="top">
										<span>
										</span>
								</td>
						</tr>
						<tr>
								<td class="mode_table_mains" id="voteDiv" style="DISPLAY: none" valign="top">
										<table cellspacing="1" cellpadding="1" width="100%" align="center" border="0">[%repeat_0 match="/data/option"%] 
<tbody><tr title="[%=@title%] -- [%=@count%]票 [[%=@percent%]％]"><td class="blog_vote_option"><input id="option[%=@id%]" type="[%=@optionType%]" value="[%=@id%]" name="voteOption" /><label for="option[%=@id%]"><span style="OVERFLOW-X: hidden; WHITE-SPACE: nowrap; TEXT-OVERFLOW: ellipsis">[%=@title%]</span></label></td><td><img height="9" onerror="regImg(this,'/qzone/client/icon_v[%=@icon%].gif')" src="about:blank" width="[%=@percent%]" border="0" />[%=@count%]票 [[%=@percent%]％]</td></tr>[%_repeat_0%] 
<tr><td class="text" align="middle" colspan="2"><br /><span class="center"><img class="submit" id="imgButton5" onclick="vote()" alt="提交" src="http://ic1.qq.com/qzone/images/b.gif" /></span></td></tr></tbody></table>
								</td>
						</tr>
						<tr>
								<td class="mode_table_main" valign="top">
										<div id="blogContent">微软新一代操作系统Vista面世，不仅是对传统Windows　XP操作系统的升级，更是微软为了应对软件、互联网领域的挑战而采取的一次重大战略行动。凭借对底层平台的掌控，微软又一次修改了游戏规则，这将把微软对软件领域的垄断扩展到互联网领域。<br /><br />　　当上海浦东金贸大厦的玻璃幕墙上投映出全球最大的“Windows　Vista”广告；北京长安街的Windows　Vista广告也随处可见时，你或许会问：平静多年的软件巨人是不是又开始咆哮了？<br /><br />　　没错。6000名技术精英在实验室里像鼹鼠一样奋战5年之后，微软终于推出了新一代操作系统Vista，这是微软第6代操作系统。多年以来，微软一直牢牢地控制着世界软件业的发展，全球95%的操作系统都是微软的产品。正如比尔·盖茨对《时代》杂志所说，“软件产业，这个我们占绝大部分的世界里，微软是真正的推动者”。<br /><br />　　不过，在第5代操作系统Windows　XP推出之后，微软控制的软件世界发生了一些比尔·盖茨始料未及的变化。Google这个互联网巨人诞生了，它不仅在搜索领域打败了微软的MSN，还不断推出如文档处理一类的免费软件来挑战微软的拳头产品office。移动通讯领域的迅猛发展，也培育出与微软手机软件Windows　Mobile直接竞争的Sybian系统，后者得到诺基亚这些手机巨头的鼎力支持。<br /><br />　　这些挑战微软霸主地位的行为在1月30日Vista面世之后将发生改变。某种意义上，Vista就是微软浇铸多年的一把捍卫自己王位的利剑。<br /><br />　　对于微软的举动和野心，它的竞争对手早已洞察。2007年1月初，由IBM、诺基亚、Sun微系统等众多微软竞争对手组成的欧洲交互系统委员会向欧盟起诉微软。该委员会在声明中称：“微软希望将其市场垄断地位扩展至互联网，而Vista是这一战略的重要组成部分，同时也是微软迈出的第一步。”这个判断恰恰和“Vista”的拉丁文“Vedere”的含义相符，即“远景、展望”的意思。<br /><br />　　尽管如此，这些举动并没有影响Vista获得PC行业的巨大支持，1月30日在纽约举行的Vista发布会上，戴尔、惠普以及AMD、东芝、英特尔的高层纷纷前往道贺。<br /><br />　　电脑业新机会<br /><br />　　Vista的发布标志着新电脑时代来临。<br /><br />　　在PC巨头眼中，Vista无疑是一位珠光宝气的招财童子。Vista那些美轮美奂的界面以及强大的功能，无疑将获得众多的拥趸，比如，Vista能让所有用户轻松地创造和分享数字内容，如照片、音乐、视频等，并通过发布博客、创建网站或在线游戏等方式参与数字社区的活动。不过，这些功能的使用对硬件提出较高的要求，这将直接推动新型电脑硬件的生产和销售。<br /><br />　　Vista是一种主要面向64位芯片设计的操作系统，虽然新系统也有面向32位硬件系统的版本，但能够真正发挥其效果的还是64位芯片。<br /><br />　　电脑芯片从8位、16位、32位到64位的发展，始终是“0”和“1”连续排列的位数长度。但是64位芯片对硬件的要求非常高：微软方面提供的数据是Vista基础版需要至少800MHZ的处理器，512MB内存，还需支持DirectX9的图形处理器；Vista高端版则需要1GHZ32位处理器或64位处理器，1GB内存，40GB硬盘等。来自市场测试的反馈，用户可能需要2GB内存才能很好地运行这一操作系统。<br /><br />　　芯片厂商们已经做好了迎接Vista的准备。英特尔正在加紧清理最后一批32位芯片的存货，包括用于笔记本电脑的部分酷睿处理器和用于台式机的赛扬处理器等；而另一家芯片厂商AMD则提前完成了全线产品过渡到64位的工作。<br /><br />　　内存厂家和硬盘厂家都在期盼即将爆发的市场需求，一些内存厂家因为获选为微软首选伙伴而兴奋不已。<br /><br />　　国内的PC厂商也已经做好准备。1月30日，北京中关村鼎好电子城的“联想-微软Windows　Vista　PC中国旗舰体验中心”内，联想一口气推出八大系列共20余款联想Vista新品，联想集团大中华区总裁陈绍鹏与微软公司资深副总裁兼OEM全球总裁ScottDiValerio还在现场进行了火爆的签名销售活动，这令很多根本不知道Vista为何物的消费者也都蜂拥排队。<br /><br />　　为了研发Vista，微软耗资60亿美元，但它创造的价值将以数十倍计。<br /><br />　　来自知名国际数据资讯公司IDC的统计研究，2007年WindowsVista每为微软赚1美元，将为美国IT产业带来18美元的收益。对于微软及其合作伙伴所营造的价值为1950亿美元的消费链中，新推出的Vista将占去700亿美元。<br /><br />　　强制升级？　“为什么要升级到Vista？”微软的竞争对手苹果公司在自己的网站上对前来浏览的用户提问道。<br /><br />　　对于这个问题，比尔·盖茨在1月底接受美国《新闻周刊》专访时的答案是：最好的方法是将他带到一台运行Vista的电脑旁，向他展示图片管理和父母控制等新功能。对微软产品异常自信的盖茨仍然相信：借助几分钟的展示，就能现场吸引住人们的目光。<br /><br />　　是否升级到Vista，无论是消费者还是微软，这都是一个关键问题。<br /><br />　　传统Windows操作系统用户将面临一个非常难受的升级过程：从现有合法操作系统升级安装Vista——用户必须先安装Windows2000或者XP，Vista然后才能执行升级过程，这将逼迫用户购买完整版本。备受用户指责的是：安装全新版本的Vista需要30分钟，而先安装再升级一共是75分钟。这使得很多网友对Vista的热度降温。<br /><br />　　作为微软的对手，苹果公司的操作系统MacOSX正在蚕食微软的市场份额。在过去的一两年中，双方针尖对麦芒的争斗屡见不鲜。这次苹果方面预计在春天将推出代号为“Leopard”的新操作系统，来与Vista一争高低。<br /><br />　　对于Vista，苹果是坚定的否定者。就连业内一些微软的支持者也在文章中承认Vista的部分新功能和苹果Mac操作系统几乎一致了。<br /><br />　　苹果为此在美国主流媒体上发布了两个嘲笑Vista的广告，其中一个是：一位身穿病号服的人在使用电脑，他一边看着电脑屏幕一边说他如何把电脑升级到了Vista操作系统。接着，他在和一位使用Mac的人闲逛的时候说，如果他手术不能成功，在他去世以后，可以把他的外围设备接到Mac上。<br /><br />　　微软非常清楚，用户购买苹果机，要么看中其受病毒的骚扰程度远低于微软，要么是为了与iPod音乐播放器互为补充。而苹果公司则不断提醒其iTunes软件用户，如果将iPod插入运行Vis**系统的计算机中，可能会导致**od损坏。<br /><br />　　在升级问题上，微软CEO鲍尔默的解释是：只有少部分视窗用户会因Vista的发布而迫不及待地购买升级版本。相反，人们将在用新电脑取代现有的旧电脑时才会购买Vista，而这个过程将是长期的。<br /><br />　　不过在Vista发布之后，微软已经关闭了部分传统操作系统的补丁更新程序的服务器。业内人士担忧，一旦微软关闭Windows　XP系统的更新服务器，在病毒和攻击程序层出不穷的今日，没有安全更新支持的操作系统将会成为一堆废物，最终消费者将不得不购买Vista。<br /><br />　　遏制竞争对手<br /><br />　　Vista的招财童子形象在另一部分科技厂商眼中，已经演变成令人讨厌的黑武士，因为它蛮横地将部分杀毒软件、游戏软件以及即时通讯软件拒之门外。<br /><br />　　以往用户电脑的安全威胁大多来自外界入侵，或者是用户自身的失误操作造成的安全漏洞。而Vista提供了用户账户控制功能，可以限制恶意软件对电脑所带来的损害，有效避免外界的入侵威胁。<br /><br />　　这使得杀毒软件商们的地位岌岌可危。微软在本月初表示，已解决了赛门铁克和McAfee等安全软件厂商对Vista操作系统存有的疑虑。此前，Vista拒绝它们进入到操作系统的核心，在经过谈判之后，微软已向它们提供了所需要的数据和信息。<br /><br />　　不过，一些软件厂商就没有如此幸运了。Vista对一些最常用的软件也不兼容，比如QuickBooks、LotusNotes、iTunes、AdobeAcrobat7.0等，尤其是在国内拥有众多用户的腾讯QQ也不在兼容之列。有趣的是，这些软件厂商恰恰都是微软产品的直接竞争对手。<br /><br />　　2006年12月底，微软向外界提供了免费30天的测试版Vista下载。提前参与试用的中国玩家惊讶地发现，这个系统居然不能使用腾讯公司的即时通讯软件QQ，更不要说与QQ配套的腾讯TT浏览器等工具软件了。<br /><br />　　网友普遍反映，在Vista下运行QQ，要么出现蓝屏现象；要么运行没有问题，但提示无法保存账户信息，且长时间无法登陆等；要么页面会跳出“此程序存在已知的兼容性问题”的对话框。<br /><br />　　业内人士认为，主要原因是QQ的键盘加密技术跟Vista产生了冲突。但是包括新浪UC、网易POPO在内的即时通讯工具，都实现了对Vista的升级和兼容，何以QQ迟迟未能解决这个问题？<br /><br />　　由于2006年二季度，微软的MSN和雅虎通用户实现了互连互通，形成了一个用户总数超过2.75亿的即时通讯用户群体，也使其和QQ直接竞争。今年1月的海底光缆断裂事故，由于服务器在海外，部分MSN用户纷纷投奔到了QQ阵营。<br /><br />　　被Vista拒绝门外的还有游戏厂商。美国一家名为WildTangent的游戏开发商向媒体抱怨：很多游戏网站下载游戏将遇到诸多障碍，原先的数据传输模式需要通过严格权限系统才可以正常进行。而Vista自带的家长控制功能还会阻碍很多非限制级游戏的下载。<br /><br />　　还是欧洲交互系统委员会眼光独到，它向欧盟起诉微软时表示：“微软计划用XAML取代行业标准HTML。XAML是微软自己的标记语言，基本上从属于Windows，而对其它操作系统的支持并不好。与此同时，微软开发的所谓‘开放XML’平台，也就是OOXML，只能在Office平台下稳定运行。”这就是微软的底牌。<br /><br />　　帝国转折点<br /><br />　　Vista的发布其实也是微软这个全球最大的软件公司的历史转折点。英国《金融时报》发表评论说：“Vista标志着微软软件时代的结束。”<br /><br />　　比尔·盖茨曾说，随着他逐渐远离微软而将精力集中在慈善事业上，Vista将是他最后的重大产品发布。随着软件产业转向一种新的商业模式，Vista或许也是微软最后一次大型产品发布。<br /><br />　　微软传统的商业模式不会在一夜之间改变。在短期内，Vista使微软获得了一个强大的产品周期，同时也会刺激微软其它产品和服务的需求，甚至可能帮助微软的Xbox战胜索尼的PS和任天堂的电子游戏机。<br /><br />　　在比尔·盖茨的继任者、微软首席软件设计师雷·奥齐的带领下，微软已经对互联网软件作出反应，重点放在“软件和服务”上。这也说明，在未来，微软将对Windows软件进行不那么高难度但更频繁的升级。毕竟，“软件作为一种服务”已经成为这个行业的新咒语。<br /><br />　　互联网巨头是微软最危险的对手。网络被越来越多地用于提供软件功能，而此前这还只是Windows这样的开放性操作系统的领地。<br /><br />　　在微软发布Vista的同时，微软CEO史蒂夫·鲍尔默更关注的是微软的下一个大挑战———对付由广告支撑的商业模式，比如Google的商业模式所带来的威胁。<br /><br />　　当Google等互联网公司可以直接挑战微软的核心业务时，微软开始考虑未来。鲍尔默说，微软在过去几年一直把焦点放在由公开源软件造成的威胁上，而现在该公司已经把注意力转到由广告支撑的商业模式上。<br /><br />　　早在2005年，鲍尔默就雄心勃勃地宣称：“在今后6个月内，我们的搜索能力将赶上Google。”但直到2006年底，他还在思考：“现在的问题是，我们下一步应该怎么办？”<br /><br />　　截至2006年12月，Google市场份额为47.4%，雅虎28.5%，微软10.5%。更让微软难以忍受的是：这个结果表明Google的份额增长了0.4%，而微软下滑了0.5%。<br /><br />　　而微软在搜索方面的部署不容小觑：在Vista平台上，人们惊讶地发现搜索功能得到极大的强化。无论是开始菜单还是应用程序的每个窗口，全部拥有动态搜索栏，真实准确地实现了“搜索无处不在”的理念，用户可以非常容易就找到信息。<br /><br />　　微软在建立强大的广告商网络以支持搜索引擎产生的互联网流量方面也远远落后于Google，微软未能缩窄自己的搜索技术和广告系统之间的投资差距。微软CEO鲍尔默表示微软将通过购买技术获得更多的竞争力。 <br /><br /><br />源自:南方周末 　　<br />记者:张春蔚<br />  </div>
								</td>
						</tr>
				</tbody>
		</table>
<img src ="http://www.cnitblog.com/cockerel/aggbug/23136.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cockerel/" target="_blank">踏雪赤兔</a> 2007-02-16 23:40 <a href="http://www.cnitblog.com/cockerel/archive/2007/02/16/23136.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>2006年中国大学研究生院计算机科学与技术专业排名</title><link>http://www.cnitblog.com/cockerel/archive/2006/09/27/17389.html</link><dc:creator>踏雪赤兔</dc:creator><author>踏雪赤兔</author><pubDate>Wed, 27 Sep 2006 05:25:00 GMT</pubDate><guid>http://www.cnitblog.com/cockerel/archive/2006/09/27/17389.html</guid><wfw:comment>http://www.cnitblog.com/cockerel/comments/17389.html</wfw:comment><comments>http://www.cnitblog.com/cockerel/archive/2006/09/27/17389.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/cockerel/comments/commentRss/17389.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cockerel/services/trackbacks/17389.html</trackback:ping><description><![CDATA[
		<div id="ArticleTit">
				<a class="lyellow" href="http://edu.QQ.com">http://edu.QQ.com</a> 　 2006年09月13日 17:11 　 来源：<a class="lblue" href="http://edu.qq.com/">腾讯教育</a> 　 </div>
		<div id="ArticleCnt">
				<p style="TEXT-INDENT: 2em">计算机科学与技术一级学科的学科代码是0812，下设3个二级学科。 </p>
				<p style="TEXT-INDENT: 2em">下表是计算机科学与技术一级学科有博士学位授予权的大学的3个二级学科B+及其以上的学校排名。 </p>
				<p style="TEXT-INDENT: 2em" align="center">
						<strong>2006中国大学</strong>
						<a href="http://edu.qq.com/kaoyan">
								<strong>研究生</strong>
						</a>
						<strong>院计算机科学与技术3个二级学科排名</strong>
				</p>
				<p style="TEXT-INDENT: 2em">
						<strong>1、计算机系统结构排名 学科代码：081201</strong>
				</p>
				<p style="TEXT-INDENT: 2em">
				</p>
				<table cellspacing="1" cellpadding="0" width="540" align="center" bgcolor="#666666" border="0">
						<tbody>
								<tr>
										<td align="middle" width="48" bgcolor="#ffffff">排名 </td>
										<td align="middle" width="121" bgcolor="#ffffff">校名 </td>
										<td align="middle" width="47" bgcolor="#ffffff">等级 </td>
										<td align="middle" width="156" bgcolor="#ffffff">二级学科 </td>
										<td align="middle" width="171" bgcolor="#ffffff">一级学科 </td>
										<td align="middle" width="66" bgcolor="#ffffff">学科门 </td>
								</tr>
								<tr>
										<td align="middle" width="48" bgcolor="#ffffff">1</td>
										<td align="middle" width="121" bgcolor="#ffffff">清华大学 </td>
										<td align="middle" width="47" bgcolor="#ffffff">A++</td>
										<td align="middle" width="156" bgcolor="#ffffff">081201计算机系统结构 </td>
										<td align="middle" width="171" bgcolor="#ffffff">081200计算机科学与技术 </td>
										<td align="middle" width="66" bgcolor="#ffffff">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="48" bgcolor="#ffffff">2</td>
										<td align="middle" width="121" bgcolor="#ffffff">浙江大学 </td>
										<td align="middle" width="47" bgcolor="#ffffff">A++</td>
										<td align="middle" width="156" bgcolor="#ffffff">081201计算机系统结构 </td>
										<td align="middle" width="171" bgcolor="#ffffff">081200计算机科学与技术 </td>
										<td align="middle" width="66" bgcolor="#ffffff">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="48" bgcolor="#ffffff">3</td>
										<td align="middle" width="121" bgcolor="#ffffff">华中科技大学 </td>
										<td align="middle" width="47" bgcolor="#ffffff">A+</td>
										<td align="middle" width="156" bgcolor="#ffffff">081201计算机系统结构 </td>
										<td align="middle" width="171" bgcolor="#ffffff">081200计算机科学与技术 </td>
										<td align="middle" width="66" bgcolor="#ffffff">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="48" bgcolor="#ffffff">4</td>
										<td align="middle" width="121" bgcolor="#ffffff">北京大学 </td>
										<td align="middle" width="47" bgcolor="#ffffff">A+</td>
										<td align="middle" width="156" bgcolor="#ffffff">081201计算机系统结构 </td>
										<td align="middle" width="171" bgcolor="#ffffff">081200计算机科学与技术 </td>
										<td align="middle" width="66" bgcolor="#ffffff">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="48" bgcolor="#ffffff">5</td>
										<td align="middle" width="121" bgcolor="#ffffff">上海交通大学 </td>
										<td align="middle" width="47" bgcolor="#ffffff">A+</td>
										<td align="middle" width="156" bgcolor="#ffffff">081201计算机系统结构 </td>
										<td align="middle" width="171" bgcolor="#ffffff">081200计算机科学与技术 </td>
										<td align="middle" width="66" bgcolor="#ffffff">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="48" bgcolor="#ffffff">6</td>
										<td align="middle" width="121" bgcolor="#ffffff">东北大学 </td>
										<td align="middle" width="47" bgcolor="#ffffff">A</td>
										<td align="middle" width="156" bgcolor="#ffffff">081201计算机系统结构 </td>
										<td align="middle" width="171" bgcolor="#ffffff">081200计算机科学与技术 </td>
										<td align="middle" width="66" bgcolor="#ffffff">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="48" bgcolor="#ffffff">7</td>
										<td align="middle" width="121" bgcolor="#ffffff">复旦大学 </td>
										<td align="middle" width="47" bgcolor="#ffffff">A</td>
										<td align="middle" width="156" bgcolor="#ffffff">081201计算机系统结构 </td>
										<td align="middle" width="171" bgcolor="#ffffff">081200计算机科学与技术 </td>
										<td align="middle" width="66" bgcolor="#ffffff">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="48" bgcolor="#ffffff">8</td>
										<td align="middle" width="121" bgcolor="#ffffff">中国科学技术大学 </td>
										<td align="middle" width="47" bgcolor="#ffffff">A</td>
										<td align="middle" width="156" bgcolor="#ffffff">081201计算机系统结构 </td>
										<td align="middle" width="171" bgcolor="#ffffff">081200计算机科学与技术 </td>
										<td align="middle" width="66" bgcolor="#ffffff">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="48" bgcolor="#ffffff">9</td>
										<td align="middle" width="121" bgcolor="#ffffff">哈尔滨工业大学 </td>
										<td align="middle" width="47" bgcolor="#ffffff">A</td>
										<td align="middle" width="156" bgcolor="#ffffff">081201计算机系统结构 </td>
										<td align="middle" width="171" bgcolor="#ffffff">081200计算机科学与技术 </td>
										<td align="middle" width="66" bgcolor="#ffffff">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="48" bgcolor="#ffffff">10</td>
										<td align="middle" width="121" bgcolor="#ffffff">吉林大学 </td>
										<td align="middle" width="47" bgcolor="#ffffff">A</td>
										<td align="middle" width="156" bgcolor="#ffffff">081201计算机系统结构 </td>
										<td align="middle" width="171" bgcolor="#ffffff">081200计算机科学与技术 </td>
										<td align="middle" width="66" bgcolor="#ffffff">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="48" bgcolor="#ffffff">11</td>
										<td align="middle" width="121" bgcolor="#ffffff">电子科技大学 </td>
										<td align="middle" width="47" bgcolor="#ffffff">A</td>
										<td align="middle" width="156" bgcolor="#ffffff">081201计算机系统结构 </td>
										<td align="middle" width="171" bgcolor="#ffffff">081200计算机科学与技术 </td>
										<td align="middle" width="66" bgcolor="#ffffff">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="48" bgcolor="#ffffff"> </td>
										<td align="middle" width="121" bgcolor="#ffffff">北京邮电大学 </td>
										<td align="middle" width="47" bgcolor="#ffffff">B+</td>
										<td align="middle" width="156" bgcolor="#ffffff">081201计算机系统结构 </td>
										<td align="middle" width="171" bgcolor="#ffffff">081200计算机科学与技术 </td>
										<td align="middle" width="66" bgcolor="#ffffff">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="48" bgcolor="#ffffff"> </td>
										<td align="middle" width="121" bgcolor="#ffffff">西安电子科技大学 </td>
										<td align="middle" width="47" bgcolor="#ffffff">B+</td>
										<td align="middle" width="156" bgcolor="#ffffff">081201计算机系统结构 </td>
										<td align="middle" width="171" bgcolor="#ffffff">081200计算机科学与技术 </td>
										<td align="middle" width="66" bgcolor="#ffffff">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="48" bgcolor="#ffffff"> </td>
										<td align="middle" width="121" bgcolor="#ffffff">西安交通大学 </td>
										<td align="middle" width="47" bgcolor="#ffffff">B+</td>
										<td align="middle" width="156" bgcolor="#ffffff">081201计算机系统结构 </td>
										<td align="middle" width="171" bgcolor="#ffffff">081200计算机科学与技术 </td>
										<td align="middle" width="66" bgcolor="#ffffff">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="48" bgcolor="#ffffff"> </td>
										<td align="middle" width="121" bgcolor="#ffffff">西北工业大学 </td>
										<td align="middle" width="47" bgcolor="#ffffff">B+</td>
										<td align="middle" width="156" bgcolor="#ffffff">081201计算机系统结构 </td>
										<td align="middle" width="171" bgcolor="#ffffff">081200计算机科学与技术 </td>
										<td align="middle" width="66" bgcolor="#ffffff">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="48" bgcolor="#ffffff"> </td>
										<td align="middle" width="121" bgcolor="#ffffff">武汉大学 </td>
										<td align="middle" width="47" bgcolor="#ffffff">B+</td>
										<td align="middle" width="156" bgcolor="#ffffff">081201计算机系统结构 </td>
										<td align="middle" width="171" bgcolor="#ffffff">081200计算机科学与技术 </td>
										<td align="middle" width="66" bgcolor="#ffffff">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="48" bgcolor="#ffffff"> </td>
										<td align="middle" width="121" bgcolor="#ffffff">东南大学 </td>
										<td align="middle" width="47" bgcolor="#ffffff">B+</td>
										<td align="middle" width="156" bgcolor="#ffffff">081201计算机系统结构 </td>
										<td align="middle" width="171" bgcolor="#ffffff">081200计算机科学与技术 </td>
										<td align="middle" width="66" bgcolor="#ffffff">08工学 </td>
								</tr>
						</tbody>
				</table>
				<p style="TEXT-INDENT: 2em">
				</p>
				<p style="TEXT-INDENT: 2em">
						<strong>2、计算机软件与理论排名 学科代码：081202</strong>
				</p>
				<p style="TEXT-INDENT: 2em">
				</p>
				<table cellspacing="1" cellpadding="0" width="540" align="center" bgcolor="#666666" border="0">
						<tbody>
								<tr>
										<td align="middle" width="48" bgcolor="#ffffff" height="20">排名 </td>
										<td align="middle" width="132" bgcolor="#ffffff" height="20">校名 </td>
										<td align="middle" width="48" bgcolor="#ffffff" height="20">等级 </td>
										<td align="middle" width="171" bgcolor="#ffffff" height="20">二级学科 </td>
										<td align="middle" width="180" bgcolor="#ffffff" height="20">一级学科 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">学科门 </td>
								</tr>
								<tr>
										<td align="middle" width="48" bgcolor="#ffffff" height="20">1</td>
										<td align="middle" width="132" bgcolor="#ffffff" height="20">北京大学 </td>
										<td align="middle" width="48" bgcolor="#ffffff" height="20">A++</td>
										<td align="middle" width="171" bgcolor="#ffffff" height="20">081202计算机软件与理论 </td>
										<td align="middle" width="180" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="48" bgcolor="#ffffff" height="20">2</td>
										<td align="middle" width="132" bgcolor="#ffffff" height="20">南京大学 </td>
										<td align="middle" width="48" bgcolor="#ffffff" height="20">A++</td>
										<td align="middle" width="171" bgcolor="#ffffff" height="20">081202计算机软件与理论 </td>
										<td align="middle" width="180" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="48" bgcolor="#ffffff" height="20">3</td>
										<td align="middle" width="132" bgcolor="#ffffff" height="20">上海交通大学 </td>
										<td align="middle" width="48" bgcolor="#ffffff" height="20">A++</td>
										<td align="middle" width="171" bgcolor="#ffffff" height="20">081202计算机软件与理论 </td>
										<td align="middle" width="180" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="48" bgcolor="#ffffff" height="20">4</td>
										<td align="middle" width="132" bgcolor="#ffffff" height="20">复旦大学 </td>
										<td align="middle" width="48" bgcolor="#ffffff" height="20">A++</td>
										<td align="middle" width="171" bgcolor="#ffffff" height="20">081202计算机软件与理论 </td>
										<td align="middle" width="180" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="48" bgcolor="#ffffff" height="20">5</td>
										<td align="middle" width="132" bgcolor="#ffffff" height="20">武汉大学 </td>
										<td align="middle" width="48" bgcolor="#ffffff" height="20">A+</td>
										<td align="middle" width="171" bgcolor="#ffffff" height="20">081202计算机软件与理论 </td>
										<td align="middle" width="180" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="48" bgcolor="#ffffff" height="20">6</td>
										<td align="middle" width="132" bgcolor="#ffffff" height="20">清华大学 </td>
										<td align="middle" width="48" bgcolor="#ffffff" height="20">A+</td>
										<td align="middle" width="171" bgcolor="#ffffff" height="20">081202计算机软件与理论 </td>
										<td align="middle" width="180" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="48" bgcolor="#ffffff" height="20">7</td>
										<td align="middle" width="132" bgcolor="#ffffff" height="20">浙江大学 </td>
										<td align="middle" width="48" bgcolor="#ffffff" height="20">A</td>
										<td align="middle" width="171" bgcolor="#ffffff" height="20">081202计算机软件与理论 </td>
										<td align="middle" width="180" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="48" bgcolor="#ffffff" height="20">8</td>
										<td align="middle" width="132" bgcolor="#ffffff" height="20">中山大学 </td>
										<td align="middle" width="48" bgcolor="#ffffff" height="20">A</td>
										<td align="middle" width="171" bgcolor="#ffffff" height="20">081202计算机软件与理论 </td>
										<td align="middle" width="180" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="48" bgcolor="#ffffff" height="20">9</td>
										<td align="middle" width="132" bgcolor="#ffffff" height="20">北京航空航天大学 </td>
										<td align="middle" width="48" bgcolor="#ffffff" height="20">A</td>
										<td align="middle" width="171" bgcolor="#ffffff" height="20">081202计算机软件与理论 </td>
										<td align="middle" width="180" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="48" bgcolor="#ffffff" height="20">10</td>
										<td align="middle" width="132" bgcolor="#ffffff" height="20">吉林大学 </td>
										<td align="middle" width="48" bgcolor="#ffffff" height="20">A</td>
										<td align="middle" width="171" bgcolor="#ffffff" height="20">081202计算机软件与理论 </td>
										<td align="middle" width="180" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="48" bgcolor="#ffffff" height="20">11</td>
										<td align="middle" width="132" bgcolor="#ffffff" height="20">山东大学 </td>
										<td align="middle" width="48" bgcolor="#ffffff" height="20">A</td>
										<td align="middle" width="171" bgcolor="#ffffff" height="20">081202计算机软件与理论 </td>
										<td align="middle" width="180" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="48" bgcolor="#ffffff" height="20">12</td>
										<td align="middle" width="132" bgcolor="#ffffff" height="20">华中科技大学 </td>
										<td align="middle" width="48" bgcolor="#ffffff" height="20">A</td>
										<td align="middle" width="171" bgcolor="#ffffff" height="20">081202计算机软件与理论 </td>
										<td align="middle" width="180" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="48" bgcolor="#ffffff" height="20"> </td>
										<td align="middle" width="132" bgcolor="#ffffff" height="20">中国科学技术大学 </td>
										<td align="middle" width="48" bgcolor="#ffffff" height="20">B+</td>
										<td align="middle" width="171" bgcolor="#ffffff" height="20">081202计算机软件与理论 </td>
										<td align="middle" width="180" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="48" bgcolor="#ffffff" height="20"> </td>
										<td align="middle" width="132" bgcolor="#ffffff" height="20">哈尔滨工业大学 </td>
										<td align="middle" width="48" bgcolor="#ffffff" height="20">B+</td>
										<td align="middle" width="171" bgcolor="#ffffff" height="20">081202计算机软件与理论 </td>
										<td align="middle" width="180" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="48" bgcolor="#ffffff" height="20"> </td>
										<td align="middle" width="132" bgcolor="#ffffff" height="20">西北大学 </td>
										<td align="middle" width="48" bgcolor="#ffffff" height="20">B+</td>
										<td align="middle" width="171" bgcolor="#ffffff" height="20">081202计算机软件与理论 </td>
										<td align="middle" width="180" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="48" bgcolor="#ffffff" height="20"> </td>
										<td align="middle" width="132" bgcolor="#ffffff" height="20">东北大学 </td>
										<td align="middle" width="48" bgcolor="#ffffff" height="20">B+</td>
										<td align="middle" width="171" bgcolor="#ffffff" height="20">081202计算机软件与理论 </td>
										<td align="middle" width="180" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="48" bgcolor="#ffffff" height="20"> </td>
										<td align="middle" width="132" bgcolor="#ffffff" height="20">贵州大学 </td>
										<td align="middle" width="48" bgcolor="#ffffff" height="20">B+</td>
										<td align="middle" width="171" bgcolor="#ffffff" height="20">081202计算机软件与理论 </td>
										<td align="middle" width="180" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="48" bgcolor="#ffffff" height="20"> </td>
										<td align="middle" width="132" bgcolor="#ffffff" height="20">西北工业大学 </td>
										<td align="middle" width="48" bgcolor="#ffffff" height="20">B+</td>
										<td align="middle" width="171" bgcolor="#ffffff" height="20">081202计算机软件与理论 </td>
										<td align="middle" width="180" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="48" bgcolor="#ffffff" height="20"> </td>
										<td align="middle" width="132" bgcolor="#ffffff" height="20">西安交通大学 </td>
										<td align="middle" width="48" bgcolor="#ffffff" height="20">B+</td>
										<td align="middle" width="171" bgcolor="#ffffff" height="20">081202计算机软件与理论 </td>
										<td align="middle" width="180" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
						</tbody>
				</table>
				<p style="TEXT-INDENT: 2em">
						<strong>3、计算机应用排名 学科代码：081203</strong>
				</p>
				<p style="TEXT-INDENT: 2em">
				</p>
				<table cellspacing="1" cellpadding="0" width="540" align="center" bgcolor="#666666" border="0">
						<tbody>
								<tr>
										<td align="middle" width="42" bgcolor="#ffffff" height="20">排名 </td>
										<td align="middle" width="126" bgcolor="#ffffff" height="20">校名 </td>
										<td align="middle" width="45" bgcolor="#ffffff" height="20">等级 </td>
										<td align="middle" width="176" bgcolor="#ffffff" height="20">二级学科 </td>
										<td align="middle" width="174" bgcolor="#ffffff" height="20">一级学科 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">学科门 </td>
								</tr>
								<tr>
										<td align="middle" width="42" bgcolor="#ffffff" height="20">1</td>
										<td align="middle" width="126" bgcolor="#ffffff" height="20">清华大学 </td>
										<td align="middle" width="45" bgcolor="#ffffff" height="20">A++</td>
										<td align="middle" width="176" bgcolor="#ffffff" height="20">081203计算机应用技术 </td>
										<td align="middle" width="174" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="42" bgcolor="#ffffff" height="20">2</td>
										<td align="middle" width="126" bgcolor="#ffffff" height="20">浙江大学 </td>
										<td align="middle" width="45" bgcolor="#ffffff" height="20">A++</td>
										<td align="middle" width="176" bgcolor="#ffffff" height="20">081203计算机应用技术 </td>
										<td align="middle" width="174" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="42" bgcolor="#ffffff" height="20">3</td>
										<td align="middle" width="126" bgcolor="#ffffff" height="20">哈尔滨工业大学 </td>
										<td align="middle" width="45" bgcolor="#ffffff" height="20">A++</td>
										<td align="middle" width="176" bgcolor="#ffffff" height="20">081203计算机应用技术 </td>
										<td align="middle" width="174" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="42" bgcolor="#ffffff" height="20">4</td>
										<td align="middle" width="126" bgcolor="#ffffff" height="20">华南理工大学 </td>
										<td align="middle" width="45" bgcolor="#ffffff" height="20">A++</td>
										<td align="middle" width="176" bgcolor="#ffffff" height="20">081203计算机应用技术 </td>
										<td align="middle" width="174" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="42" bgcolor="#ffffff" height="20">5</td>
										<td align="middle" width="126" bgcolor="#ffffff" height="20">北京大学 </td>
										<td align="middle" width="45" bgcolor="#ffffff" height="20">A++</td>
										<td align="middle" width="176" bgcolor="#ffffff" height="20">081203计算机应用技术 </td>
										<td align="middle" width="174" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="42" bgcolor="#ffffff" height="20">6</td>
										<td align="middle" width="126" bgcolor="#ffffff" height="20">南京大学 </td>
										<td align="middle" width="45" bgcolor="#ffffff" height="20">A+</td>
										<td align="middle" width="176" bgcolor="#ffffff" height="20">081203计算机应用技术 </td>
										<td align="middle" width="174" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="42" bgcolor="#ffffff" height="20">7</td>
										<td align="middle" width="126" bgcolor="#ffffff" height="20">中国科学技术大学 </td>
										<td align="middle" width="45" bgcolor="#ffffff" height="20">A+</td>
										<td align="middle" width="176" bgcolor="#ffffff" height="20">081203计算机应用技术 </td>
										<td align="middle" width="174" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="42" bgcolor="#ffffff" height="20">8</td>
										<td align="middle" width="126" bgcolor="#ffffff" height="20">西安电子科技大学 </td>
										<td align="middle" width="45" bgcolor="#ffffff" height="20">A+</td>
										<td align="middle" width="176" bgcolor="#ffffff" height="20">081203计算机应用技术 </td>
										<td align="middle" width="174" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="42" bgcolor="#ffffff" height="20">9</td>
										<td align="middle" width="126" bgcolor="#ffffff" height="20">吉林大学 </td>
										<td align="middle" width="45" bgcolor="#ffffff" height="20">A+</td>
										<td align="middle" width="176" bgcolor="#ffffff" height="20">081203计算机应用技术 </td>
										<td align="middle" width="174" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="42" bgcolor="#ffffff" height="20">10</td>
										<td align="middle" width="126" bgcolor="#ffffff" height="20">复旦大学 </td>
										<td align="middle" width="45" bgcolor="#ffffff" height="20">A+</td>
										<td align="middle" width="176" bgcolor="#ffffff" height="20">081203计算机应用技术 </td>
										<td align="middle" width="174" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="42" bgcolor="#ffffff" height="20">11</td>
										<td align="middle" width="126" bgcolor="#ffffff" height="20">西北工业大学 </td>
										<td align="middle" width="45" bgcolor="#ffffff" height="20">A</td>
										<td align="middle" width="176" bgcolor="#ffffff" height="20">081203计算机应用技术 </td>
										<td align="middle" width="174" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="42" bgcolor="#ffffff" height="20">12</td>
										<td align="middle" width="126" bgcolor="#ffffff" height="20">东北大学 </td>
										<td align="middle" width="45" bgcolor="#ffffff" height="20">A</td>
										<td align="middle" width="176" bgcolor="#ffffff" height="20">081203计算机应用技术 </td>
										<td align="middle" width="174" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="42" bgcolor="#ffffff" height="20">13</td>
										<td align="middle" width="126" bgcolor="#ffffff" height="20">东南大学 </td>
										<td align="middle" width="45" bgcolor="#ffffff" height="20">A</td>
										<td align="middle" width="176" bgcolor="#ffffff" height="20">081203计算机应用技术 </td>
										<td align="middle" width="174" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="42" bgcolor="#ffffff" height="20">14</td>
										<td align="middle" width="126" bgcolor="#ffffff" height="20">南开大学 </td>
										<td align="middle" width="45" bgcolor="#ffffff" height="20">A</td>
										<td align="middle" width="176" bgcolor="#ffffff" height="20">081203计算机应用技术 </td>
										<td align="middle" width="174" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="42" bgcolor="#ffffff" height="20">15</td>
										<td align="middle" width="126" bgcolor="#ffffff" height="20">武汉大学 </td>
										<td align="middle" width="45" bgcolor="#ffffff" height="20">A</td>
										<td align="middle" width="176" bgcolor="#ffffff" height="20">081203计算机应用技术 </td>
										<td align="middle" width="174" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="42" bgcolor="#ffffff" height="20">16</td>
										<td align="middle" width="126" bgcolor="#ffffff" height="20">同济大学 </td>
										<td align="middle" width="45" bgcolor="#ffffff" height="20">A</td>
										<td align="middle" width="176" bgcolor="#ffffff" height="20">081203计算机应用技术 </td>
										<td align="middle" width="174" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="42" bgcolor="#ffffff" height="20">17</td>
										<td align="middle" width="126" bgcolor="#ffffff" height="20">上海交通大学 </td>
										<td align="middle" width="45" bgcolor="#ffffff" height="20">A</td>
										<td align="middle" width="176" bgcolor="#ffffff" height="20">081203计算机应用技术 </td>
										<td align="middle" width="174" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="42" bgcolor="#ffffff" height="20">18</td>
										<td align="middle" width="126" bgcolor="#ffffff" height="20">安徽大学 </td>
										<td align="middle" width="45" bgcolor="#ffffff" height="20">A</td>
										<td align="middle" width="176" bgcolor="#ffffff" height="20">081203计算机应用技术 </td>
										<td align="middle" width="174" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="42" bgcolor="#ffffff" height="20">19</td>
										<td align="middle" width="126" bgcolor="#ffffff" height="20">北京邮电大学 </td>
										<td align="middle" width="45" bgcolor="#ffffff" height="20">A</td>
										<td align="middle" width="176" bgcolor="#ffffff" height="20">081203计算机应用技术 </td>
										<td align="middle" width="174" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="42" bgcolor="#ffffff" height="20">20</td>
										<td align="middle" width="126" bgcolor="#ffffff" height="20">北京航空航天大学 </td>
										<td align="middle" width="45" bgcolor="#ffffff" height="20">A</td>
										<td align="middle" width="176" bgcolor="#ffffff" height="20">081203计算机应用技术 </td>
										<td align="middle" width="174" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="42" bgcolor="#ffffff" height="20">21</td>
										<td align="middle" width="126" bgcolor="#ffffff" height="20">大连理工大学 </td>
										<td align="middle" width="45" bgcolor="#ffffff" height="20">A</td>
										<td align="middle" width="176" bgcolor="#ffffff" height="20">081203计算机应用技术 </td>
										<td align="middle" width="174" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="42" bgcolor="#ffffff" height="20">22</td>
										<td align="middle" width="126" bgcolor="#ffffff" height="20">天津大学 </td>
										<td align="middle" width="45" bgcolor="#ffffff" height="20">A</td>
										<td align="middle" width="176" bgcolor="#ffffff" height="20">081203计算机应用技术 </td>
										<td align="middle" width="174" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="42" bgcolor="#ffffff" height="20"> </td>
										<td align="middle" width="126" bgcolor="#ffffff" height="20">北京理工大学 </td>
										<td align="middle" width="45" bgcolor="#ffffff" height="20">B+</td>
										<td align="middle" width="176" bgcolor="#ffffff" height="20">081203计算机应用技术 </td>
										<td align="middle" width="174" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="42" bgcolor="#ffffff" height="20"> </td>
										<td align="middle" width="126" bgcolor="#ffffff" height="20">南京理工大学 </td>
										<td align="middle" width="45" bgcolor="#ffffff" height="20">B+</td>
										<td align="middle" width="176" bgcolor="#ffffff" height="20">081203计算机应用技术 </td>
										<td align="middle" width="174" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="42" bgcolor="#ffffff" height="20"> </td>
										<td align="middle" width="126" bgcolor="#ffffff" height="20">北京工业大学 </td>
										<td align="middle" width="45" bgcolor="#ffffff" height="20">B+</td>
										<td align="middle" width="176" bgcolor="#ffffff" height="20">081203计算机应用技术 </td>
										<td align="middle" width="174" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="42" bgcolor="#ffffff" height="20"> </td>
										<td align="middle" width="126" bgcolor="#ffffff" height="20">湖南大学 </td>
										<td align="middle" width="45" bgcolor="#ffffff" height="20">B+</td>
										<td align="middle" width="176" bgcolor="#ffffff" height="20">081203计算机应用技术 </td>
										<td align="middle" width="174" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="42" bgcolor="#ffffff" height="20"> </td>
										<td align="middle" width="126" bgcolor="#ffffff" height="20">四川大学 </td>
										<td align="middle" width="45" bgcolor="#ffffff" height="20">B+</td>
										<td align="middle" width="176" bgcolor="#ffffff" height="20">081203计算机应用技术 </td>
										<td align="middle" width="174" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="42" bgcolor="#ffffff" height="20"> </td>
										<td align="middle" width="126" bgcolor="#ffffff" height="20">南京航空航天大学 </td>
										<td align="middle" width="45" bgcolor="#ffffff" height="20">B+</td>
										<td align="middle" width="176" bgcolor="#ffffff" height="20">081203计算机应用技术 </td>
										<td align="middle" width="174" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="42" bgcolor="#ffffff" height="20"> </td>
										<td align="middle" width="126" bgcolor="#ffffff" height="20">哈尔滨工程大学 </td>
										<td align="middle" width="45" bgcolor="#ffffff" height="20">B+</td>
										<td align="middle" width="176" bgcolor="#ffffff" height="20">081203计算机应用技术 </td>
										<td align="middle" width="174" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="42" bgcolor="#ffffff" height="20"> </td>
										<td align="middle" width="126" bgcolor="#ffffff" height="20">华中科技大学 </td>
										<td align="middle" width="45" bgcolor="#ffffff" height="20">B+</td>
										<td align="middle" width="176" bgcolor="#ffffff" height="20">081203计算机应用技术 </td>
										<td align="middle" width="174" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="42" bgcolor="#ffffff" height="20"> </td>
										<td align="middle" width="126" bgcolor="#ffffff" height="20">电子科技大学 </td>
										<td align="middle" width="45" bgcolor="#ffffff" height="20">B+</td>
										<td align="middle" width="176" bgcolor="#ffffff" height="20">081203计算机应用技术 </td>
										<td align="middle" width="174" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
								<tr>
										<td align="middle" width="42" bgcolor="#ffffff" height="20"> </td>
										<td align="middle" width="126" bgcolor="#ffffff" height="20">北京科技大学 </td>
										<td align="middle" width="45" bgcolor="#ffffff" height="20">B+</td>
										<td align="middle" width="176" bgcolor="#ffffff" height="20">081203计算机应用技术 </td>
										<td align="middle" width="174" bgcolor="#ffffff" height="20">081200计算机科学与技术 </td>
										<td align="middle" width="72" bgcolor="#ffffff" height="20">08工学 </td>
								</tr>
						</tbody>
				</table>
				<p style="TEXT-INDENT: 2em">二级学科排名使用名次加等级的方式排列；B+级及其以下相同等级排名不分先后。等级共分11个：A++级、A+级、A级、B+级、B级、C+级、C级、D+级、D级、E+级、E级。更高的级别意味着更高的学术水平。 </p>
				<p style="TEXT-INDENT: 2em">对中国大学及其各个学科、专业进行评价是十分困难的<a href="http://edu.qq.com/job/" target="_blank">工作</a>，特别是对研究生二级学科的排名至今只有《中国大学评价》课题组一家完成。所有排名和等级仅供参考。《中国大学评价》课题组欢迎各方面来电来函提出批评建议，欢迎同行质疑、商榷、补充、指正。 </p>
				<p style="TEXT-INDENT: 2em">有关中国大学研究生院的具体排名情况和各大学各学科的排名、等级，见武书连主编、中国统计出版社出版的《挑大学 选专业——2007<a href="http://edu.qq.com/kaoyan/index.shtml">考研</a>择校指南》 </p>
				<p style="TEXT-INDENT: 2em">《中国大学评价》课题组联系电话：0755－83460023 0755－25964446 </p>
				<p style="TEXT-INDENT: 2em">作者电子信箱：<a href="mailto:wushulian@vip.sina.com">wushulian@vip.sina.com</a></p>
				<p style="TEXT-INDENT: 2em">
				</p>
				<p align="right">
						<font color="#666666">[责任编辑:moninfu]</font>
				</p>
		</div>
		<div id="ArticleTopic">相关专题： <a href="http://edu.qq.com/zt/2006/ytop/" target="_self">中国大学研究生院排行榜</a></div>
<img src ="http://www.cnitblog.com/cockerel/aggbug/17389.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cockerel/" target="_blank">踏雪赤兔</a> 2006-09-27 13:25 <a href="http://www.cnitblog.com/cockerel/archive/2006/09/27/17389.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>微软的成功之道 by  李开复</title><link>http://www.cnitblog.com/cockerel/archive/2006/09/10/16635.html</link><dc:creator>踏雪赤兔</dc:creator><author>踏雪赤兔</author><pubDate>Sun, 10 Sep 2006 15:50:00 GMT</pubDate><guid>http://www.cnitblog.com/cockerel/archive/2006/09/10/16635.html</guid><wfw:comment>http://www.cnitblog.com/cockerel/comments/16635.html</wfw:comment><comments>http://www.cnitblog.com/cockerel/archive/2006/09/10/16635.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/cockerel/comments/commentRss/16635.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cockerel/services/trackbacks/16635.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 微软的成功之道																																																										李开复														2005年2月																																																																																	...&nbsp;&nbsp;<a href='http://www.cnitblog.com/cockerel/archive/2006/09/10/16635.html'>阅读全文</a><img src ="http://www.cnitblog.com/cockerel/aggbug/16635.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cockerel/" target="_blank">踏雪赤兔</a> 2006-09-10 23:50 <a href="http://www.cnitblog.com/cockerel/archive/2006/09/10/16635.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>开卷有益——debian的编程书评</title><link>http://www.cnitblog.com/cockerel/archive/2006/08/16/15374.html</link><dc:creator>踏雪赤兔</dc:creator><author>踏雪赤兔</author><pubDate>Wed, 16 Aug 2006 08:55:00 GMT</pubDate><guid>http://www.cnitblog.com/cockerel/archive/2006/08/16/15374.html</guid><wfw:comment>http://www.cnitblog.com/cockerel/comments/15374.html</wfw:comment><comments>http://www.cnitblog.com/cockerel/archive/2006/08/16/15374.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnitblog.com/cockerel/comments/commentRss/15374.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cockerel/services/trackbacks/15374.html</trackback:ping><description><![CDATA[
		<!-- Page published by Emacs Wiki begins here --> 
<h2>前言</h2><p>这是在 ARGO 的 programming 版用 debian 这个 ID 发的系列短文, 整理后重发在这里. </p><p>阅读是人生的一个很重要的经历, 我外公的话记得最清楚的就是这句: 任何时候书都是最便宜的, 因为书是有价的, 而你能在书中学到的东西是无限的. 如果把外公的话从另一个角度分析的话, 就是著书者的劳动是无价或及其高价的(按照马克思的理论的话), 由于书的可分发特性, 所以我们买书的价格只是在分摊很小部分的版税以及书的印刷成本而已, 用这个价格去换作者宝贵的知识永远是赚的. </p><p>这是在文革其间读书无用论泛滥时外公对我妈妈他们说的, 外公没有见到图书市场的繁荣, 没有见到烂书的泛滥, 没有见到精装书的价格, 没有见到没有内容的书壳可以当装修材料卖个好价钱. 但是无论怎么样, 书仍然是最有价值的. </p><p>写这些文章的时候, 我也把写到的书一本一本地翻出来, 又重新回味一遍, 桌面也因此变得凌乱不堪. 好了, 要去收拾了, 也要擦擦书架了, 181 的灰尘真恐怖. 关于书, 我可以一直写下去, 不过很多都不是 programming 的内容了, 这个系列就此完结, 如果以后再看到好书, 仍会继续向大家推荐. </p><h2>语言学习类</h2><h3>SICP (Structure and Interpretation of Computer Programs)</h3><p>首先最喜欢的当然是 SICP (Structure and Interpretation of Computer Programs) 啦, 这本 MIT 计算机的入门教材当然不仅仅是 scheme 语言学习的最好教材那么简单啦, 它的编排跟普通的语言教学书是完全不同的, 第一章: 过程抽象, 第二章: 数据抽象, 第三章: 模块化, 对象与状态, 直到第四章: 元语言抽象, 它是在讲一种程序设计方法学乃至一种思维模式, 而不仅仅是一种语言 . </p><p>对语言的使用介绍穿插在这样的方法学介绍中, 它的基本思路是: 提出一个问题或一个程序的需求, 介绍一种方法, 介绍在 scheme 中用什么特性来实现这种方法, 接着不断地对这个程序进行优化. 用这样的方法带动读者一起思考, 并且鼓励读者尝试, 效果非常好. </p><p>而且这本入门书提出的问题一点都不简单, 例如第三章, 直到这里它才介绍了赋值语句, 赋值语句我们看来很简单, 但是笔锋一转: 赋值语句本质是把一个对象与一个名称绑定, 这个过程是怎么实现的呢, 或者说是一个在各种语言中都会涉及到的问题: 命名空间的确定, 接下来它就介绍了 scheme 的名字绑定使用的环境模型(Environment Model) --- 千万不要以为因为这是语言实现细节而可以忽略它, 理解不了这个模型的话后面巧妙地使用 scheme 的环境模型实现模块化和面向对象编程的内容是无法理解的, 而且 scheme 的环境模型与 Java 和其他类似的语言是完全一样的 (内存管理方面很容易看出 java 的语言对 LISP 类语言的借鉴), 我花了好大工夫把这个搞懂之后, java 类语言的内存管理模型我从来没有糊涂过, 而且对自己的软件设计也是很大的启发. 第三章的内容也令我们认真地反思这个 "简单" 的赋值语句, 为什么赋值语句或状态会造成副作用, 是否需要避免这个副作用等等问题, 这是在使用其他书学习语言的过程中无法触及到的. </p><p>提出以上的这些问题, 可能对一些计算机入门书来说是无法想象的, 但是 SICP 做到了, 它由浅入深, 从最基本的过程抽象 (即基本的定义函数), 到第四章的元语言抽象学习到如何使用 scheme 写一个 scheme 解释器, 完全地理解这门语言及其计算模型; 到第五章非常复杂的设计和实现一个寄存器计算机的模拟器, 并学习高级语言特性如何在其上实现. 计算机就真真正正地入了门了. 即使不是初学者(其实有多少真正的初学者会从这本书开始呢?) 认真地看一次这本书, 也会激起对各种问题的重新思考和重新认识, 会有很多的收获. </p><p>这本书作为教材, 当然有习题. 它的习题一点都不简单, 做起来很头痛的. 但是你一定会对这些习题很有兴趣, 我保证, 呵呵. </p><p>而且这本书的遣词造句非常生动形象, 而且妙句多多, 我想 Forward 中的以下这段话应该被引用过无数遍了: </p><p>Pascal is for building pyramids -- imposing, breathtaking, static structures built by armies pushing heavy blocks into place. Lisp is for building organisms -- imposing, breathtaking, dynamic structures built by squads fitting fluctuating myriads of simpler organisms into place. </p><p>还有例如 forward 的第一句话: "Educators, generals, dieticians, psychologists, and parents program. Armies, students, and some societies are programmed." </p><p>这本书的中译本已出版, 是北京大学的裘宗燕教授译的, 译得还是很准确到位的 . 总之这是一本有趣的, 有深度, 决不会让人厌倦的入门教材. </p><p>ps. 关于函数式编程, 一篇写得很好的文章叫 LISP 根源, 大家可以去看看, 连接在这里 <a href="http://daiyuwen.freeshell.org/gb/rol/roots_of_lisp.html">http://daiyuwen.freeshell.org/gb/rol/roots_of_lisp.html</a>. </p><h3>C 语言学习书籍</h3><p>这个我不想说太多的, 其他大牛应该有比我更好的经验. 我学 C 语言用的书一开始是谭浩强老师的书, 非常经典啦. 这本书似乎适合没有任何基础的人阅读, 由于年代久远忘得差不多, 不做评论. </p><p>学 C 语言的经典书当然是 K&amp;P (The C Programming Language) 啦, 这本书完全是一本语法定义和指南, 有过 C/C++ 基础的人应该再翻一遍这本书, 巩固掌握. 而且里面的例程采用的代码风格也是一种 C 语言编程的标准, 就叫 K&amp;P, 可惜 GNU 似乎不准备遵循这个标准, 嗯. </p><p>C++ 我不熟悉, 我认真看完的 C++ 入门书是 Thinking in C++, 没看过其他经典的 C++ 书, 所以也不作评论. 另外我看的 C++ 的第一本书是类似 "24 小时学会 C++" 那种, 写得糟糕外加憋脚的翻译, 让我小小年纪就明白烂书对这个世界的伤害有多深. </p><h3>python 学习书籍</h3><p>python 是我除了 C 之外最熟悉的语言之一, 入门学习的话, 我还是建议这样: 先搞清楚基本的语法和语言特性, 标准库不用看太多, 因为 python 的标准库实在大得恐怖, 我都是现用现查的. </p><p>我推荐一本似乎没有发行过的书: ann77 的python 学习笔记. 首先它是用一种正常人能看懂的中文写的 (相比于国内某些人写的言语晦涩故作高深令我宁愿回去读英文的中文书), 而且遵循的恰恰是一个 python 学习者的思路, 它第一章介绍语言特性, 后面两章介绍开发环境和常用的标准库, 认真读完第一章, 第二第三章跳着了解一点 (第三章第一第二节不能跳, 因为那是内置常用函数和文件操作介绍) 应该就能初步具备 python 开发的能力了. 我觉得它写得最好的是 </p><p>1.13 类一节, 它不是去介绍一大堆语法规则, 而是很轻松地解释了 python 是怎样用一个简单的方法去实现复杂的面向对象特性的, 之后该怎么做就很自然了 . 结合 1.12 名称空间一节, 你会了解到 python 实现类的方法是多么的高明, 怎么是用 "self" 使得名称空间在加入面向对象特性后不会变得混乱, 使得语言定义变得简洁优美. 所以在学习这些章节的时候, 你不会觉得是在学习一些麻烦的与其他语言差不多却偏偏有点区别的语法规则, 而是学习一种解决问题的方法. </p><p>另外的入门书还可以推荐 "How to Think Like a Computer Scientist - Learning with Python", 看题目它想做成像 SICP 一样的书, 可惜失败了. 它还是更偏重于语法特性的介绍, 不过确实介绍得简单易懂, 似乎适合完全没有语言基础的读者查看. 绝对不推荐那本叫 python bible 的书, 为什么一个这么简单的语言都可以被它讲得这么啰嗦...... </p><p>除此之外, python 的官方文档特别是标准库文档是要随身携带的, 随用随查, 常用的那几个包用多了就熟了. </p><h2>操作系统设计与实现</h2><p>我对这方面非常感兴趣, 认真看过的书也最多, 所以分列出来哈 </p><h3>UNIX 操作系统设计 vs. 莱昂氏 UNIX 源代码分析</h3><p>两本都是经典到不应该再拿来做介绍的书. UNIX 操作系统设计讲的是较为近代的 SystemV, 莱昂氏讲的是更为原始的 UNIX V7. 两本我看的都是中译本而且无缘得见原版, 其中莱昂氏的翻译是尤晋元, 应该说是很有口碑的. 第一本虽然没有原版对照, 但我觉得翻得还是很好的, 各种用语翻得很准确清晰. </p><p>我觉得 UNIX 操作系统设计这本书的写作目的并不是进行操作系统原理和实现的教学, 而是试图从系统设计角度解释 UNIX 系统, 帮助用户更好地掌握它, 这与关于 UNIX 的第一篇论文是相似的. 而至少对我来说, 这样的方法非常成功, 我是通过看这本书才认识到 UNIX 系统的优秀的. </p><p>这本书不厚, 里面没有列系统源代码 (而且有版权问题), 但是对一些关键的调用有非常清晰易懂的类 C 伪码进行说明, 我非常喜欢这种形式. 我觉得它写得最好的是文件系统相关的内容, 即第三到第五章, 分别介绍高速缓冲的实现, 文件内部表示和文件系统接口, 这些部分本来就是 UNIX 实现得最精妙的地方, 而它的阐述也非常到位; 至于后面进程管理的章节, 可能是觉得已经 toooold 了吧, 没有太大的感觉. 另外它的 SysV IPC 描述可能是最权威的. 这也是一本我觉得习题比较难却很有价值的书, 值得一做. </p><p>这本书非常适合没有很多 UNIX 使用经验的读者观看, 因为它不会乱入 UNIX 专门词汇让人莫名其妙, 一点一点都介绍得清清楚楚, 认真地读读第二章, 就能对 UNIX 操作系统的精妙设计而不是它的看起来不近人情的界面有一个大概的认识. </p><p>至于莱昂氏 UNIX 源代码注释, 我手上并没有书, 是在珠海图书馆借来看的. 应该说这种列源代码然后写恰到好处的注释的方法很有意思, 也值得采用, 然而在猛戳带下划线的内容也不会给我跳转到相应页面的纸版书上, 用这样的学习方法其实是很辛苦的. </p><p>老实说我没有在这本书上学到很多关于操作系统实现的东西, 可能是因为用的源代码太老了吧, 它是很简单很清楚, 但是很多必须考虑的问题它都没有涉及. 所以它可能更适合作为一本操作系统原理的教学书而不适合作为实际操作系统实现分析的教学. 但是话说回来, 除了系统原理学习的意义外, 它是一个极好的 C 语言编程范本, 以至于人们可能产生 "今不如夕" 的感叹, 例如它的 namei() 函数, 真是叫做无懈可击, 多一句废话, 少一句跑不起来. 所以去认真看看源代码还是很有价值的. </p><h3>4.4BSD 操作系统设计与实现 vs. 操作系统: 设计与实现.</h3><p>这两本书的名字都很像吧呵呵. 第一本是 4.4BSD 的开发者写的, 第二本是 Tanenbaum 教授为了操作系统教学做出 MINIX 之后以此为基础写的 (顺带一提, 我用的是第二版, 似乎 MINIX3 的改动非常大), 这两本书我看的都是译本, 原本都读过一点, 翻译得都很不错. 两本书中我更喜欢前者. </p><p>4.4BSD 操作系统设计与实现 这本书与其他的书不同, 他是面向一个真实的, 广泛使用的系统. 现代的所有 BSD 系统 FreeBSD, NetBSD, OpenBSD 等都是基于 </p><p>4.4BSD 并且没有很大的改动, 因此这本书有很大的实际使用价值, 我做 NetBSD 源代码分析 (<a href="http://student.zsu.edu.cn/~is03kyh/publish/BsdSource.html">http://student.zsu.edu.cn/~is03kyh/publish/BsdSource.html</a>) 时的主要参考书就是它. </p><p>由于介绍的是一个真实的系统, 它涵盖了很多操作系统实现的细节, 更为重要的是, 这样做是为了解决什么的问题, 为什么要这样做, 为什么不这样做, 是在什么环境什么应用中得到这个结论的都写得清清楚楚, 我们可以很清楚地看到它的设计取舍, 对我们很有启发. 我觉得它写得最好的是第二部分进程, 它包括了以下关键性的论题: 被所有 BSD 系统沿用至今的调度算法, 为什么这种调度算法是可用且适用的 (光看理论书上的 "先来先服务" 之类的东西是什么都学不到的); 内存管理系统描述, 它是用什么办法支持共享内存, COW (Copy On Write) 等现代操作系统功能的, 这也是在其他书上没法看到的. </p><p>跟上面的 UNIX 操作系统一书一样, 这本书当然也 "理论上" 是 socket 和 TCP/IP 系统实现的最权威描述. 这本书对 socket 的实现以及对下层协议的接口是描述得很好的, 但是 TCP/IP 的实现就描述的一般般了, 因为篇幅根本就不够用, 但是它还是用了相当地篇幅介绍 TCP/IP 实现中一个很重要的问题: TCP Stream 的重组算法, 重发策略等, 并且写得很好. 不过这一部分的内容我还是比较建议看 "TCP/IP 详解, 卷二, 实现". </p><p>该书没有带任何的实现源代码 (其实我很鄙视拿源代码占篇幅的行为), 阅读的时候可以单独阅读, 也可以结合 4.4BSD 或 FreeBSD 等核心源代码进行阅读分析. </p><p>再说说 "操作系统: 设计与实现" 一书, 它的基本目的与上面的一本不同, 它是为了进行操作系统原理的教学, 它的有名也有很大程度上是因为 linux, 当然有 linux 之前它也是经典教材了. 这本书的每一章的大概结构都是这样的: 介绍操作系统中的某个子系统的原理和基本理论, 然后介绍 MINIX 中的实现. 它的优点是能让读者很容易看到它学的东西在 "实际" 中是怎么实现的, 而不会对这门知识有空中楼阁之感; 问题是这个 "实际" 其实并不实际, 看过 MINIX 代码就知道, 为了尽量简化实现方便理解, 它在很多地方都是使用了能用但效率很低的简化方法, 这对初步了解操作系统设计与实现是有好处的, 但如果想真的了解 "真实" 操作系统中会遇到的问题以及解决方法, 这本书并不合适; 但是如果对操作系统原理一无所知, 看 4.4BSD 那本大概是不会有什么收获的, 看这本倒比较好. </p><h3>Linux 源代码分析书</h3><p>我对各种 Linux 源代码的分析书都不大喜欢, 原因是: Linux 并不是一个适合进行系统分析学习的系统, 它太过庞杂, 用的方法太过 "先进" 而没有足够的文档说明, 而且它变化得太快. 而且大多数 Linux 源代码分析书鼓励懒惰, 因为它常常会列出打断代码然后详细解释, 所以不用怎么思考都可以看着书跟着" 分析" 完源代码, 却没有真正在机器上看过这段代码, 思考它在实现上的取舍得失, 没有在上下文中理解代码, 看谁调用它, 它调用的是谁, 又是怎样实现的 . 这样的收获不会多. </p><p>我认为如果为理解一个优秀的开源操作系统的设计与实现计, 应该看的是 4.4 BSD 操作系统设计与实现, 但如果是要做 Linux 内核的开发, 还是必须翻一翻相关的分析书籍的. 不过话说回来, 源代码分析这东西, 做过一个, 另一个也是很好做的, 分析过 BSD 源代码, 虽然 Linux 的函数命名和代码结构几乎完全不同, 但也能很顺利地找到地方, 再 google 一点资料对关键算法如调度算法来点点拨就已经可以了. </p><h2>向大师致敬</h2><p>W.Richard Stevens（1951-1999），国际知名的UNIX和网络专家，受人尊敬的作家。他的著作有《UNIX网络编程》（两卷本），《UNIX环境高级编程》《TCP/IP详解》（三卷本）等，同时他还是广受欢迎的教师和顾问。 </p><p>Stevens先生1951年生于赞比亚，早年，他就读于美国弗吉尼亚州的费什本军事学校，后获得密歇根大学学士、亚利桑那大学系统工程硕士和博士学位。他曾就职于基特峰国家天文台，从事计算机编程。 </p><p>Stevens先生不幸病逝于1999年9月1日，他的离去是计算机界的巨大损失。 </p><p>他的三部巨著我都有幸读过, 虽然有的只是一小部分. Stevens 先生在书中总是用最平淡的语气说着那么重要的事. 似乎每本书每一部分都写得平淡无奇, 也没有提出什么新观点新算法, 但就是有这样的摄人的魅力, 每一本都被奉为圣经 . 看他不厌其烦地写出来的厚厚的书, 事无巨细都一一写出, 可能会觉得他嘴碎 , 可是只要再向前一步, 就会知道这只是他看问题比我深, 比我广, 在我遇到这些问题前已经给了我这许多金玉良言. 我想, 等我再往前走, 也会回来把他的书没读完的部分读完, 读过的部分再反复回味吧. </p><p>我也常常想, 写很多书, 著作等身不难, 但能写出三部被人奉为圣经的书有几个? 要写厚书不难, 但做到这么厚的书中的每一句话都可以给人细细斟酌吸收营养的又有几个? 凡大师者, 并不是因为他的专业水平有多高, 而更多的在于多少人能从他的工作中受益. 所以, Stevens 先生只凭着这三部书, 就足以称大师. </p><p>关于这三部书的评论已经有很多了, 这里的只是我自己的读后感. 其中我有纸板的只有 TCP/IP 详解的第一卷, 其他都是电子版. 除了 UNP 外, 我看的首先都是中译本. </p><h3>APUE (Advanced Programming in UNIX Environment)</h3><p>这本书又是经典的不用再介绍的. 这本可以说是 UNIX 编程的圣经了. 其实内容上我并不觉得有多大的出彩之处, 最简洁的形容就是: 准确, 透彻. 它力求对每一个接口都作最精确标准的描述, 大家常用的第二版是基于 POSIX 标准的. 它对每个接口都不是泛泛而谈, 甚至往往为了说明接口的用法而深入到内部的核心实现, 他还对各种接口的一些细微的却可能害死人的细节作了描述和讨论, 我想这就是对 UNIX 编程再熟悉的人也会经常读这本书的原因吧. </p><p>这本书虽然是介绍编程接口, 但它不是手册 (虽然也可以这么用), 它是一本真正的UNIX 编程入门书. 因为它不但说明了每个接口怎么用, 还说明了这些接口该在什么时候用, 用来干什么. UNIX 的系统调用很少很精炼, 有些功能如果没有一本书来提点是很难想到怎么做出来的, 比如用 manual 里只说了 dup 用来复制文件描述符, 并且返回的文件描述符是当前可用的最小的, 光知道这个, 要知道怎么用它构造输入输出重定向功能确实挺难. 这本书可以告诉你很多 UNIX 编程的惯例, 这是些 manual 不能告诉你但却被试为常识的东西. </p><p>不过话说回来, 有基本的 UNIX 编程知识后, 开发时最好用的还是系统自带的 manual, 首先这是最准确的, 其次每种 UNIX 系统都会有一些 "微妙" 的差别导致一些可能很严重的问题, 这时候只有 manual 能帮到你了. </p><h3>UNP (Unix Network Programming)</h3><p>这本书也是圣经级别的, 也是一本大~~~~ 书, 我手上没有纸版不知道有多厚, 但是没什么格式信息的 HTML 电子书全文是 8.8MB, 相当恐怖. 这本书几乎把能够用到的 socket 和 TCP/IP 内容都搬上来了. 不过我根本就没有从头到尾把它看过, 都是看着目录要用什么就查的. </p><p>这本书有一个特色, 就是有很多的例程. 几乎每个有独立接口的功能都有, 一些重要的应用 (比如 TCP 的 client/server) 会给出一个大一点的程序. --- 列一大堆程序的事国内很多书都会干, 可惜往往列的程序我都怀疑作者自己有没有看懂过, 我也见过把一个长长的自动生成的 Makefile 贴上去作为思考题书. 但这本书不同, 每一个程序都是小而必要的. TCP/IP 和 socket 的接口都非常复杂, 再加上选项没什么人能受得了的, 再加上它往往需要与系统的其他接口一起使用才能发挥作用, 所以必须在程序中展示这些接口和参数的实际应用, 才能令读者理解. </p><p>当然了, 我用到这本书的时候都是来抄代码的, 因为它的代码写的简洁精干, 通用性又强, 把它的代码东抄抄西抄抄改动一下就是一个很好的框架, 然后往里面填自己的东西就行了. 我总是觉得这么做的绝不止我一个, 因为看很多程序的相关代码都会有似曾相识的感觉, 特别是变量命名 --- 反正大家都是这么写的谁抄谁就不知道了咔咔. </p><h3>TCP/IP 详解</h3><p>这本书其实也不用介绍的, 经典的洪篇巨著. 大家可能看得最多的是卷一: 协议 . 这一章主要是在分析协议, 注意我用的是 "分析" 而不是 "介绍", 因为它的思路就是简要的介绍协议的基本思想和定义之后, 就开始用工具在实际网络中分析数据, 来展示协议是怎么使用和怎么工作的. 比如 TCP 三次握手, 我想学过相关知识的人都知道, 可是有没有真的用 tcpdump 去跟踪分析过三次握手呢? 另外它在这里也很注意例外情况的分析: 连接超时怎么办? 故意不完成三次握手会怎么样? 它都有提到并作分析. </p><p>TCP/IP 详解的第一卷并不是网络原理介绍书, 也不怎么会涉及 IP 层以下的东西. 我觉得它更适合给程序员, 给网络程序开发者使用, 让他们对这些底层原理有个概念, 知道自己层层包裹的应用层数据是怎么被发送出去的, 其中经历了多少艰难险阻, 也让他们在设计和实现上能够考虑到底层的情况而使用适当的方案 . </p><p>卷二: 实现, 我在做 NetBSD 源代码分析的 socket 一节时翻了一点, 它是一本源代码分析书, 分析的事 4.4BSD-lite 的 socket 和 TCP/IP 实现部分, 这当然时最经典的 socket 和 TCP/IP 协议栈实现. 这里用的办法是先讲大体的设计和结构, 然后小段小段地列举相应的代码, 再在后面对关键的行作注释, 看起来比莱昂氏的注释方法舒服很多, 但看的时候还是必须同步在计算机上打开同步源代码查看, 这样才能建立比较好的整体感觉, 而且查交叉引用比较方便, 看来后面忘了前面的事就比较好解决. </p><p>卷三没看过, 不作评论. </p><h2>开发实践</h2><p>程序开发是一项需要经验的活, 没有经验的时候就需要借鉴经验. 这是我喜欢的几本介绍开发实践的书, 而一些很经典我却没啥特别感觉的书, 比如设计模式的那本就没有列出来了, 并不代表我认为它们不好. 还有软件工程理论不包含在其中, 所以 "人月" 等几本经典书也没有列出. </p><h3>Code Reading, The Open Source Perspective</h3><p>这是一本很有意义的书, 其本意是展现一些开源工程中程序代码的通用模式, 帮助我们学习怎样分析一个大型系统的代码. 但是我觉得它的更大的意义是反过来的意义: 通过展现这些通用模式, 告诉我们什么是一个 "好的" 代码. 它首先基于 C 来描述了程序语言的基本元素, 基本数据类型的通用实现以及一些常用的 C 高级用法. 接下来讲述了怎么处理大型工程: 如何把握脉络, 把握架构, 编码规范, 文档标准等等 --- 这些都是从实际的开源软件工程中总结而来的, 而且都有广泛运用的实际运行代码作实例. </p><p>就像知道 UNIX 系统的每个系统接口也不一定能写出好的程序而要 APUE 帮助一样, 精通一门语言的语法规则, 对数据结构和算法也很熟悉, 也有可能写出很烂的程序, 这时候我们要知道一些编程的常用模式, 这些模式应该养成习惯, 直接套用, 比如遍历一个链表要怎么写, 就固定一个写法; 编码风格, 甚至包括注释的排版风格应该选定一个, 坚持使用下去, 而不是搞一套自己的编码风格, 这样写出来的代码才是高质量, 可理解, 可维护的. 这本书能帮助我们完成这些学习 , 与自己读一大堆源代码, 自己摸索总结相比, 这本书无疑是一个捷径, 但是不断地读代码还是很必要的咔咔. </p><h3>Hacker's Delight</h3><p>中译 "高效程序的奥秘", 不然又会被那些自以为黑客的小白买走奉为至宝了 . 不过原书的封面真的很黑咔咔. 这本书是介绍怎么通过位操作等原始手段实现常用的复杂功能, 以达到优化程序最常运行的部分, 提高程效率目的, 比方怎样将一个字作位翻转, 这本书把计算机的性能抠到了指令条数的量级上. 很多人可能认为这只是微不足道的小节, 现代编程也不会用到这样的方法, 或者认为编译器优化能解决一切问题, 但如果能让程序的一个核心函数性能提高一半, 可能就能令整个程序的性能提高 25% 以上, 这已经够要命了, 而书中提到的很多技巧, 在我看来都很难用自动编译器优化实现 (2 的幂的常数乘除外). 在分析操作系统代码的过程中, 可能会见到一些让人莫名其妙的位操作过程, 黑客们把这些当作常识, 我们却一面惘然, 其实很多都出自于本书了. </p><p>如果跟第一本相比, 这本书完成的就是细节处的第一本书的作用. 我不知道有谁能真的把这些技巧都记住 --- 都是要在实际使用中用多了才记住的, 但这本书即使记不住, 也是一本很有趣的读物, 时常拿着它看, 能看到几十来黑客们智慧和数学才能的光芒. </p><h3>程序设计实践 (The Practice of Programming)</h3><p>这本书的作者是 Brian W. Kernighan 和 Rob Pike, 好了不用说了, 绝对的票房保证. </p><p>这本书的意义与第一本是一样的, 不过它是从一个 "正" 的方向, 系统介绍了编码规范, 常用数据结构实现与选择, 开发与维护技巧等内容. 真的, 这本书不用其他介绍了, 意义我在说第一本书的时候已经说了, 它不是一本很特别的书, 但它是好书. </p><h3>程序调试思想与实践 (The Science of Debugging)</h3><p>这本书的作者之一是一个 M$ 的一个开发老手, 据说该书出版时的现在他的兴趣在玩 DEC 10. 这本书给 bug 归类, 编档, 说明发现, 诊断和解决的方法. 事实证明, 人是不可靠的, 人的一个错误犯了一次必然会犯第二次, 这个人犯的错误另一个人会接着犯, 所以看看这些常见 bug 列表很有好处. </p><p>这本书首先简述了一些著名的 bug 以及它的成因, 比如 AT&amp;T 的电话网中断事件成因的详细说明, 接着介绍了颇为困难的 "什么是 bug" 的问题, 以及 bug 的产生, 发现, 修改等生命周期, 接下来才是详细的 bug 分类介绍, 然后告诉我们发现和定位 bug 的技巧以及详细的解决方法, 还有如何在 bug 发生前避免它. 直到这些内容后, 才介绍我们知道的传统测试技术和维护技术. 其实, 前面的内容对我们来说才是重要的, 知道怎么写测试报告书 (好吧, 我就是在做这个该死的作业), 知道黑盒白盒测试, 背熟路径覆盖标准是没办法把一个 bug 揪出来的, 发现 bug 的办法是经验以及借鉴他人的经验, 这就是这本书的价值. </p><p>这本书的习题很有意思, 而且给了解答. 它往往给出一些匪夷所思的系统出错情况, 要你定位可能的错误原因 --- 条件都是给足的, 虽然可能很隐蔽. 这是非常有趣的专业迷题, 看完后你会对抓虫子很感兴趣的~~ </p><h3>TAOUP (The Art of UNIX Programming)</h3><p>NOTE: 这本书 linux 版精华区有全文, 大家支持一下吧, 咔咔~ 某著名发行版报告我吧嘿嘿. </p><p>这本书是 Eric S. Raymond 呕心沥血的巨著. 基本上是几十年来 UNIX 和开源软件开发的传奇和经验的合集, 也是一部真真正正的黑客传奇 (他自己有一篇 "Hacker 文化简史"). </p><p>本书分为四个部分, 第一部分基本上是传奇介绍了, 但是在传奇中说明了一些重要的 UNIX 设计思想; 第二部分是 UNIX 设计模式介绍, 以一些著名的格言展开 , 第一条当然是 UNIX 的 KISS 原则, 其他的基本上是面面俱到了, 从界面到软件架构, 并且以一些著名的开源工程为例进行 case study, 因为他们都是著名的常用的软件, 所以你能马上体会到一项设计要点的功用. 第三部分讲的是实现 , 包括了语言选择, 编译器选择, 使用自动代码生成器的技巧等 (不要以为 lex 和 yacc 只是编译原理学习工具, 在实际项目中它往往用来自动生成很复杂的命令解析等代码的) 等等杂七杂八的内容. 最后一个部分就是移植性, 文档, 开源等等方面的内容了. 另外决不可忽视 Appendix D, 那是些对话体的很有趣的短文, 值得一看. </p><p>UNIX 编程是一个充满隐喻, 特殊文化和传奇的领域, 把这本书作为故事书也好, 作为设计的参考也好, 都是很有价值的. APUE 能让你学会 UNIX 编程, 而这本书可能是从 "UNIX 编程" 到 "UNIX 开发" 乃至 "UNIX 风格的开发" 的一个途径. </p><h2>拾遗</h2><p>很怀疑这些书跟 programming 版有多大关系, 不过作为系列, 就还是放在这里吧. </p><h3>UNIX Haters Handbook</h3><p>这是一本痛陈 UNIX 缺点的书, 从设计到界面指出 UNIX 的种种不足和严重失误 , 应该说, 这是非常中肯的. </p><p>比方说, 它引用了一个著名的笑话: Ken Thompson 有一辆他参与设计的新车, 它没有速度表等任何仪表, 如果驾驶员犯错了, 一个硕大的问号就会出现在仪表盘的中央, Thompson 说: 一个有经验的用户应该知道发生了什么. UNIX 是一个给程序员设计的并希望用户像程序一样工作的系统, 所以情况确实如此. 书中还有很多 UNIX 用户真实的血泪控诉... </p><p>书的内容还覆盖了可能是因为 UNIX 程序作者的键盘太过难敲而令人无法理解的缩写命令名 (如 ls, mv), 理论上很先进但实际应用中一般般的 XWindow 等等. 这不是一本笑话书, 而是一本严肃的设计检讨书. 我推荐它并不是说明我完全同意里面的观点, 而是有如精华区里 "C之诡谲" 那篇文章一样, 描述 UNIX 的一些似是而非的细节和一些 "奇妙" 的缺陷, 帮助我们更好地认识和使用 UNIX, 也能在其中受到启发, 为自己的设计开发所用. </p><h3>The Jargon File aka. The New Hacker's Dictionary</h3><p>作者同样是 Eric S. Raymond. 这是一本黑客用语辞典, 在黑客的用语中, 能看到黑客的传奇历史. </p><p>用样的, 这本辞典能够提供给我们一些猎奇用的细碎的小知识和小典故, 所以使它变得相当有趣. 总之, 这是一本可以闲时翻一翻好玩的书. </p><p>这本书似乎有纸质出版, 但我相当怀疑它的销量. 这本书的官方网站是 <a href="http://www.catb.org/jargon/">http://www.catb.org/jargon/</a>, 除了提供原文之外, 还提供了一个搜索引擎能够搜索其中的词汇, 相当好玩. </p><h3>Just for Fun</h3><p>Linus 的自传, 还是推荐一下哈. </p><p>Linus 和 RMS 虽然是最著名的自由软件/开源软件的代表人物, 但他们的观点还是有一定分歧的. Linus 称 RMS 为伟大的哲学家, 而自己则是一个工程师. 而我认为形容 RMS 的最好的用语就是: "喋喋不休的传教士", 到处宣传自由软件. 而 Linus 是一个实干家, 这本书透露出了一个与 RMS 在自由软件思想上的不同的观点: Just for fun. </p><p>Linus 认为随着人类文明与科技的不断进步, 很多事情会由原始的生存需要, 转化成多少带有礼仪性的道德需要, 直到只是为了娱乐. 所以软件开发迟早也是一件用于娱乐的事情, 这种观点与 RMS 从道德, 经济和版权合理性的角度思考自由软件是不一样的. </p><p>这是一本故事书, 读着不累. Linus 把它的黑客生涯和 linux 开发说得很轻松, 我们也看得很轻松. 我想读着一定会为这句 "Just for fun" 感动. 这本来就是很简单的是, 不是去考虑市场, 也不是去考虑各种深奥高尚的哲学, 只是为了做一个会比 MINIX 好的系统, 就有了 Linux, 只是纯粹的为了让它变得更好, 就让 linux 发展到现在这个样子 (当然其他 linux 代码的贡献者可能不会那么纯粹, 比如贡献大量代码的 IBM 等公司). 为了自己的兴趣去开发软件, 然后开放它让大家共享, 一定是能获得最大快乐的办法, 我也是这么想的. </p><h3>如何求解问题: 现代启发式方法 (How to solve it, Modern Heuristics)</h3><p>这基本上是一本算法书, 是一本能够让人重新认识问题的算法书. 这本书首先是对传统方法的重认识, 接着是各种启发式方法的介绍. </p><p>这本书的好处是读起来不累, 这类书的一个常有毛病就是写得像论文, 一页一页的公式我看着就头晕, 而这本书很好地避免了这个问题, 虽然还是有各种必要的公式, 但还有大量的实例和图表做说明, 很容易理解. 这本书的另一个特点是每一部分前面的 IQ 迷题 --- 说 IQ 也好数学也好, 但它能通过这些迷题的问题和解答阐述出这一部分的观点, 让人对这部分所说的内容的作用有一个较早的认识. </p><h3>Introduction to Information Retrieval</h3><p><a href="http://www-csli.stanford.edu/~schuetze/information-retrieval-book.html">http://www-csli.stanford.edu/~schuetze/information-retrieval-book.html</a></p><p>这是一本没有出版的关于信息检索的书, 上面给出的连接有部分草稿下载, 不知道是学校网络问题还是怎么样, 我没有连上去. 我第一次看的时候他说预计今年 4 月能搞定, 结果我到五月的时候再去看, 发现网页更新过了, 对比了半天发现唯一的更新是把今年 4 月搞定改成今年夏天搞定, wish 之. </p><p>这是一本教材, 可能是给本科生的吧. 由浅入深, 讲了各种信息检索的方法, 从最核心的 inverted index 开始讲起, 然后是讲压缩和优化, 继而是进一步挖掘的各种方法. 书虽然没出完, 出了的章节我也没时间看完, 不过讲 inverted index 的部分真的讲得很好. 记得现有的章节 redhat 同学是看完了的, 请补充. </p><p>Information Retrieval 方面的书我知道的还有一本 Mordern Information Retrieval, 这本书的学习曲线就似乎比较陡峭. 其实它更像一本领域综述而不像一本教程, 还在啃ing. </p><h3>UML 精粹 (UML Distilled: A Brief Guide to the Standard Object Modeling Language) 2nd editon</h3><p>这也算是一本很经典的 UML 教程了. 译者徐家福似乎是个老人家, 他的这本书的翻译在国内似乎挺有口碑, 不过一些用语与常用译法有区别, 如用例 (use case) 他译的是用案, 是否更信达雅不敢妄评. 说说这本书吧, 这是一本薄书, 简明扼要地介绍了常用 UML 元素的用法 --- 而是不标准. 虽说 UML 不指定方法学, 但这本书其实给出了一些开发的范例, 这是值得学习的. </p><p>虽然我对 UML 之类的文档不大感兴趣, 但是这本书确实让我这个长着 papaya 脑袋的人比较好地了解 UML, 考系分的时候不至于一塌胡涂, 还是应该感谢 &amp; 推荐的. </p><h3>Analysis of Algorithms: An Active Learning Approach</h3><p>算法分析方面的专著很多, 大部头教材也有不少. 虽然我只看了很少一部分的 TAOCP, 但似乎书中很多篇幅都在干这个活. 而这本书就能给各种经典算法的分析以一个简要的介绍. </p><p>基础知识之后, 当然是最简单的查找和排序的分析, 之后是数值算法和图算法, 以及算法在分布式条件下的分析等等. 这本书我这个算法白痴还能基本看懂, 说明它还是写得很浅显易懂的, 其中它的分析思路也非常可贵, 值得学习. </p><h3>其他</h3><p>写到这里就差不多了吧, 好书还有很多很多. 一些非常经典的书这里都没有涉及到, 比如 TAOCP 啦, Machine Learing 啦, 数据挖掘 --- 概念与技术等等等等 , 他们都是被时间和口碑证明是非常好的书. 但有的我没读过或读不懂, 例如 TAOCP, 有的只看过一本, 对那个领域也完全不熟悉, 不好做评价. 有的是太偏门, 都没有在这里写出. 大家心里肯定也有不同的最喜欢的书的列表, 如果写出来, 让版友们也能分享, 岂不乐事一件? </p><h2>短文</h2><h3>No Silver Bullet --- Essence and Accident in Software Engineering</h3>(没有银弹 --- 软件工程中的根本和次要问题) 
<p></p><p>这是一篇非常经典的也引发了很多讨论的文章. 前面我没有说作者的经典得不能再经典的 "人月" 一书, 但这里却不能不提这篇文章. </p><p>本文开篇即开宗明义: 没有一种技术或管理上的进步能在十年内带来软件工程生产效率的本质提高 --- 看来, 不止十年, 至今这个断言还是对的. </p><p>本文的论点是软件是有史以来最复杂的人造物, 复杂性是导致生产率低下的主要原因, 然而复杂性是软件的基本属性, 无可改变, 因此没有银弹. 而其他的一些技术和方法只能或多或少地解决次要问题而无助于根本问题的解决. </p><p>我想这个多少有点悲观的观点在当时应该是非常震撼的, 即使是现在, 第一次读它的时候可能也会感受到同样的震撼. 如果 Brooks 说的是对的, 人们对软件的需求和软件复杂度飞速提高, 而软件生产效率没有得到本质提高的话, 在软件生产上投入的成本将会越来越大直至无法接受而崩溃, 这是一个非常可怕的设想 . 然后至少到现在看来, Brooks 仍然是对的. 所以这篇经典的文章, 仍然值得我们不断地重读, 反思和争论. </p><h3>The Roots of Lisp (LISP 之根源)</h3><p><a href="http://www.paulgraham.com/rootsoflisp.html">http://www.paulgraham.com/rootsoflisp.html</a> 官方中译本: <a href="http://daiyuwen.freeshell.org/gb/rol/roots_of_lisp.html">http://daiyuwen.freeshell.org/gb/rol/roots_of_lisp.html</a></p><p>这是一个简要的 LISP 历史和设计思想介绍和最简单的 LISP 入门文章. 我想被引用的最多的应该会是这段. </p><p>值得注意的是,麦卡锡所作的发现,不仅是计算机史上划时代的大事, 而且是一种在我们这个时代编程越来越趋向的模式.我认为目前为止只有两种真正干净利落, 始终如一的编程模式:C语言模式和Lisp语言模式.此二者就象两座高地, 在它们中间是尤如沼泽的低地.随着计算机变得越来越强大,新开发的语言一直在坚定地趋向于Lisp模式. 二十年来,开发新编程语言的一个流行的秘决是,取C语言的计算模式,逐渐地往上加Lisp模式的特性,例如运行时类型和无用单元收集. </p><p>接下来则是 LISP 语言的简要介绍, 这个介绍的目的是为了说明为什么用最简单的数据结构和极少数的几个操作符就足以构建一个强大的程序和为什么这样的构建方法是有效且高效的. 它把 LISP 严谨的数学性和美感表露无遗, 从几个最简单的公理 (原子操作符) 开始构建任何复杂的数据结构; 使用一个 lambda 算子就能构造函数以及命名空间 (LISP 中的各种命名空间定义, 如 let, 本质上都是 lambda 的语法糖衣, 可以完全用 lambda 构筑而成), 并能在如此之短的篇幅里演示如何使用 LISP 写一个 LISP 解释器, 展示元语言抽象的威力. 对 LISP 类语言有兴趣的同学, 这篇文章绝对值得一读. </p><h3>Twenty Years of Berkeley Unix</h3><p><a href="http://www.oreilly.com/catalog/opensources/book/kirkmck.html">http://www.oreilly.com/catalog/opensources/book/kirkmck.html</a></p><p>BSD 主力开发者写的 BSD 和 UNIX 历史, 但不包含 4.4BSD 之后 (即 CSRG 解散后) 的历史. </p><p>BSD 的发展历史中出现了很多根本不应该是这个时代的地球人的人物, 例如写出 vi, 后来是 SUN 的技术灵魂的 Bill Joy, 也产生了一些真正影响人类发展进程的技术, 如第一个 TCP/IP 实现, 所以 BSD 的历史确实应该独立出 UNIX 的历史之外分别论述的. </p><p>在这里不但能知道我们每天都要接触到的技术是怎么产生的, 可以看到传奇是怎么看似平淡无奇地谱写的, 也可以看出现实需要和限制是如何影响技术发展的 (如 vi 的奇怪的方向键设定与当时用的 terminal 很有关系), 更可以看出老一辈黑客高手对计算机科学的热情和无私奉献的精神. 再看看自己的现状以及环境 , 确实会突然有发奋图强的热情和冲劲的 --- 那个, 偶通常能保持几个小时... </p><h3>The X Window System</h3><p>这是由 XWindow 设计者撰写的描述 XWindow 设计的论文. XWindow 的设计在今天看来都是非常先进的: 它把现实设备看成一个 Server, 各种程序看成 client, 他们通过收发消息进行交互, 用这样的方法来实现平台硬件无关和远程显示 --- 注意, 这是二十年前的事情. </p><p>这篇文章是一个很好的设计范例, 作者把当前遇到的问题, 需求为了应对这样的需求采用什么设计都一一道来. 所以我们能够理解 XWindow 中每一项设计的根源. 我们会发现, 我们现在遇到的很多问题, 他们在二十年前就考虑到并着手解决了. 在 XWindow 的设计中, 也体现了优越的 Tools, not policy 的思想, 从第二章需求分析到第三章设计都能很好地体现这一点. 就因为坚持这样的思想, 所以二十年来 XWindow 的系统体系并没有什么改动, 从最原始的 twm 到最新的 Gnome 4.14 和最新的图形化程序他们用的东西并没有本质区别. 这在我们的开发工作中都是值得借鉴和参考的. </p><p>当然, 正因为这样的设计, XWindow 常常会受到效率和标准化方面的诟病 (当然了不是 XWindow 不标准, 是上面跑的东西不标准而已), 优秀而超前的想法往往不是当前的胜利者. 然而, 技术的发展却坚定地朝着文章所指明的方向前进, 瘦客户机, 基于 XML 的用户界面引擎等等时髦的概念和技术频频出现在大众媒体和软件厂商的广告词当中. 这时候, 我们应该来看看这篇二十年前的犹如达芬奇手稿的文章了. </p><h3>EMACS: The Extensible, Customizable Display Editor</h3><p><a href="http://www.gnu.org/software/emacs/emacs-paper.html">http://www.gnu.org/software/emacs/emacs-paper.html</a></p><p>这是关于 emacs 设计的论述, 作者显然是 RMS. emacs 毫无疑问是当今最强大的文本编辑器, 这与它优秀的设计是分不开的 --- 它首先用 C 写了一个 elisp 解释器, 这是一个 lisp 的方言, 能够完成最基本的文本操作, 然后编辑器的其他部分都主要用 elisp 脚本写成. 因而, emacs 拥有最高的可定制性和可扩展性 --- emacs 其实没有 "配置文件" 一说, 它的配置文件就是一个启动时运行的 elisp 程序, 是编辑器的一部分, 可由用户随意改动; 而用 elisp 可以给 emacs 添加几乎任何功能, 甚至改动非常核心的函数. 因而它有无限的可能性和威力. </p><p>这篇文章描述了 emacs 在设计中对比前人的主要进步: 彻底把编辑器的编辑语言和编程语言分开, 保证编辑简单易用的同时用编程语言 (elisp) 赋予用户最多的可能性. 文章还叙述了 emacs 的许多设计要点. 这也是一个非常好的设计参考, 而且有一个广受好评的实际例子可参考, 值得推荐. </p><h3>阅读的权利</h3><p>这篇短文是 RMS 写的一篇 "科幻" 文章, 说的是在未来人们连借阅图书也会被当作是犯罪, 并可能被投入监狱. 即使学术论文也要支付 10% 的阅读费, 而借债读书的学生还债的希望就在于能够写出被频繁引用的论文从而把阅读费给赚回来 --- 这似乎是一个无可想象的世界, 但是, 在软件行业领域不正是这样么? </p><p>我们无法想象买到一张新 CD 却被要求必须单独欣赏而不能和朋友分享的日子, 然而软件行业正是这样的, 甚至唱片行业也逐步有这样的趋势; Code Reading 那本书的前言说很难想象一个人练习写作时不去参考著名作家的作品, 然而软件行业就是这样的, 虽然我国法律允许对软件进行研究, 但是你读汇编干什么? 把似乎很合理的软件业的版权限制放到其他我们熟知的领域, 就能看到它们有多么的荒谬. </p><p>正是这篇文章使我认真思考关于自由软件的意义的问题, 而不是一种幼稚的反微软反商业情绪. 文章的结尾是煽动性的, 主角们移民到版权官尚无力控制的月球 , 暗示着 GNU 重新创建自己的自由软件世界的行动, 而后面的大起义, 其含义就很明确了. </p><h3>Eric S. Raymond 的文章</h3><p>Eric S. Raymond 是开源软件界的著名作家, 他的文章对开源软件社区及其他公众都产生了深刻的影响. 除了上面介绍过的 TAOUP 外, 它的经典文章还包括 "如何成为一名黑客", "提问的智慧" 等等. 篇幅有限, 这里只是简略提及, 所提到的所有文章在 Linux 版精华区有中文译文. </p><p>"提问的智慧" 是我最常引用的文章, 它不但是黑客社区中交流的指引, 更是一个对 "如何解决问题" 的引导, 是任何人都应该一读的文章. "Hacker 文化简史" 是一个传奇简述, 在传奇中表现黑客的精神. "如何成为一名 Hacker" 则是一个对计算机入门者如何成长的良好指引, 它着重讲两个方面: 黑客应有的态度和黑客应具备的技术, 这其实也是计算机专业学生应有的态度和技术. "开拓智域" 这篇文章有点难懂, 大概是从社会学和人性的角度分析开源软件社区的运作, 它解释了一下开源软件社区中的各种不同观点, 也解释了这个社区的文化, 规则及其成因. 这几篇文章对有点神秘的, 常常被误解的黑客社区做了深刻的刻画. </p><p>"大教堂和市集" 讲述两种不同的开发风格, 并说明为什么管理稍显杂乱的市集模式能够开发出优秀稳定的软件. 证明了开源软件开发模式的合理性. "魔法大熔炉" 则是从经济学的角度说明开源软件的发展与占领市场是合理且对业界有利的. 这可能可以算是面向大众的对开源运动的一个理性分析. </p><h3>The Tao of Computer Programming</h3><p><a href="http://www.users.cloud9.net/~hennessy/tao.html">http://www.users.cloud9.net/~hennessy/tao.html</a></p><p>把这篇文章放在压轴的位置是特意的, 从标题看是想仿道德经的, 不过混杂了不少后世道家著作的改版, 比如那个 "图灵梦见自己变成了一台机器", 乃至其他著作的"三日不编程食肉无味" 之类. 和道德经一样, 它是一些对编程, 对设计乃至对计算机科学的格言, 有的发人深思, 有的可能是我段数不够, 看的莫名其妙. </p><p>作者在文中把握了一个重要的思想: 编程是一项处处渗透着哲学道理和哲学情趣的工作. 比如硬件和软件是计算机的两极, 没有硬件软件只是一堆臆想, 没有软件硬件只是一堆发热的元件, 脱离硬件谈软件和脱离软件谈硬件都是不可能的, 时间和空间是机器的阴阳两极, 得时间往往失之空间, 得空间往往失之时间, 只能权衡调和; 程序语言中的命名空间, 引用和实体的关系乃至 "引用对象的实体" 等等, 是典型的 "名" 与 "实" 之辨. 读点哲学书, 看看老祖宗的智慧, 可能会有新的启发. </p><p>具体的内容在这里不一一列举, 我们中国人读自己的作品, 应该更容易明白其中的引喻和微言大义. 这篇文章当然有很多的中文译本, 名字大抵都叫 "编程之道", 大家可以搜索一下. 道可道, 非常道, 计算机的大道不存在与让人眼花缭乱的技术名词中. 我们往往容易迷失在新技术和新技术名词中而不去追寻其真正的意义和所谓的 "道", 这篇文章大有返朴归真之意, 先不说是不是真的能够学到所谓的 "道", 但看着它, 确实能让你心平气和, 如沐春风. </p><img src ="http://www.cnitblog.com/cockerel/aggbug/15374.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cockerel/" target="_blank">踏雪赤兔</a> 2006-08-16 16:55 <a href="http://www.cnitblog.com/cockerel/archive/2006/08/16/15374.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>TIOBE 世界编程语言排名及点评（ 2006年 8 月） </title><link>http://www.cnitblog.com/cockerel/archive/2006/08/15/15316.html</link><dc:creator>踏雪赤兔</dc:creator><author>踏雪赤兔</author><pubDate>Tue, 15 Aug 2006 14:22:00 GMT</pubDate><guid>http://www.cnitblog.com/cockerel/archive/2006/08/15/15316.html</guid><wfw:comment>http://www.cnitblog.com/cockerel/comments/15316.html</wfw:comment><comments>http://www.cnitblog.com/cockerel/archive/2006/08/15/15316.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnitblog.com/cockerel/comments/commentRss/15316.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cockerel/services/trackbacks/15316.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 八月头条: 								Ruby崛起，狂升15位。																								以下为														CSDN BLOG 														专稿，作者TTC																						。																				转载请注明出处。谢谢。 			...&nbsp;&nbsp;<a href='http://www.cnitblog.com/cockerel/archive/2006/08/15/15316.html'>阅读全文</a><img src ="http://www.cnitblog.com/cockerel/aggbug/15316.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cockerel/" target="_blank">踏雪赤兔</a> 2006-08-15 22:22 <a href="http://www.cnitblog.com/cockerel/archive/2006/08/15/15316.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>算法的力量 by 李开复</title><link>http://www.cnitblog.com/cockerel/archive/2006/08/15/15314.html</link><dc:creator>踏雪赤兔</dc:creator><author>踏雪赤兔</author><pubDate>Tue, 15 Aug 2006 11:48:00 GMT</pubDate><guid>http://www.cnitblog.com/cockerel/archive/2006/08/15/15314.html</guid><wfw:comment>http://www.cnitblog.com/cockerel/comments/15314.html</wfw:comment><comments>http://www.cnitblog.com/cockerel/archive/2006/08/15/15314.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/cockerel/comments/commentRss/15314.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cockerel/services/trackbacks/15314.html</trackback:ping><description><![CDATA[
		<div class="item_content">
				<p>　　升大三了，很快就要学习计算机科学中最精华的部分——算法设计了，特转此文以自励。<br /><br />　　算法是计算机科学领域最重要的基石之一，但却受到了国内一些程序员的冷落。许多学生看到一些公司在招聘时要求的编程语言五花八门就产生了一种误解，认为学计算机就是学各种编程语言，或者认为，学习最新的语言、技术、标准就是最好的铺路方法。其实大家都被这些公司误导了。编程语言虽然该学，但是学习计算机算法和理论更重要，因为计算机算法和理论更重要，因为计算机语言和开发平台日新月异，但万变不离其宗的是那些算法和理论，例如数据结构、算法、编译原理、计算机体系结构、关系型数据库原理等等。在“开复学生网”上，有位同学生动地把这些基础课程比拟为“内功”，把新的语言、技术、标准比拟为“外功”。整天赶时髦的人最后只懂得招式，没有功力，是不可能成为高手的。</p>
				<p>
						<strong>算法与我</strong>
				</p>
				<p>当我在1980年转入计算机科学系时，还没有多少人的专业方向是计算机科学。有许多其他系的人嘲笑我们说：“知道为什么只有你们系要加一个‘科学’，而没有‘物理科学系’ 或‘化学科学系’吗？因为人家是真的科学，不需要画蛇添足，而你们自己心虚，生怕不‘科学’，才这样欲盖弥彰。”其实，这点他们彻底弄错了。真正学懂计算机的人（不只是“编程匠”）都对数学有相当的造诣，既能用科学家的严谨思维来求证，也能用工程师的务实手段来解决问题——而这种思维和手段的最佳演绎就是 “算法”。<a id="more-192"></a></p>
				<p>记得我读博时写的Othello对弈软件获得了世界冠军。当时，得第二名的人认为我是靠侥幸才打赢他，不服气地问我的程序平均每秒能搜索多少步棋，当他发现我的软件在搜索效率上比他快60多倍时，才彻底服输。为什么在同样的机器上，我可以多做60倍的工作呢？这是因为我用了一个最新的算法，能够把一个指数函数转换成四个近似的表，只要用常数时间就可得到近似的答案。在这个例子中，是否用对算法才是能否赢得世界冠军的关键。</p>
				<p>还记得1988年贝尔实验室副总裁亲自来访问我的学校，目的就是为了想了解为什么他们的语音识别系统比我开发的慢几十倍，而且，在扩大至大词汇系统后，速度差异更有几百倍之多。他们虽然买了几台超级计算机，勉强让系统跑了起来，但这么贵的计算资源让他们的产品部门很反感，因为“昂贵”的技术是没有应用前景的。在与他们探讨的过程中，我惊讶地发现一个O(n*m)的动态规划(dynamic programming)居然被他们做成了O(n*n*m)。更惊讶的是，他们还为此发表了不少文章，甚至为自己的算法起了一个很特别的名字，并将算法提名到一个科学会议里，希望能得到大奖。当时，贝尔实验室的研究员当然绝顶聪明，但他们全都是学数学、物理或电机出身，从未学过计算机科学或算法，才犯了这么基本的错误。我想那些人以后再也不会嘲笑学计算机科学的人了吧！</p>
				<p>
						<strong>网络时代的算法</strong>
				</p>
				<p>有人也许会说：“今天计算机这么快，算法还重要吗？”其实永远不会有太快的计算机，因为我们总会想出新的应用。虽然在摩尔定律的作用下，计算机的计算能力每年都在飞快增长，价格也在不断下降。可我们不要忘记，需要处理的信息量更是呈指数级的增长。现在每人每天都会创造出大量数据（照片，视频，语音，文本等等）。日益先进的纪录和存储手段使我们每个人的信息量都在爆炸式的增长。互联网的信息流量和日志容量也在飞快增长。在科学研究方面，随着研究手段的进步，数据量更是达到了前所未有的程度。无论是三维图形、海量数据处理、机器学习、语音识别，都需要极大的计算量。在网络时代，越来越多的挑战需要靠卓越的算法来解决。</p>
				<p>再举另一个网络时代的例子。在互联网和手机搜索，如果要找附近的咖啡店，那么搜索引擎该怎么处理这个请求呢？最简单的办法就是把整个城市的咖啡馆都找出来，然后计算出它们的所在位置与你之间的距离，再进行排序，然后返回最近的结果。但该如何计算距离呢？图论里有不少算法可以解决这个问题。</p>
				<p>这么做也许是最直观的，但绝对不是最迅速的。如果一个城市只有为数不多的咖啡馆，那么这么做应该没什么问题，反正计算量不大。但如果一个城市里有很多咖啡馆，又有很多用户都需要类似的搜索，那么服务器所承受的压力就大多了。在这种情况下，我们该怎样优化算法呢？</p>
				<p>首先，我们可以把整个城市的咖啡馆做一次“预处理”。比如，把一个城市分成若干个“格子(grid)”，然后根据用户所在的位置把他放到某一个格子里，只对格子里的咖啡馆进行距离排序。</p>
				<p>问题又来了，如果格子大小一样，那么绝大多数结果都可能出现在市中心的一个格子里，而郊区的格子里只有极少的结果。在这种情况下，我们应该把市中心多分出几个格子。更进一步，格子应该是一个“树结构”，最顶层是一个大格——整个城市，然后逐层下降，格子越来越小，这样有利于用户进行精确搜索——如果在最底层的格子里搜索结果不多，用户可以逐级上升，放大搜索范围。</p>
				<p>上述算法对咖啡馆的例子很实用，但是它具有通用性吗？答案是否定的。把咖啡馆抽象一下，它是一个“点”，如果要搜索一个“面”该怎么办呢？比如，用户想去一个水库玩，而一个水库有好几个入口，那么哪一个离用户最近呢？这个时候，上述“树结构”就要改成“r-tree”，因为树中间的每一个节点都是一个范围，一个有边界的范围（参考:http://www.cs.umd.edu/~hjs/rtrees/index.html）。</p>
				<p>通过这个小例子，我们看到，应用程序的要求千变万化，很多时候需要把一个复杂的问题分解成若干简单的小问题，然后再选用合适的算法和数据结构。</p>
				<p>
						<strong>并行算法：Google的核心优势</strong>
				</p>
				<p>上面的例子在Google里就要算是小case了！每天Google的网站要处理十亿个以上的搜索，GMail要储存几千万用户的2G邮箱，Google Earth要让数十万用户同时在整个地球上遨游，并将合适的图片经过互联网提交给每个用户。如果没有好的算法，这些应用都无法成为现实。</p>
				<p>在这些的应用中，哪怕是最基本的问题都会给传统的计算带来很大的挑战。例如，每天都有十亿以上的用户访问Google的网站，使用Google的服务，也产生很多很多的日志(Log)。因为Log每份每秒都在飞速增加，我们必须有聪明的办法来进行处理。我曾经在面试中问过关于如何对Log进行一些分析处理的问题，有很多面试者的回答虽然在逻辑上正确，但是实际应用中是几乎不可行的。按照它们的算法，即便用上几万台机器，我们的处理速度都根不上数据产生的速度。</p>
				<p>那么Google是如何解决这些问题的？</p>
				<p>首先，在网络时代，就算有最好的算法，也要能在并行计算的环境下执行。在Google的数据中心，我们使用的是超大的并行计算机。但传统的并行算法运行时，效率会在增加机器数量后迅速降低，也就是说，十台机器如果有五倍的效果，增加到一千台时也许就只有几十倍的效果。这种事半功倍的代价是没有哪家公司可以负担得起的。而且，在许多并行算法中，只要一个结点犯错误，所有计算都会前功尽弃。</p>
				<p>那么Google是如何开发出既有效率又能容错的并行计算的呢？</p>
				<p>Google最资深的计算机科学家Jeff Dean认识到，Google所需的绝大部分数据处理都可以归结为一个简单的并行算法：Map and Reduce（http://labs.google.com/papers/mapreduce.html）。这个算法能够在很多种计算中达到相当高的效率，而且是可扩展的（也就是说，一千台机器就算不能达到一千倍的效果，至少也可以达到几百倍的效果）。Map and Reduce的另外一大特色是它可以利用大批廉价的机器组成功能强大的server farm。最后，它的容错性能异常出色，就算一个server farm宕掉一半，整个fram依然能够运行。正是因为这个天才的认识，才有了Map and Reduce算法。借助该算法，Google几乎能无限地增加计算量，与日新月异的互联网应用一同成长。 </p>
				<p>
						<strong>算法并不局限于计算机和网络</strong>
				</p>
				<p>举一个计算机领域外的例子：在高能物理研究方面，很多实验每秒钟都能几个TB的数据量。但因为处理能力和存储能力的不足，科学家不得不把绝大部分未经处理的数据丢弃掉。可大家要知道，新元素的信息很有可能就藏在我们来不及处理的数据里面。同样的，在其他任何领域里，算法可以改变人类的生活。例如人类基因的研究，就可能因为算法而发明新的医疗方式。在国家安全领域，有效的算法可能避免下一个911的发生。在气象方面，算法可以更好地预测未来天灾的发生，以拯救生命。</p>
				<p>所以，如果你把计算机的发展放到应用和数据飞速增长的大环境下，你一定会发现；算法的重要性不是在日益减小，而是在日益加强。</p>
		</div>
<img src ="http://www.cnitblog.com/cockerel/aggbug/15314.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cockerel/" target="_blank">踏雪赤兔</a> 2006-08-15 19:48 <a href="http://www.cnitblog.com/cockerel/archive/2006/08/15/15314.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>经典回顾：十年MFC经历认识的Microsoft技术</title><link>http://www.cnitblog.com/cockerel/archive/2006/08/11/15150.html</link><dc:creator>踏雪赤兔</dc:creator><author>踏雪赤兔</author><pubDate>Fri, 11 Aug 2006 15:34:00 GMT</pubDate><guid>http://www.cnitblog.com/cockerel/archive/2006/08/11/15150.html</guid><wfw:comment>http://www.cnitblog.com/cockerel/comments/15150.html</wfw:comment><comments>http://www.cnitblog.com/cockerel/archive/2006/08/11/15150.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnitblog.com/cockerel/comments/commentRss/15150.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cockerel/services/trackbacks/15150.html</trackback:ping><description><![CDATA[
		<h1>来源: <a href="http://tech.163.com/06/0315/10/2C8HEVN10009159F.html#" target="_blank">csdn</a>　　　</h1>
		<!-- main -->
		<div id="main">
				<div id="text">
						<p style="TEXT-INDENT: 2em">
								<u>
								</u>
						</p>
						<p style="TEXT-INDENT: 2em">自从<chsdate w:st="on" isrocdate="False" islunardate="False" day="8" month="3" year="2005"></chsdate>2005年3月8日下午16时“十年MFC经历认识的Microsoft技术”以帖子的方式发表于CSDN论坛后，引起了许多网友得好评，使得笔者诚惶诚恐，考虑到该贴过长(人气指数为5000)，因此转移到Blog上，许多网友对此帖的评语只好省略，在此鄙人谢过了！为感谢网友的支持，本人希望今后能发出新的帖子以回报网友对我的鼓励，再一次谢谢！ </p>
						<p>
								<!--大屏幕-->
						</p>
						<table align="left" border="0">
								<tbody>
										<tr>
												<td>
												</td>
										</tr>
								</tbody>
						</table>
						<p style="TEXT-INDENT: 2em">
						</p>
						<p style="TEXT-INDENT: 2em">
								<b style="mso-bidi-font-weight: normal">初识</b>
								<b style="mso-bidi-font-weight: normal">MFC </b>
						</p>
						<p style="TEXT-INDENT: 2em">我最初知道MFC大概是在1993年，那个时候Visual C++还没面世，当时Microsoft的C++编译器还很弱，官方的名字是Microsoft C/C++ 7.0，MFC的版本是1.0，几乎没有引起什么反响，那个时期最好的C++开发环境是Borland C++ 3.1，其实，大概是1992年11月份，一个偶然的机会，我领略到Borland公司的厉害，记不得在什么地方，我看到一个绝妙的集成开发环境，即Turbo C++ 3.0 for Windows，这是我记忆中第一个真正的Windows环境下的C++集成开发环境，那种激动的感觉至今仍记忆犹新，不客气的说，当时至少在C++方面，Microsoft与Borland不是一个水平的，Borland明显的要高于Microsoft ，Borland的产品在技术上给我留下深刻的印象。那个时候Microsoft最好的开发平台是Visual Basic 3.0，而Borland的Delphi正处于开发阶段（Delphi 的代码名称是：“VB Killer”）……，想起这些十几年前的往事，我不禁感慨万千。 </p>
						<p style="TEXT-INDENT: 2em">十几年来，我用过许多开发环境，关于Visual Basic，我用过最早的DOS版本，Windows版的Visual Basic我基本上全都用过，至今我还记得每个版本的VB安装盘磁盘的盘数。同样，我用过各个版本的Delphi，特别是Delphi 2.0，给我留下极好的印象。Delphi提供真正编译的可视化开发环境，那个时候（1994年左右），Delphi就可以开发带有GUI的动态链接库，你可以想象，在Microsoft Access 2.0的应用程序中可以加载一个Delphi Form并进行程序交互，那种感觉真是棒极了。 </p>
						<p style="TEXT-INDENT: 2em">Borland C++是我心中无法抹掉的遗憾，从Turbo C到C++ Builder，我深刻的体验到Borland的辉煌和无奈，Delphi从VB Killer走到为VB护航（你可以想象Delphi一步到位的ActiveX 控件开发技术有多牛，早期的VB有多土，早期的VB不能开发动态链接库，因此无法开发ActiveX 控件，想起来真令人嘘唏不已），Borland C++的命运也是不济。Borland C++ 3.1的辉煌永远不再了，十几年的开发工作中，我在C++上投入了大量的精力，Borland C++曾经给我带来无数的激动，然而这个经典的名字却在与Microsoft的竞争中渐渐的流逝了……。 </p>
						<p style="TEXT-INDENT: 2em">MFC4.0的出现，使得人们感觉Microsoft在C++方面赶上来了，这一版的MFC是Win95推出后出现在Visual C++ 4中（Microsoft没有VC 3，VC4以前的版本是2.2、2.1、2.0、1.51、1.5、1.0）。也许是对Borland C++的潜意识的失望，我不知不觉的接受了MFC，VC 4.2推出时，我通过正常渠道购买了这个编译器的企业版。 </p>
						<p style="TEXT-INDENT: 2em">
						</p>
						<p style="TEXT-INDENT: 2em">
								<b style="mso-bidi-font-weight: normal">关于</b>
								<b style="mso-bidi-font-weight: normal">Microsoft </b>
						</p>
						<p style="TEXT-INDENT: 2em">关于Microsoft，有无数的人要对这个名字叙说感觉，这个令人讨厌的名字！不知道是喜欢还是憎恶，你是程序员，你的心思可能就要因Microsoft的存在而动，即使你用Linux，你可能也是因为Microsoft技术因素。多少年来，这个名字每天都出现在你、我、他的面前，因为你不得不面对Windows的存在，可是你憎恨这个名字吗？你讨厌这个名字吗？我不知道是否已经对这个名字麻木了。1998年我个人订了Microsoft MSDN Universal 版，我开始比较全面接触这个公司的开发技术，你可以想象，1998年当你面对上百张技术光盘的时候，你就知道什么叫做“厚度”，当我们有时说出“赶上”或 “达到”Microsoft某些产品的水平的时候，可能我们缺乏对这个公司“厚度”的真实了解。进入MSDN，我感觉Microsoft简直不是一个“公司”，而是（或者正在形成）一个“社会”。当时著名的技术网站http://www.codeguru.com全部的技术资料是可下载的（那个时候http://www.codeguru.com提供整个网站内容下载服务，大约<chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="3" unitname="m"></chmetcnv>3M左右），大名鼎鼎的www.codeproject.com还不存在。一开始，我始终潜意识在技术上对比Microsoft与Borland，应当说技术上Borland不比Microsoft弱，即使现在也有人持有这个看法，可是为什么Borland走到今天这个地步？而Microsoft却如日中天？若干年前，这两个公司竞争何等激烈，而现在却是另一番“合作”的景象？可能很多人想过，如果Borland不存在，对Microsoft不是更有力吗？其实Microsoft可能精通中国历史，读过《三国》、十分了解战国时期的中国，其实Borland形式上的存在，对Microsoft是十分有利的，至少形式上还有竞争对手，而事实上Borland已经受控于Microsoft（Microsoft是Borland的大股东）。你可以看到一些微妙的现象：Borland为Microsoft提供了大量的人才，其中包括Delphi总设计师以及Borland C++编译器的核心成员；同时也为Microsoft .NET提供强有力的护航服务（看看C# Builder、Delphi .NET）。1998年Microsoft 的COM技术基本已经成熟，这个技术使人感到震撼，当时Microsoft的对手们提出“OpenDoc”用于对抗“COM”，你看看“OpenDoc”阵营的几个成员：IBM、Apple、Borland、Novell，你会感到这个阵营十分豪华、强大。但结果却差强人意，“OpenDoc”无疾而终，而“COM”依然生机勃勃。 </p>
						<p style="TEXT-INDENT: 2em">有人说“COM”没落了，那么就太不了解Microsoft了。在与“OpenDoc”的竞争中，“COM”是个彻底的胜利者，在与“Java”的竞争中，“COM”成功的进化了，在这个过程中Microsoft体现了强大的吸收能力、以及无法想象的韧劲。.NET只不过是COM的“别名”而已。对于一个经验丰富的C++程序员而言，.NET就是COM的进化，而Microsoft内部.NET就是“COM <chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="3" unitname="”"></chmetcnv>3.0”（OLE2就是COM 2.0），而“CLR”就是一个不择不扣的COM对象。曾经有人问我，既然牛顿时代就奠定了基础（想想著名的牛顿-莱布尼茨公式），几百年后的今天，数学还研究“微积分”吗？回答当然是依然在研究！“微积分”早期是针对函数的，现代“微积分”是针对“流形（Manifold）、纤维丛（Fiber Bundle）”的，概念深奥了，可是基本思想不变，只是“微积分”的思想得到合理的延拓与进化，你了解Microsoft吗？Microsoft Research有一批超一流的数学家在为Microsoft工作，其中一些是斐尔兹奖的得主，Microsoft正在实现如同“微积分”进化到“微分流形”一样将“COM”进化到“.NET”。从科学概念角度上分析COM与Java，可能COM更全面、精确，从实现的成熟度上Java可能更成熟，可是你看到，Microsoft正在不紧不慢的追赶。Microsoft令人联想起战国时期的强秦。 </p>
						<p style="TEXT-INDENT: 2em">战国时期的秦国，采取“远交近攻”“抚弱掠强”等措施傲视六国，今天的Microsoft也是这样，VB1.0时，Microsoft推出“VBX”控件技术，众多的小公司得以生存，Microsoft自己不开发“VBX”组件，同样“VBX”进化为“OCX”时，Microsoft并不十分强大，可是这种试探得到众多小公司的响应。1997年Microsoft Office 97、1998年Microsoft推出Visual Studio 6.0，给众多中、小公司提供了生存、发展的机会，例如Microsoft Office 97中集成了Visual Basic for Application 5.0，这项技术使得几百家软件开发商与Microsoft签署了VBA技术许可协议，即使AutoDesk这样的公司都与Microsoft签署了这个协议，这个协议使得每个集成VBA的产品的给个用户许可为Microsoft付40$的许可费，如果你了解VSIP（Visual Studio Integration Protocol）协议，以及有多少公司签订了VSIP协议，你就真正感觉到Microsoft的可怕；Microsoft Office 97、Visual Studio 6.0的用户界面十分漂亮，为什么Microsoft自己的开发工具不提供类似的软件组件？你看到众多第三方的Microsoft盟友纷纷推出自己的界面库以模仿Microsoft，他们不会反对Microsoft，因为他们已经形成了使得Microsoft以及这些公司得以生存的生态圈。 </p>
						<p style="TEXT-INDENT: 2em">Microsoft的技术储备有多少，Microsoft之外的人很难说清楚，Microsoft中国公司也未必了解多少，1999年WTL类库刚刚出现的时候，人们就希望WTL能得到官方的支持，或授权给一个Microsoft之外的一个公司（你能想象出Borland C++ 5.0内置的ActiveX开发机制是基于Microsoft ATL类库吗？），直到今天，WTL依然如故，我们完全相信，如果Microsoft强力推广WTL，WTL完全可以流行，可是Microsoft不缺类似的技术，类似的类库还有BCL(Base Control Library，一个用于开发轻量级ActiveX控件的类库)，Microsoft还有一个基于ATL的类库，这个类库用于开发ActiveX Designer，ActiveX Designer是绝大多数程序员不了解得一类对象，如果你熟悉Office开发，你知道Office VBA 中有一类对象，即Form2，此外VB6.0 中的报表设计器（以及著名的Active Reporter），都属于此类对象，用这个类库，你可以为VB6.0以及集成VBA的系统提供定制化的可视化设计机制等等，如今ActiveX Designer已经演化为集成于Visual Studio .NET中的设计器。 </p>
						<p style="TEXT-INDENT: 2em">
						</p>
						<p style="TEXT-INDENT: 2em">
								<b style="mso-bidi-font-weight: normal">向</b>
								<b style="mso-bidi-font-weight: normal">Microsoft</b>
								<b style="mso-bidi-font-weight: normal">学习</b>
								<b style="mso-bidi-font-weight: normal">
								</b>
						</p>
						<p style="TEXT-INDENT: 2em">无论从什么角度评价Microsoft，我觉得Microsoft是值得我们学习的，如果说生活在这个时代有Microsoft存在是一场灾难，你就应该痛恨这个家伙，但你首先要向这个家伙学习！我无意为Microsoft歌功颂德，我只是想说出十几年我对Microsoft技术的感受。 </p>
						<p style="TEXT-INDENT: 2em">Microsoft在研究式的开发中受益极大，如果你有兴趣，你可以访问http://research.microsoft.com/，虽然部分中国公司也有研究院，但与Microsoft相比，真有“米粒之珠，也放光华？”的感觉。2003年，我在北京的一个地方现场体验了Microsoft亚洲研究院的招聘会，我看到中国的精英们进入Microsoft的渴望，事实上，在中国大陆，Microsoft亚洲研究院的人力资源已经延伸到各著名高校的相关专业的核心层，我感到，Microsoft几乎不需要“求贤”，因为，只要Microsoft需要，精英们会“蜂拥而至”，每个人都有“可以理解”的理由而向往那个地方，如果为搞数学研究蜂拥到加州大学，我觉得可以理解，因为那里有数学土壤，出了成果国人也会感到自豪，因为“科学无国界”。技术是否有国界？不知道是否有定论？！想想DVD等技术专利给国内业界带来的灾难，不知道应不应该痛定思痛，在Microsoft校园招聘现场的气氛中，我似乎明白了为什么国人“原创技术”少得可怜。我读过几本Microsoft亚洲研究院的高手写的书，明显可以看出，Bill gate 是他们的精神领袖以及他们对Microsoft的虔诚，国内的研究机构应当研究一下Microsoft的用人之道，Microsoft好像是三国里的人物，不知是刘备还是曹操，或者二者的混合物。我经常路过西格玛大厦，第一次西格玛大厦进入真有“朝圣”的感觉，也与Microsoft中国的几个层次的人打过交道，各中滋味实在一言难尽。 </p>
						<p style="TEXT-INDENT: 2em">在Office大战中，国产软件的确在一些方面与Microsoft进行较量，其实给人的感觉很勉强，界面上的似是而非，或用户习惯方面的接近并不能解决根本的问题，一个好的软件开发人员必须是一个软件使用的高手，很难想象一个软件操作水平很拙劣的开发人员能开发出高水平的软件，我最早使用的软件之一就是Microsoft Word，当时的版本是2.0，大概是1992年的事情，给我留下深刻印象的是集成于Word中的Word Basic，后来，我接触到Excel 3.0，不出所料，Excel中集成的是Excel Basic，后来使用的Access中自然内置Access Basic 1.0，在这些软件集成捆绑成Office之前，我就感觉这些产品的构思十分了不起，很具有Microsoft的风格，因为你知道，即使是一个DOS，Microsoft都要提供一个内置的QBasic或GW Basic。虽然关于Microsoft的产品评论很多，作为一个技术人员，我认为Microsoft的产品构思绝对是第一流的，从1994年早期的Office系列到1997年形成的Office 4.2，我认为，技术构思上均领先于我国2002年以后的Office产品，你听说过如下说法吗？“Dos 作为操作系统的时代，Windows是应用软件；Windows是操作系统时，Office成为Dos时代的Windows；那么如果按此规律，Office会不会替代Windows而成为操作系统？”，现在在开发领域Visual Studio( .NET)正在成为另一个Office，你注意到了吗？控制Visual Studio( .NET)集成开发环境的仍然是一个Basic语言引擎（Visual Basic .NET）。 </p>
						<p style="TEXT-INDENT: 2em">与许多公司不同的是，在技术体系上，Microsoft几乎所有的产品是息息相关的，Windows、Office、Visual Studio .NET虽然各不相同，但公共的核心即将形成，我们已经看到，核心组件方面，Office与Visual Studio .NET日渐趋于一致，例如Microsoft正在将Office 2003的核心组件VBA 6.X逐步用新的Visual Studio Tools for Office替代，而我们依然在一些似是而非的现象上与Microsoft的产品比较差距，国家采购或政府采购支持的公司，不去钻研核心技术，只是急功近利的采用短期行为急于与Microsoft相争，不知是否有蚍蜉撼树的感觉，个人的体验是，先学习Microsoft，踏踏实实的学，了解Microsoft，深入的了解，然后再喊口号。 </p>
						<p style="TEXT-INDENT: 2em">
						</p>
						<p style="TEXT-INDENT: 2em">为什么用MFC？ </p>
						<p style="TEXT-INDENT: 2em">经过若干年的竞争，Borland 的OWL几乎消失了，这个OWL是个非常漂亮的C++类库，在Borland C++ 3.1风光无限的年代，OWL真正的做到了独领风骚。然而，Borland C++ 4.0错过了进入32位程序的最佳时机，BC 4.0推出后不久，迎来了Win95，Borland仓促上阵，以一个小的“Pack”使得BC4可以编译基于Win4的程序，当时的Visual C++是2.0版，支持Window16的版本为Visual C++1.51，有意思的是Borland可以用同一个编译器同时支持Win16、Win32，而Microsoft却不得不为Win16、Win32提供不同的编译器。然而，非正式版本的Visual C++ 2.1与Visual C++ 2.2却悄悄地支持了Win95的最新特征，即Win95新提供的一组公共控件，在我的印象中，Borland对Win95新特征的支持不利使得MFC与OWL的距离极大的缩短了。稍后到来的Borland C++ 4.5没有改变这个状况，尽管Borland C++ 5.0同时支持OWL与MFC，可是败象已经显露，Borland C++非常遗憾的只走到了5.5版。C++ Builder虽然形式上引入了Delphi的VCL库，可是许多C++程序员并不买账，因为许多以C++为乐的人更喜欢以编辑的模式进行编码。Visual C++ 4.0的出现，在C++这个战场上，Borland开始落败了。 </p>
						<p style="TEXT-INDENT: 2em">MFC发展到今天，已经十多年了，尽管褒贬不一，但可以肯定，十几年的技术积累已经奠定了MFC的生存基础，即使Microsoft的长角发布，MFC也不能推出Windows的舞台，事实上，长角（Longhorn）之后的Visual Studio .NET仍将MFC作为一个重要的组成部分，在今年的Visual Studio .NET 2005中，MFC在C++中的位置依然如故。MFC的未来，应该不必担心，只要你深入考察.NET类库，你会发现，MFC的许多思想机制正悄然进入.NET，与此同时，Microsoft的第三方盟友十多年来已为MFC开发了大量的扩展库，如果Microsoft是船，第三方盟友就是载舟之水。许多人认为MFC不发展了，其实是一种错觉，Visual C++ 6的界面十分经典，特别是其中的Docking控制条机制，其实Visual C++ 6的IDE完全就是MFC写的，可是MFC类库中控制条相关的类功能很弱，为什么？你会看到许多与Microsoft友好的公司，他们很快的在MFC基础上实现了Visual C++ 6 的Docking机制，这就是Microsoft的高明之处，Microsoft很会给盟友提供机会，其一贯的做法就是在自己的商品化产品中预先提供一些有趣的特征，使得其他一些公司进行模仿以带动用户群体。Borland不具备这样的储备。MFC第三方市场的繁荣，得益于Microsoft的策略与明智。MFC可否跨平台？理论上完全可以，Microsoft不做，也是策略，但是有许多重要的产品Microsoft却默许MFC移植到其他平台，事实上，Microsoft的合作伙伴之一Mainsoft公司（Windows源码就是从这家公司流失的），几年来就是负责移植MFC程序移植到UINIX、Linux、AIX等操作系统之上。 </p>
						<p style="TEXT-INDENT: 2em">新版的Visual C++中MFC已经支持.NET开发了，MFC与ATL的协作更好了。根据我的经验，MFC、ATL与.NET库三者完全可以融合在一起综合应用到实际的开发工作中去，如果你是MFC行家，我希望ATL与.NET库能成为你的忠实的左右手。那么有没有同时支持MFC、ATL与.NET库的程序？当然有，Visual Studio .NET IDE就是！而且Visual Studio .NET IDE还支持用ATL与.NET库扩展的Addin。 </p>
						<p style="TEXT-INDENT: 2em">
						</p>
						<p style="TEXT-INDENT: 2em">
								<b style="mso-bidi-font-weight: normal">认识</b>
								<b style="mso-bidi-font-weight: normal">Application</b>
								<b style="mso-bidi-font-weight: normal">对象</b>
						</p>
						<p style="TEXT-INDENT: 2em">如果你熟悉Microsoft Office，你应该进一步的剖析这个大型软件，Microsoft Office中几乎每个程序都是可二次开发的，这一点得益于Microsoft Office内置的二次开发机制，一个是基于COM机制的VBA模型，另一个是基于.NET框架的托管模型：Visual Studio Tools for Office。作为一名程序员，你应当在技术角度解析Office的技术结构。Microsoft的大多数软件的对象结构可以通过Visual Studio提供的工具OLE/COM Object Viewer考察其类型库得到，通过引用类型库，你甚至可以得到描述对象信息的C++头文件。这样做真是好处多多。一个典型的Office通常都有一个Application对象（或其他一个与之相当的对象），这个对象相当于软件枢纽，在这里，我们不讨论Office，借此话题说说Application对象。大多数支持扩展（Addin、Plugin）的软件都存在类似的构造。通常，一个系统得Application对象或者是一个COM对象，或者是一个.NET对象，如果你的系统存在这类对象，你的系统就基本具备支持Addin、Plugin的机制了。一个理想的做法就是在一个MFC系统中，内置一个ATL对象或.NET对象，稍后我们给出方案如何做到这一点。设计Application对象的关键是如何规划这个对象的属性、方法、事件。如果你希望系统具备良好的扩展性，Application对象是十分关键的，这也是构架艺术的体现。所谓Addin(Plugin)，是系统运行时根据需要加载的对象库，Addin(Plugin)之所以可以扩展系统，关键的因素就是系统加载Addin(Plugin)时，将Application对象传递给Addin(Plugin)库，设想一下，如果Application恰到好处的触发了系统事件，而Addin(Plugin)库如愿的解释了事件，一个Addin(Plugin)库的任务不就OK了吗！因此Application对象是系统设计的关键。 </p>
						<p style="TEXT-INDENT: 2em">如果你精通ATL对象，在你的MFC系统中添加一个ATL对象，这个任务可以用VC Wizard完成。你已经接受了一个事实，就是MFC程序中存在一个CXXXApp对象（CWinApp的派生类），现在你要做的是增加一个对应得ATL对象。这个对象可以在CXXXApp::InitInstance()中创建，如果ATL对象的类是CXXXAppObject，建议你在CXXXApp对象对象中增加一个成员变量，例如：CComObject &lt;CXXXAppObject &gt;* m_pAppObj，然后可以入下初始化m_pAppObj： </p>
						<p style="TEXT-INDENT: 2em">m_pAppObj = new CComObject &lt;CXXXAppObject &gt;； </p>
						<p style="TEXT-INDENT: 2em">注意程序结束时在CXXXApp::ExitInstance()中释放m_pAppObj，语句如下： </p>
						<p style="TEXT-INDENT: 2em">delete m_pAppObj； </p>
						<p style="TEXT-INDENT: 2em">你可以将系统得关键属性设置成CXXXAppObject的属性，例如系统得标题、是否为多文档等等。系统希望外部调用的功能可以实现为CXXXAppObject的方法，这一点取决于你的需要。系统需要外部扩展的功能，表现为CXXXAppObject的事件，关键是在恰当的位置触发事件以及提供的事件参数。例如，你可以在CXXXApp::InitInstance()触发应用程序开始的事件OnStartUp，Plugin捕获事件后，可以进行特定的初始化（身份确认、初始信息查询等等）； </p>
						<p style="TEXT-INDENT: 2em">你可以在CXXXApp::ExitInstance()触发应用程序结束事件，Plugin捕获事件后，处理用户需要的系统退出工作。所有的设计取决于具体设计。 </p>
						<p style="TEXT-INDENT: 2em">如何加载Plugin，是一个有趣的问题，如果Plugin实现为一个COM范畴（Category），可以运用COM技术枚举这个Category；可以将Plugin安装到一个特定目录，也可以通过注册表。Plugin的实现可以用COM技术、也可以用.NET框架。适当的机会我会提供例子…… </p>
						<p style="TEXT-INDENT: 2em">
						</p>
						<p style="TEXT-INDENT: 2em">
								<b style="mso-bidi-font-weight: normal">一些感想</b>
						</p>
						<p style="TEXT-INDENT: 2em">
						</p>
						<p style="TEXT-INDENT: 2em">一时心血来潮，就发了这个帖子，很难说是有心，还是无意。几天前我在新浪网上看应氏杯围棋决赛，我觉得该赢了吧，作为一个围棋迷，我们等了十几年，等到了属于国人的应氏杯。记得7、8年前在还在大学工作的时候，有一次，一位同事兴致冲冲的走道我面前对我说：“嗨，昨天马XX赢了李昌镐！”，当时我在系办公室正在看报纸，那位仁兄见我头都没抬，非常不满的抢下报纸，对我吼道：“喂！马XX赢了李昌镐！！你听到没有！！！”，我对他说：“你大惊小怪个啥？！马XX输了李昌镐多少盘，你知道吗？”，马XX几乎一直在输给李昌镐，人们已经不奇怪了，偶尔赢一次，国人就把他捧得北都找不到了，李昌镐弱冠17的时候就傲视这个世界了，可至今面孔不变，几天前的农心杯，中日联军5个人，被他打个落花流水，李昌镐是公认的世界第一，以至于有的高手知道下一个对手如果是他，就会去订回程机票。这次应氏杯，国人竟然感谢崔哲瀚，何也？因为这个弱冠19的小子，挡住了他的大哥李昌镐才使得应氏杯有了悬念。当国人媒体在说韩国仅李昌镐一人厉害的时候，不知道是出何居心还是自欺欺人，李昌镐年方30，不知道要力压中、日多少年！面对这个名字，真有点麻木了，这个太极虎！软件界又来了我们一向不齿的印度虎，2001年我们的软件出口额仅是印度的四十分之一，我们震惊了，怎么可能呢？这个四十分之一水分很大，很可能更可怜！当时我在大连参加一个关于“大连软件出口国内第一”的官方会议，那位大人在会上说：“据说，我们大连软件出口国内排名第一，市有关领导希望今天的会议给出这个第一的数字依据，希望你们把数据报上来，去年的数据也可申报，注意，我们要的只是数据，你们仔细体会，我们根据数据，有奖励，机会难得呀！”……。某一天，几个朋友在我家看央视的对话节目，对话一方为国内的软件大鳄们（用友、阿尔派等公司的老总们），另一方为印度软件的一个代表团。当问及中、印软件差距的时候，我们的刘老总（代表阿尔派）不以为然的说，据他的看法，我们已经快赶上（印度）了，……，言下之意颇有印度的水平不过如此的感觉，印度方的话我至今记忆犹新：“是否赶上，国际市场说的算！在中国看来，印度程序员的个性不足，技术也不怎么样，其实是个错觉，印度软件首先注重个性，许多重要的美国商品化软件都是在印度本土开发的……”，我们的舆论总是将印度程序员的水平描述的平庸至极，可是差距日渐拉开，……，围棋、足球（不好意思谈，谈不出口！）、软件，我们被近邻严酷的封锁了，乐坏了记者们、给媒体带来了生机…… </p>
						<p style="TEXT-INDENT: 2em">日本江户时代的围棋，如果一个人要想世袭一个称号（例如：本因坊），他必须战胜所有的师兄弟，然后，住进师父家的内室，你知道以后的事情吗？以后，这个棋手，就得为师父一家做饭、带孩子、搞卫生……，其余的门人则一心一意的下棋，这样的人、方式，造就了一代一代的本因坊，他们的棋谱大多数都流芳至今，这就是早期日本围棋的悟道模式。软件总共有多少语句？我最早接触的计算机软件教材是一本英文版的（影印的D版），不同于我们，那本书的作者构造了“X-语言”，他们不讲什么C、Pascal、Basic，一旦缺了什么机制，就给“X-语言”添加些成分。什么C、Pascal、Basic，你感觉差不多，但现在却分出了等级！我们驾驭语言的能力弱得很，可是我们在语言的细微之处却很讲究，不知道对不对，许多程序员也许是出于虚荣而用C++，事实上，地球人都知道，做数据库，Delphi、VB远比C++胜任，铺天盖地的C++的书，写的东西几乎雷同，因为，有用的或者作者不写、或者作者不懂。有时我在想，如果国内没有内需，会怎样？也许软件内需的存在，造就了中国软件的特色，我认为国内业界并没有充分利用中国软件内需的存在，也许中国软件内需的存在是软件落后的硬伤。 </p>
						<p style="TEXT-INDENT: 2em">我记得一部电影《神辫》，那个英雄的大辫子被洋人炸掉了，最终他成了神枪手，战胜洋人用大刀、秘籍是不行的，用洋的东西战胜洋的技术才是正道。我觉得，一个好的程序员必须了解软件的历史，学习历史，你知道你为什么弱，别人是如何强大的。我们正在另一个战场上抗美（可笑的是我们却要赶超印度！），无论Microsoft、Borland如何争斗，无论他们谁统治谁，他们不影响美国的强大，朋友们，学习Microsoft，开发出让国人感到牛的软件！ </p>
						<p style="TEXT-INDENT: 2em">这个帖子出乎本人的意料，愿意与大家共勉，希望这个帖子常在，与大家敞开心扉的交流！ </p>
						<p style="TEXT-INDENT: 2em">
						</p>
						<p style="TEXT-INDENT: 2em">
								<b style="mso-bidi-font-weight: normal">FireFox</b>
								<b style="mso-bidi-font-weight: normal">与</b>
								<b style="mso-bidi-font-weight: normal">Microsoft </b>
						</p>
						<p style="TEXT-INDENT: 2em">FireFox在一片赞扬、欢呼声中激情登场了，也许人们真的期待已久，平静的水面终于被扔进一块石头。我是IE的最早期的用户了，1996年首次Microsoft的TED（技术教育大会），IE4还没有发布时候，我们有机会目睹了内部版本的IE4（当时内部名称是：纳什维尔，英文名称忘记了），那真是一次令人激动的预览，当时IE3与Navigator 3激战正酣。当你第一次看到想象中的“Active Desktop”，如果你没有身临其境，你不会激动。IE4本质上是一个Shell，其SDK是免费的，Navigator是基于Mozilla的浏览器，虽然是开源的，由于要照顾更大的共性（与操作系统无关），因此Mozilla不能充分的利用Windows的优势，Mozilla不能为广大的程序员带来所谓开发人员的“快感”，顶尖程序员可以驾驭Mozilla，以实现技术深度带来的乐趣，最早的Navigator同时提供17个版本（注意：不是17种自然语言，而是17种操作系统），从数学角度分析，Mozilla就像一组公理，你可以以此为基础开发不同操作系统上的浏览器，Navigator就是基于Mozilla的一个漂亮的结果，你能欣赏到代码结构的优美，然而失去的却是功能强大的个性（要知道，Windows用户在数量上远大于其他操作系统用户的总和）。普通用户不可能读懂Mozilla的代码，即使懂了也不能很好的运用，这也许是Mozilla（以及大多数开源代码）失败的致命原因之一。IE内核聪明的抓住了开发者，你想想：对数以万计的中、初级开发者而言，容易驾驭是首选的选择，也是明智的。我读过Mozilla，但我不会在开发过程中为一个具体的项目应用它。只要是浏览器，就不可能绝对的安全，无论是Mozilla，还是IE。当我了解到FireFox是基于Mozilla的一个新的浏览器，我基本上对其失去了信心，我有一个奇怪的观点：FireFox的推出，最大的受益者绝对是Microsoft，即使Microsoft失去20%的份额，但是会导致Microsoft强化IE，Microsoft正不知道如何促使IE进化的时候，FireFox的出现无疑为Microsoft提供了机会，物种进化的原则就是竞争，FireFox就是促进IE进一步强大的催化剂。FireFox的扩展机制的确十分灵活，如果对手不是Microsoft，就很难掀起波澜，而且当高级的开发者逐渐了解FireFox的时候，FireFox的漏洞就会渐渐暴露，试想想，如果某种Linux取代了Windows，那么，它的漏洞也会与Windows一样多，因为那个时候，会有与研究Windows漏洞一样多的人去研究对应得Linux的漏洞！从个人的角度上看，Microsoft也许有点“冤”，因为窥视Microsoft弱点的人实在太多了。从理论上看，计算机安全性是个永远的话题，就像任何社会都需要警察一样，没有了小偷、贼、犯罪，警察也就消失了，你想想，文明是什么？野蛮能消失吗？野蛮消失了，文明也就不存在了，高度文明就是更不存在了。人类克服了癌症，下一个疾病会比癌症更致命，但这并不意味着不必克服了癌症，进步真是一种挑战…… </p>
						<p style="TEXT-INDENT: 2em">IE的技术构思肯定是个卓越的构思，IE可扩展的机制，会给Windows开发者带来许许多多的益处。我正在计划一片文章，介绍如何将你的对象模型与MSHTML库实现对接，这样，在HTML文件中可以将你的指令系统与HTML对象模型融合在一起。 </p>
						<p style="TEXT-INDENT: 2em">
						</p>
						<p style="TEXT-INDENT: 2em">话说“Hook” </p>
						<p style="TEXT-INDENT: 2em">在CSDN上时常看到关于“hook”，的问题，令我想起另一个话题，那就是游戏“外挂”。Hook提供一种改变一个Windows窗口消息处理的一种手段，通常的开发根本用不到，因此，谈不上“常用”，早期的Windows，由于不能很好的支持远东（当然包含汉字）地区的文字，因此出现了许多外挂的软件补充Windows的不足，中文之星是一个典型的、令国人自豪的软件，监控软件也许要运用hook技术，此外，很难想象什么软件会用到hook。有人问我，能不能改变一个进程的数据处理行为，我曾经告诉他：能，也不能！感觉告诉我，hook绝大多数场合下是一种“不礼貌”的行为。曾有一段时间，我的服务器，经常有人悄悄地近来，给我增加许多超级用户，肆意修改我的管理权限，我找到托管商，解决了这个问题，那时，我也买了几本服务器监听、安全方面的书，看了几天，我就放弃了，为什么？担心学坏（正、邪仅在一念之差），其实，每个服务器都很脆弱，对有经验的系统程序员而言，安全性与道德准则是联系在一起的，软件技术上走邪路很容易，有时我会想，如果我去设计病毒或者当黑客，会怎样？基础数学出身的我，数论、组合学、密码理论统统不是问题，Windows虚拟驱动程序开发，也不是问题！为什么那么多的人关心hook？国人的正道软件寥寥无几，可破解术却出神入化，可惜，可惜！hook是一种底层的编成机制，能理解好hook的人，完全具备掌握一流技术的底蕴，真希望回头…… </p>
						<p style="TEXT-INDENT: 2em">
						</p>
						<p style="TEXT-INDENT: 2em">
								<b style="mso-bidi-font-weight: normal">MFC</b>
								<b style="mso-bidi-font-weight: normal">的批判</b>
								<b style="mso-bidi-font-weight: normal">
								</b>
						</p>
						<p style="TEXT-INDENT: 2em">记得梁羽生先生笔下有一位正邪兼修的高手，名曰“乔北溟”（好像是这个名字），一次此人与大侠张丹枫在一个庙中相遇，乔北溟随手操起香案上的香炉，张丹枫问他：“你的家伙称手吗?” ，乔北溟笑答：“以吾辈之见识，还在意手中之物是否为剑？”，张丹枫一愣，心中暗念，此人果然不同凡响…… </p>
						<p style="TEXT-INDENT: 2em">说起MFC，许多人都会撇撇嘴，高手们会对其提出许多尖锐的批评，例如，刻板的Document-View机制，繁复的框架结构，怪异的COM实现以及令人莫名其妙的宏，等等。MFC的大而全，不仅捆住了MFC开发组的手脚，也为全面掌握MFC的愿望设置了障碍。高手们批评之余，可能忽略了一个基本的事实，这个事实就是，你的批评来自于你对MFC的深入理解，当许多人指出MFC的种种弱点时，他们或许不愿意承认：他们的技高一筹、见识超人一等是MFC带来的，不止一次有人与我谈及：“MFC的COM实现，实在差劲，看看ATL（不容否认，ATL至今仍然是开发COM的最佳C++类库），你就会感觉MFC的臃肿……”，我们中的许多人潜意识里不知不觉的在作一件事：“当我们借助一部梯子登上一层楼的时候，我们会评价这个梯子是如何如何之糟糕。”1999年，我的一个项目中需要一个描述引擎，VBS（Visual Basic Script），是个免费的语言引擎，但功能局限极大，我联系了美国的Summit公司，他们很快寄来了Microsoft的Visual Basic for Application SDK 6.0，当时我的团队可谓很强，其中的几位研究生C++修养很好，拿到VBA SDK时，他们对我说：“应当没问题，我们很快就会搞定VBA SDK”，可是几天过去了，连个例子都没出来，原来，虽然VBA SDK提供了MFC扩展类库（基于模版机制的MFC/ATL合成类库），可实现得极其别扭，我接手后的当天晚上，VBA 的IDE就集成到系统中，第二天可编程对象顺利出现在VBA 的IDE中，其余人觉得很奇怪，一看代码，原来我绕过Microsoft的例子，完全是另外的实现途径，那个时候，我感觉到，Microsoft这个家伙真的可恶，本来清晰的集成途径，却人为的让你绕来绕去增加技术难度，过后想想，也可以理解，不这样，第三方的Summit何以作技术支持？我经常想，如果没有商业利益，许多技术应当十分简洁、高效，这一点，Microsoft以及其他大公司都十分明白，如果一切都是最佳的实现模式，可能就另外一种局面了，复变函数论中有一个著名的定理：“复平面上处处解析的函数一定是常值函数。”， 学生们很难理解，当时我说，如果把一个省几十个县的最好学生组成一个班会怎样？结果是一定有一个较差的学生（除非这个班只有一个学生！），这是个无法抗拒的定则，你想想，用天下最好的20个菜形成的酒席是什么味道？那一定是最差的！ </p>
						<p style="TEXT-INDENT: 2em">Microsoft的MFC是值得你学习和使用的，如果你讨厌这个东西或者你认为这是个邪恶的东西，你学学乔北溟，实现正邪归一…… </p>
						<p style="TEXT-INDENT: 2em">
						</p>
						<p style="TEXT-INDENT: 2em">
								<b style="mso-bidi-font-weight: normal">有感于</b>
								<b style="mso-bidi-font-weight: normal">“</b>
								<b style="mso-bidi-font-weight: normal">鸡兔同笼</b>” </p>
						<p style="TEXT-INDENT: 2em">小女初到北京时，对北京的教育颇为不适，铺天盖地的数学奥赛培训班向她压过来，孩子真是辛苦。她四年级时，就的对初等数论的基本内容进行强迫性的熟悉，还好，经过一段时间的努力，掌握了“鸡兔同笼”、“韩信点兵”等中国经典，马马虎虎的能证明费马小定理，有一天，她问我：“爸爸，大学数学什么样？还有‘鸡兔同笼’吗？”，我说，有，我特意找了本老外写的《Basic Algebra》，找到其中的“中国剩余定理”，小孩子接着问道：“这本书中还有中国人的数学内容吗？”，我在习题中给她找到华罗庚老先生的“反同构定理”，小孩子又接着问：“还有吗？”，我感到很没面子，因为真的找不到了…… </p>
						<p style="TEXT-INDENT: 2em">曾经的一个梦，就是当一个数学家！为此，研究生时期买了大量的数学书，当时我们系的资料室是联合国教科文组织的藏书室，可以说，里面就是一个装满武功秘籍的宝库。有一天我们打扫资料室的一个仓库，仓库里全是鼓鼓囊囊的麻袋包，上面落满灰尘，手触摸一下，能粘出几毫米厚的灰尘，可以想象有几年没有打扫了。同学无意中揭开一个麻袋，我们惊呆了，里面是美国60年代各大学的数学杂志，每个杂志的名字都是响当当的，那真叫浩如烟海！当时我们就想，我们的论文能发表到其中吗？如果侥幸发了几篇，可想而知，我们就可以当博导了，这些比国内所谓核心期刊有分量得多的杂志，就像CSDN上的帖子一样，很快就会被淹没了，也许很久都不会有人参考、访问……，有一天，我也当了老师，面临着种种考核，于是，我们就成了论文机器，不论是否有价值，只要是核心的，你就高人一等。那个时候，我经常想起那些麻袋里的文献…… </p>
						<p style="TEXT-INDENT: 2em">我们整体水平的落后，导致整体的浮躁，数量上上去了，质量却下来了。若干年后，也许我成熟了，我们这些曾经站在大学讲坛上的人，没什么好的东西讲（谈不上 ‘教’）给年轻的学生，记得当年我校的计算中心计划招个培训班，几天过去，仅有7人报名，第8人来时，前7人就退了3人，主任感到奇怪，问学生，学生不语，其中原委并不复杂。我发此帖并没有精心策划，的确如某些网友所言是随感而发，“鸡兔同笼”、“勾股定理”已经有了历史地位，如果仅仅够用，我们住草房子一样保暖，为何建大厦呢？为什么放弃传统的长袍、马褂而去穿西装革履？病毒软件大战几乎是自杀性的内战，没有撼动国外产品的分毫，我们许多人喜欢对自己人说三道四，是不是很少想一致对外？人家卖我们打折的产品，条件是附加一份“忏悔书”，而执行者却是我们国人，为什么？因为我们的东西匮乏！当年别人用钢铁武器掠夺了我们的财富，他们强大了，地痞无赖换上了绅士面孔，讲起了法律，当你用D版时，人家文明的指责你，你的人力、财力、物力统统为人所用，取之于你用之于你，而我们却依然陶醉在“鸡兔同笼”、“勾股定理”的历史成就之中，我们依然喜欢争论“勾股定理”谁发现得更早，π是谁最先精确计算的，就像谈论C++谁的水平更高一样。</p>
						<p style="TEXT-INDENT: 2em">
								<b style="mso-bidi-font-weight: normal">后记：</b>
								<b style="mso-bidi-font-weight: normal">
								</b>
						</p>
						<p style="TEXT-INDENT: 2em">
						</p>
						<p style="TEXT-INDENT: 2em">
						</p>
						<p style="TEXT-INDENT: 2em">为感谢CSDN网友的支持,本人拟定陆续增加几个新的帖子: </p>
						<p style="TEXT-INDENT: 2em">一、十年MFC经历认识的Microsoft开发技术-多文档界面开发技术：此贴讨论一类多文档界面，主窗口是一个单文档界面，如果你愿意，你可以将多文档窗口作为主窗口的一个视图（CView）显示，这类多文档界面支持无限多个文档类型（即可以加载任意多个文档模板），支持（基于COM、.NET）二次开发技术以及VBA集成； </p>
						<p style="TEXT-INDENT: 2em">二、十年MFC经历认识的Microsoft开发技术-可视化文档界面设计技术：此贴讨论MFC Document/View 机制的可视化实现，将给出一种所见即所得的Document/View 设计机制；其中包含如何集成ActiveX Ctrl、.NET User Control、MFC CView类对象以形成一个MFC窗体； </p>
						<p style="TEXT-INDENT: 2em">三、在MFC程序中如何有效的使用HTML、flash，例如，可以实现flash动画作为一个程序的Splash以增强程序的感染力，使用HTML、flash动画作为MDI程序的MDI用户区的背景等等……； </p>
						<p style="TEXT-INDENT: 2em">四、十年MFC经历认识的Microsoft开发技术-MFC .NET组件开发技术：介绍如何使用MFC类库开发.NET组件，例如可以用MFC开发WinForm对象，然后用于VB.NET、C#等等。 </p>
						<p style="TEXT-INDENT: 2em">如果大家有好的建议，请与我联系（sunhui@mail.apptemplate.com、sunhuizlz@yeah.net）,如果有北京的朋友肯帮忙协助，在下不胜感激，希望得到大家的支持！<br style="mso-special-character: line-break" /></p>
						<p style="TEXT-INDENT: 2em">原文地址：<a href="http://blog.csdn.net/lovemy/archive/2006/01/05/571186.aspx" target="_blank">http://blog.csdn.net/lovemy/archive/2006/01/05/571186.aspx</a><a href="http://tech.163.com/"><img height="12" alt="gigi_miao" src="http://tech.163.com/newimg/arc_d.gif" width="12" border="0" /></a></p>
				</div>
		</div>
<img src ="http://www.cnitblog.com/cockerel/aggbug/15150.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cockerel/" target="_blank">踏雪赤兔</a> 2006-08-11 23:34 <a href="http://www.cnitblog.com/cockerel/archive/2006/08/11/15150.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>应届毕业生，我对你非常不满[转]</title><link>http://www.cnitblog.com/cockerel/archive/2006/08/08/14925.html</link><dc:creator>踏雪赤兔</dc:creator><author>踏雪赤兔</author><pubDate>Tue, 08 Aug 2006 06:00:00 GMT</pubDate><guid>http://www.cnitblog.com/cockerel/archive/2006/08/08/14925.html</guid><wfw:comment>http://www.cnitblog.com/cockerel/comments/14925.html</wfw:comment><comments>http://www.cnitblog.com/cockerel/archive/2006/08/08/14925.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnitblog.com/cockerel/comments/commentRss/14925.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cockerel/services/trackbacks/14925.html</trackback:ping><description><![CDATA[最近毕业生招聘的专场，开始在全国“铺开”。 <br /><br /><p>我很少直接去毕业生专场招人。今天广东的一个综合场，是我第一次参加的毕业生现场招聘会。</p><p>今天我是以多重身份，参与这个招聘会的：作为公司的人力资源总监，我希望为公司招到一批合适的储备人才；作为一个职业规划研究者，我要深入一线接触准备投身社会就业大军——应届生的特点；作为广东省劳动学会、人力资源管理协会的理事，我想藉此了解毕业生的就业状态、以及他们的所想所思。</p><p>到了招聘场，我感到的不是一种兴奋，而是一种压抑。这是我任职人力资源总监以来的第5年，而5年来，中国的毕业生整整翻了5倍，06年将超过360万。进场的时间还没到，售票点外已经排起了多条百米“人带”。这时，我的心中不禁掠过一丝淡淡的伤感。很多年以前，我也曾经这样在茫茫人龙中，带着满怀的期待排队，每天只能排到3、5个队伍中，去投3、5份简历，而后开始了更加漫长的心里等待……而现在，人龙的规模远远超越我作为毕业生的那个时候。现在是更多的人可以读大学了，但我无法分清，眼前的这种景象，该是用壮观来形容，还是用悲壮来形容，无法说清，这究竟是好事还是坏事。</p><p>我做了一些统计，也思考了一些细节。</p><p>大学生自提的薪酬水平大致如下：</p><p>研究生：全部都是说“4000元以上”。</p><p>本科生：2000－3500元。</p><p>大专生：基本都是提2000以下。</p><p>其中，技术类的（如WEB开发），相对偏高，在3000－3500之间。</p><p>这些数据，除了研究生略有下降，其它比去年偏高（去年我是在5月份以后，才陆续通知一些人到公司面试）。一方面也许现在是刚刚开始，大家把握不到竞争线的准绳，另一方面，我希望是因为就业市场在转暖（但是看不到这种迹象）。</p><p>而其中，有不少细节值得一提。</p><p>一般情况下，我接过简历的时候，不会问也不会看应聘者是来自那个学校（我从不以学校论学生）。但是当他们回答薪酬要求的时候，却的确体现了一种差别。今天主要都是来自广东学校的学生，本科线上，暨南大学、华师大、华工、华农提的要求都比较高，要求在2500元以上；而普通一点的院校，则提2500元以下；专科线上，则有一个特殊的群体，就是所谓“非正规院校”，比如什么技工类学校、民办学校。他们提的要求，全部都是在1200元以下——问了一轮之后，我就开始对号入座的猜他们是来自那个学校，然后对照简历，我发现几乎达到“问价格则知学校”的地步。敢情是学校给了他们一个“宏观指导”？有几个技工类的大专生，都是说800元，我问他们是不是都是同学，他们说“是”。“为什么你提这个数字呢？”，他们说：“因为我们老师说，我们现在的竞争力大概就是800元”。这种对学生“批量生产，统一价格”的指导方针，令我为他们感到悲哀。老师的这一句“指导”，足以给全面摧残他们3年来的系统教育和信心，也足以毁灭这个学校——不可否认，他们中的不少人，的确市场上是按照这个价格去招聘的（特别是销售）。但是，学生不是纯粹的产品，每个人都是独一无二的，怎么可以做这种统一的指导呢？为什么不会有个别人更加有自信的提出1000、1500？我今天感受到的“好学校”和“差学校”的差别，最大和最根本的差别在于学生自信心的差别。我偶尔被邀去学校做讲座的时候，我经常会对学生说一句话：“你优秀，是因为你认为自己优秀。”学生的自我意想，自我心理定位，会永远的影响他一生。如果我是校长，我会发给这个认为自己的学生值800块的老师400块的工资，但是我不是给他4张纸币，我会换成400个1分的硬币，然后一个个往他脑袋上砸，直到他清醒过来，或者被硬币埋葬。因为他摧残了一批学生。</p><p>今天的面试，我给每个人的时间，不会超过5分钟。</p><p>有一个人我只和他谈了3分钟，留下他的简历，他后面的同学用一种没有希望的眼神看着他，说：“这么快？”</p><p>我说：“你会更快。如果你不假思索的用两句话描述你的优点，我就招你，1分钟”。可惜他断断续续，说了一大堆——显然他心理的“谱”，是他彩排好的自我介绍，我“打乱”了他的部署。</p><p>有一个学生，本来我觉得不错，她只用一页的简历，就表达了她的优势和特点，当我决定招她的时候，习惯的问下学期还有没课并看简历，却看不到她的学校名字，“为什么没写学校名？”，“因为……我的学校不怎么样……”。我还是问了她的学校，然后拿起笔，在她的简历中帮她写下她的母校，然后在她眼前竖起简历：“有没写错？”</p><p>“没有。”</p><p>我今天对所有留下的简历，只是做一个动作（在认为特别适合的，打钩）。这是我唯一写字的简历，我不知道她明不明白，我是在告诉她什么。她的做法让我大打折扣。</p><p>如果我是负责教育的，我有一把足够大的铁锤，我会抡起来把所有的中国学校都砸掉，因为现在不会有一个学校敢站出来说：我们学校是“教做人的”——全部都是“教书”的。</p><p>当然，也有些学生非常善于销售自我，比如，有个应聘网页设计的学生，因为他做的东西都是在学校的内部网，没法把作品展现给我看，他和我说：“我把作品放到一个叫职友集上，你可以看。”还有一个应聘文案助理的，也是将她的文章传到自己的BLOG上。晚上我回去打开他们的主页，觉得他们放在网上的内容很充实，比如应聘文案助理的学生，上面有很多她的随笔作品，我看到她不错的写作思路和思维水平，我决定明天通知这两个人上班。他们都是来自那些被人看成“差学校”的学生，但是，他们善于利用多种途径，来表达他们的优势。比如善于利用“职友集”、BLOG这种新的免费工具，的确成为他们赢得我的信任的关键。 <br />结今天的感受，我认为：</p><p>未毕业，先失业，不是因为没有工作机会提供，而是就业能力结构失衡；就业难的关键，也不是因为毕业生多，教育水平下降，而是自我认知的能力模糊，就业信心和自我价值期望的下降。天之骄子的高傲姿态消失，是好事，但取而代之的不是平衡心、平常心，而是一种自卑、浮躁和茫然。</p><p></p><p>你可以认为我摆谱、摆资格，但是，作为毕业生，我相信你还是愿意听听一个5年人力资源总监、有过1万人次面试经历的人力资源工作者，对你的如下“不满”：</p><p><br />不要递给我花里胡俏的简历，给我一点简洁（不是简单）而能突出你自己的表达——面对成千上万的求职者，你真的以为HR会去看你那封100个人有99个差不多的求职信、和装订得像书本一样的简历模板内容吗？</p><p>不要对我说太多的自我介绍，我不敢说3、5分钟我就准确判断了你，但是30秒之内我就定格了你的第一印象；我之所以很快结束你的面试，是因为你的后面排队的人真是太多，我也曾经作为毕业生这样苦苦的等待，我只是为了给更多的人一个和你一样平等的机会，而后我会挑选请你到我办公室复试；你认为我给你的时间太少，而流露出失望（自己是不是没被看中了？）眼神的那一刹那，你就丢失了再次获得复试的机会。我永远坚持：你的信心就是我的希望。你的岗位机会不是我给你的，而是你自己争取的。</p><p>不要一副“只要你招我我什么都肯做”的姿态，这样给我一种“卖身”的感觉，我请你是因为你会为公司创造价值，所以不是你“求”职，而是我“请”你。这不是叫你抬到姿态，而只是希望你抬起胸膛。</p><p>不要对我拒绝收你的简历，报以晦气的脸色或失望的情绪。我不接收你的简历，不是你不行，而是不适合我的公司；我不接收你的简历，不是不给你机会；而是不想给你根本不存在的期待（如果我收了，你会等待着我通知你）；不是我不给你面子，而是我不想浪费你和你父母的血汗钱——尽管每一份简历只有1、2元，但是我没有任何理由，去浪费属于你的1分1厘，何况你还是一个纯消费者；我是在帮你节约，让你能够将它投给属于你的机会。我从不想当我拿不了那么多简历回公司的时候，把你的希望孤伶伶的留在招聘场地里；我更不希望，当招聘会结束以后，你的简历会在冷清的场地，像其它被丢下的简历一样，雪花般漫天飞舞，任人践踏——我决不加入这样的行列，而宁可以拒收给你打击（你也必须开始懂得直面这样的打击），因为你熬了多少个夜晚做出来的那个简历，代表的就是你，上面写着你的价值，和你的尊严。我始终认为，任何人都可以狠狠的批判教育制度，但是绝对不可以否定你的价值，更不可以践踏你的尊严！</p><p>不要不敢说出和写下你毕业的学校，无论她是如何的差，你是从那里走出来的，因为我绝对不会要这样的人：看到他父母的时候，因为他们的背景不好而不敢认他们；或者有一天离开我的公司，去到一个更大的公司面试的时候，不好意思说我是来自一个不是500强的公司。对公司来说，你的价值和价值观，决定了一切。英雄莫问出处，如果你是一个狗熊，哪怕你从天堂走出来，也还是狗熊。</p><p>不要给我罗列一大堆你的学习成绩和从事的所谓实习（因为很多毕业生也曾经到我这里来兜一圈，参观一下，盖个章名曰“实习”），你只需要挑选一件特别的事情，要点式地说明过程和结果，让我知道你是怎样做事的。</p><p>不要不敢用眼睛看着我，你不敢瞧我的时候我也瞧不起你。</p><p>不要在回答“你的薪酬要求”的时候，多了那么多废话。我不想听每个人都重复着“因为我是毕业生，没有社会经验，所以如果公司觉得这个要求太……我也可以……”，我的钱也许也是刚刚从人民银行印出来的，但是它们不会因为还没有被流通转手，而减损它的价值。其实我不在乎你说的是5000，还是1500，我在乎的是你说出一个数字的那种语气、眼神。我尊重每个人都有自估劳动力价值的权利（但公司自有它的薪酬制度，不会特殊对待你），但我喜欢干脆利落的同事，干脆利落是一种自信，是一种做事风格，也是一种做人态度。我会固执的认为：你说出这个数字前后带了多少个字符，就表示你做事有多拖泥带水；或者你的自我认识和自信是多么摇摆不定。</p><p>人生简短，价值无限，告诉人家你是独一无二的，你就是你，你成就你。</p><br /><br /><p id="TBPingURL">Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=538330</p><img src ="http://www.cnitblog.com/cockerel/aggbug/14925.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cockerel/" target="_blank">踏雪赤兔</a> 2006-08-08 14:00 <a href="http://www.cnitblog.com/cockerel/archive/2006/08/08/14925.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>园内导航</title><link>http://www.cnitblog.com/cockerel/archive/2006/06/14/12223.html</link><dc:creator>踏雪赤兔</dc:creator><author>踏雪赤兔</author><pubDate>Wed, 14 Jun 2006 02:11:00 GMT</pubDate><guid>http://www.cnitblog.com/cockerel/archive/2006/06/14/12223.html</guid><wfw:comment>http://www.cnitblog.com/cockerel/comments/12223.html</wfw:comment><comments>http://www.cnitblog.com/cockerel/archive/2006/06/14/12223.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.cnitblog.com/cockerel/comments/commentRss/12223.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cockerel/services/trackbacks/12223.html</trackback:ping><description><![CDATA[
		<p designtimesp="19596">
				<a class="" title="" href="/cockerel/category/3074.html" target="">岁月如歌</a>
				<br />成长的足迹，岁月的积淀<a class="" title="" href="/cockerel/category/3068.html" target="_blank" designtimesp="19597"><br />个人词典</a><br designtimesp="19598" />如果你对新名词有旺盛的求知欲，这是满足欲望的好地方<br designtimesp="19599" /><a class="" title="" href="/cockerel/category/3074.html" target="_blank" designtimesp="19600">奇闻趣文</a><br designtimesp="19601" />世界之大，无奇不有<br /><a class="" title="" href="/cockerel/category/3189.html" target="_blank">休闲搞笑</a><br />笑一笑，十年少<br designtimesp="19602" /><a class="" title="" href="/cockerel/category/3073.html" target="_blank" designtimesp="19603">IT资讯</a><br designtimesp="19604" />如果你是一位IT人士，这里预见了你的前途<br designtimesp="19605" /><a class="" title="" href="/cockerel/category/3077.html" target="_blank" designtimesp="19606">玩转编程</a><br designtimesp="19607" />没有做不到，只有想不到<br designtimesp="19608" /><a class="" title="" href="/cockerel/category/3075.html" target="_blank" designtimesp="19609">零件仓库</a><br designtimesp="19610" />合抱之木，生于毫末；九层之台，起于累土；千里之行，始于足下。<br /><a class="" title="" href="/cockerel/category/4378.html" target="">新语丝精华</a><br />精神宝库，战斗前沿</p>
<img src ="http://www.cnitblog.com/cockerel/aggbug/12223.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cockerel/" target="_blank">踏雪赤兔</a> 2006-06-14 10:11 <a href="http://www.cnitblog.com/cockerel/archive/2006/06/14/12223.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>程序员：少听些用户抱怨吧 </title><link>http://www.cnitblog.com/cockerel/archive/2006/06/12/12096.html</link><dc:creator>踏雪赤兔</dc:creator><author>踏雪赤兔</author><pubDate>Mon, 12 Jun 2006 04:45:00 GMT</pubDate><guid>http://www.cnitblog.com/cockerel/archive/2006/06/12/12096.html</guid><wfw:comment>http://www.cnitblog.com/cockerel/comments/12096.html</wfw:comment><comments>http://www.cnitblog.com/cockerel/archive/2006/06/12/12096.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/cockerel/comments/commentRss/12096.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cockerel/services/trackbacks/12096.html</trackback:ping><description><![CDATA[
		<div class="postTitle">
				<a href="http://blog.donews.com/xiongjiezeng/archive/2006/06/09/908883.aspx">程序员：少听些用户抱怨吧</a>
		</div>
		<div class="postText">
				<p>        如果一直以来你都是在一个封闭的小屋子写程序，从来没有接触过用户，收集过反馈，那么我建议看看刘老师的“<a href="http://blog.donews.com/liuren/archive/2006/06/08/908277.aspx">程序员：多听听用户抱怨吧</a> ”，如果你发现自己80％以上的时间都在满足个别用户的一些看似大众化的BT需求的时候，并因此极其痛苦而无法推动具有建设性和战略性的的工作时。我建议不妨这么来看待这个问题。<br /><br />   1， 用户是只想自己，不想全局的<br />   2， 用户自己也不知道自己想要什么<br />   3， 用户提出要的并不是他真正需要，也不一定是他会去使用的<br />   4， 性价比是需要考虑的<br />   5， 商业意识是需要考虑的<br />   6， 可发展空间是需要保留的<br />   7， 适当的功能应该在适当的用户量级别和用户生态结构和用户活跃度下提供<br />   8， 听取用户意见的心态是一定要的，听取的渠道一定是要广泛的，但是，满足任何一个需求一<br />       定是要慎重的。<br />   9， 系统健壮是第一位，因此而牺牲某些东西和功能是正确的<br />  10， 用户确实能提出非常有价值的建议，但是<br />  11， 我们是做游戏平台和制定游戏规则的。首先关注你的目标和核心用户<br />  12， 你满足不了所有用户<br />  13， 应该撰写开发者日志，管理员日志，产品简史日志，但是这些日志开发匿名或公开发言的时<br />       候一定要慎重。一个可随意公开发言的论坛群体极其容易放大一些微小的抱怨，并且形成不<br />       良的和不真实的反馈，可能你看到的意见大多说是抱怨的，或者抱怨的意见总是容易被放大<br />       然而，这并不是真正的整体用户对产品的态度。说你好的用户总是习惯性地保持沉默，说你<br />       不好地总是在习惯性地表达<br />  13， 因为，群体的智力水平是低于群体平均智力。流言蜚语和错误总是在无声无息中被夸大了。<br />       如果A用户提交了一个Bug（甚至可能不是，或者极其微小），B用户提交了另外一个Bug，C<br />       用户提交了另外一个Bug，当D用户来了之后，看到，A，B，C提交的Bug，可能会迅速被误<br />       导，并并放大这种抱怨。<br />  14， 你应该有长远计划<br />  15， 区分最重要的和最急迫的<br />       有耐心和技巧去拒绝那些虚妄的非理性的需求,有决心和勇气积极迅速地去满足那些急迫的<br />       关系生死的Bug与需求,有智慧去区分以上两种 <br />  16， 所以，应该与专门的人去面对用户，安抚用户，收集反馈，去粗取精，去除虚妄想法，然后<br />       反馈给程序员，慎重讨论，改进之，此频度可一周或一月一次，取决于产品的发展阶段和成<br />       熟度。<br /><br />         所以综上，我认为：<strong>程序员应该远离你的用户，设定专员链接程序员和用户。</strong><br /><br /><strong>   正确对待销售的意见<br /><br /></strong>  17， 积极对待销售的意见，他们最终帮你兑现产品的商业价值 <br />  18， 但要清楚，销售的意见90％是不利于你产品长远发展的，销售的意见是超前的（用户还没到<br />           哪个地步和生态呢）<br />  19， 销售需求是BT的。你永远无法满足他们<br />  10， 满足他们所有的意见中的1％即可。<br /></p>
		</div>
<img src ="http://www.cnitblog.com/cockerel/aggbug/12096.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cockerel/" target="_blank">踏雪赤兔</a> 2006-06-12 12:45 <a href="http://www.cnitblog.com/cockerel/archive/2006/06/12/12096.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>开源软件新时代：55个经典开源Windows工具</title><link>http://www.cnitblog.com/cockerel/archive/2006/06/12/12079.html</link><dc:creator>踏雪赤兔</dc:creator><author>踏雪赤兔</author><pubDate>Mon, 12 Jun 2006 03:43:00 GMT</pubDate><guid>http://www.cnitblog.com/cockerel/archive/2006/06/12/12079.html</guid><wfw:comment>http://www.cnitblog.com/cockerel/comments/12079.html</wfw:comment><comments>http://www.cnitblog.com/cockerel/archive/2006/06/12/12079.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/cockerel/comments/commentRss/12079.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cockerel/services/trackbacks/12079.html</trackback:ping><description><![CDATA[
		<div id="page">
				<div id="main">
						<div id="content">
								<div class="post">
										<h2 class="post-title">开源软件新时代：55个经典开源Windows工具</h2>
										<p class="post-info"> </p>
										<div class="post-content">
												<p class="zh_p">开放源代码软件已经成为一个时髦的名词，这里有两个有力的证据：Firefox浏览器的下载人次超过了2500万；同时，基于Linux的Web服务器也占据了最大的市场份额。人们普遍相信，开放源代码软件（open-source software，简称OSS）要比专有软件系统（即声明用户不能分享或修改软件的软件系统）要更安全。这可能有两个原因：首先，由于开源软件的源代码是向所有人开放的，因此任何人都可以找出并修补它的安全漏洞；其次，开源软件的流行程度毕竟还远远比不上Microsoft公司的Windows系列软件，因此它遭受黑客攻击的机会也要相对少很多。不过随着开源软件变得越来越流行，第二种情况可能将会发生改变。 </p>
												<p class="zh_p">从数量上看，目前的大多数开源软件都是基于Linux系统的，Windows开源软件的开发者仍然被笼罩在Microsoft的阴影下。但Windows开源软件并不乏优秀之作，你可以访问<a href="http://www.opensource.org/" target="_blank">www.opensource.org</a>或者<a href="http://www.sourceforge.net/" target="_blank">www.sourceforge.net</a>这类开源软件网站，里面搜集了不少针对Windows XP的开源软件，其中当然也包括了本文涉及到的55个Windows工具。 </p>
												<p id="zh_p">
														<b>免费的选择</b>
												</p>
												<p id="zh_p">在这些精彩的开源软件中，功能强大的Open Office完全能够满足人们的绝大多数办公需求；基于GNU协议的图像处理程序包Gimp足可以媲美Photoshop；所见即所得的HTML编辑器NVU则可被看作是Dreamweaver的一个简化版；而Media Portal则是Microsoft的Windows XP Media Center Edition强有力的竞争对手。此外，本文介绍的开源软件还涉及项目管理、音频编辑、PDF转换、即时通信、FTP、加密以及系统监测等多个领域，当然也少不了Web服务器。 </p>
												<p id="zh_p">开源软件已经进入了成熟期，它们功能强大而且运行稳定，你甚至可以完全利用开源软件搭建你的PC应用系统，而不用花一分钱去另外购买软件。Sun、IBM、Novell、Red Hat甚至Microsoft公司都开始把他们自己的一些软件以开放源代码的形式发布出来，从而允许其他人对软件进行修改和再开发。比如，Novell公司的Hula（<a href="http://www.hula-project.org/" target="_blank">www.hula-project.org</a>）就是一款免费的协作服务器，它同时还提供了e-mail客户端、日历和通讯录，目前已经拥有超过25万名用户。 </p>
												<p id="zh_p">
														<b>软件许可</b>
												</p>
												<p id="zh_p">开放源代码究竟意味着什么？从根本上来看，如果一款软件被称为开源软件，那么它的软件代码应该以可阅读并理解的形式提供给公众，并能够通过编译器转换成可执行代码。在编译过后，你可以随意复制、分发并用于任何商业或私人用途而不用支付任何软件许可费用。 </p>
												<p id="zh_p">这一基本概念在“开放源代码定义”（Open Source Definition）一文中有更详细的阐述，你可以参看<a href="http://www.opensource.org/docs/definition.php" target="_blank">www.opensource.org/docs/definition.php</a>。一般来说，开源软件都适用于GNU GPL条款（GNU General Public License，GNU通用公共许可证）。不过，也有一些软件自称是开源软件，但实际上并不是。比如， PGP公司（<a href="http://www.pgpi.org/" target="_blank">www.pgpi.org</a>）声称其加密程序为开源软件，但实际上你只能阅读其源代码，对源代码的修改和编译分发仍然是不被允许的，因为该加密程序采用了IDEA专利算法。 </p>
												<p id="zh_p">
														<b>保持警惕</b>
												</p>
												<p id="zh_p">和商业软件一样，开源软件也同样存在不安全的因素。黑客可以对某个开源软件的源代码进行修改，比如加入打开系统后门的代码，这样他就能轻易入侵你的系统。因此，你应该养成只从可信任的来源获取开源软件的良好习惯，比较值得信赖的地方就是官方发布网站。使用P2P网络下载开源软件是相当危险的行为，因为你很难确保这些软件没有被别人修改过。 </p>
												<p id="zh_p">除了这些注意事项之外，我们相信你一定会被这些Windows XP.开源软件所折服，它们无论是从广度、深度还是软件质量上都丝毫不逊色于常见的商业软件。</p>
												<p id="zh_p">
														<strong>Open Office 2 Beta：Office套装软件</strong>
												</p>
												<p id="zh_p">网址：<a href="http://www.openoffice.org/" target="_blank">www.openoffice.org</a></p>
												<p id="zh_p">开发人员不久前刚刚把Open Office由1.1.4升级到2.0，这款Office套装软件同步推出了基于Windows、Linux和Mac OS的三个版本，2.0版本在文字处理、电子数据表、演示工具和数据库方面都进行了大量的改进，并引入了不少新功能。 </p>
												<p id="zh_p">除了界面变得更美观、对Microsoft Office文件的兼容性更好之外，Open Office 2还引入了一种新的文件格式——由OASIS 组织所提出的“Open Office XML Format”，这种以XML 为主体的开放文件格式也将逐渐被其他软件所支持。Open Office 2提供了网络安装模式和用户自定义安装模式，对于需要通过网络对多台机器进行软件安装的IT管理员来说相当方便。 </p>
												<p id="zh_p">Open Office 2首次拥有了自己的数据库组件（HSQLDB），你可以创建并管理数据库。商业用户则会受益于改进的SQL函数和更好的LDAP数据库连接性。在文字处理方面，创建新模板变得更加方便，改进的对话框则使软件更加直观。新的宏保护机制增强了它的安全性，文字隐藏功能则可以更好地保护你的隐私。电子数据表软件支持单元格嵌套，能够处理不超过65000行的数据，与Excel表格的兼容性也得到了加强。与前一个版本一样， Open Office 2.0也包含了与Microsoft PowerPoint近似的演示程序——Impress。 </p>
												<p id="zh_p">无论是对于办公用户还是家庭用户，Open Office（<a href="http://www.openoffice.org/" target="_blank">www.openoffice.org</a>）都是Microsoft Office套装软件的一个很好的替代品，它还提供了一些独特的功能，比如包含了一个PDF生成工具。对于家庭用户来说，Microsoft Office的价格无疑显得过于昂贵，相比之下，Open Office要划算得多。 </p>
												<p class="zh_p" align="center">
														<a href="http://detail.zol.com.cn/picture_index_18/index170570.shtml" target="_blank" alt="图1">
																<br clear="all" />
																<img title="开源软件新时代 55个经典开源Windows工具" alt="开源软件新时代 55个经典开源Windows工具" src="1.jpg" />
														</a>
														<br />图1：Open Office是Microsoft Office套装软件的强有力的对手 </p>
												<p id="zh_p">
														<strong>Thunderbird 1.02：邮件客户端</strong>
												</p>
												<p id="zh_p">网址：<a href="http://www.mozilla.org/" target="_blank">www.mozilla.org</a></p>
												<p id="zh_p">Microsoft的e-mail客户端Outlook和Outlook Express由于缺少安全特性且支持活动脚本，其安全性遭到了很多人的质疑。因此不少人尝试转向其他的邮件客户端程序，Mozilla Thunderbird 就是一种选择。 </p>
												<p id="zh_p">Thunderbird提供了一个向导程序，能让你导入来自Outlook和Outlook Express的邮件和邮箱地址。在Thunderbird中，所有重要的功能都可以通过工具条上的按钮进行快速操作。这款邮件客户端相当易用，而且允许你轻松地更换界面主题。快速搜索功能则允许你使用发件人或邮件主题为关键字进行搜索，并且可以按多个关键字进行分组排序显示。 </p>
												<p id="zh_p">Thunderbird还集成了具备自学习功能的垃圾邮件过滤器和RSS阅读器。它对IMAP（Internet Message Access Protocol）的支持也很不错，并且你还可以通过安装插件的方式为Thunderbird添加更多的功能，下载插件的网址为https：//addons.mozilla.org/extensions。 </p>
												<p id="zh_p" align="center">
														<a href="http://detail.zol.com.cn/picture_index_18/index170571.shtml" target="_blank">
																<img title="开源软件新时代 55个经典开源Windows工具" alt="开源软件新时代 55个经典开源Windows工具" src="2.jpg" />
														</a>
														<br />图2：Thunderbird比Outlook/Outlook Express更为安全</p>
												<p id="zh_p">
														<strong>Ganttproject 1.11.1：项目计划工具</strong>
												</p>
												<p id="zh_p">网址：<a href="http://ganttproject.sourceforge.net/" target="_blank">http://ganttproject.sourceforge.net</a></p>
												<p id="zh_p">你可以使用这款软件来制定项目计划并跟踪项目资源。Ganttproject 能够将项目的各个组成部分分层次排列，并与相应的人员和时间期限挂钩。它使用一个条状图来显示项目的进展情况，你能从中看到每项任务的预定完成时间和实际的进度。你可以为每个项目组成员分配任务，设定任务的优先级和完成期限。Ganttproject的输出功能相当完备，不仅可以把数据保存为pdf文件和csv电子数据表文件，还可以输出为HTML文件发布到Internet上。由于Ganttproject是一款纯Java应用程序，因此它可以运行于Windows、Linux和Mac OS等多个平台上。 </p>
												<p id="zh_p" align="center">
														<a href="http://detail.zol.com.cn/picture_index_18/index170572.shtml" target="_blank">
																<img title="开源软件新时代 55个经典开源Windows工具" alt="开源软件新时代 55个经典开源Windows工具" src="3.jpg" />
														</a>
														<br 图3：ganttproject可以帮你制定项目计划并跟踪项目资源<="" p="" />
												</p>
												<p id="zh_p">
														<strong>WX Musik 0.4.1：音频播放器</strong>
												</p>
												<p id="zh_p">网址：<a href="http://musik.berlios.de/" target="_blank">http://musik.berlios.de</a></p>
												<p id="zh_p">你可以利用WX Musik管理你的音乐库，还可以利用它内置的播放器来播放音乐文件。WX Musik支持Mp3、ogg、wma、aiff、wav、ape、mpc和flac等文件格式，同时还支持Internet音频流。软件同时提供了基于Windows和Linux的版本，安装之后它会提示你创建一个音乐库，你可以指定它去扫描包含音乐文件的文件夹。你还可以导入唱片的封面，它支持png、 gif、jpg以及bmp 格式的图片。 </p>
												<p id="zh_p">WX Musik在显示音乐库中的歌曲时能够同时列出不少附加信息，比如专辑名、艺术家、歌曲长度和比特率。它还能对歌曲进行分类或排序，比如你可以选择列出最近播放的50首歌曲或者10首播放频率最高的歌曲。其他有用的功能包括：ID3标签自动修改功能、支持逻辑查询符的搜索功能。WX Musik还可以用来收听网络电台，并允许你对电台列表进行定制。 </p>
												<p id="zh_p">
														<strong>NVU 1.0：HTML编辑器</strong>
												</p>
												<p id="zh_p">网址：<a href="http://www.nvu.com/" target="_blank">www.nvu.com</a></p>
												<p id="zh_p">NVU实际上起源于Netscape，还记得那个有点笨拙的HTML编辑器Netscape Composer吗？NVU就是在它的基础上进一步开发出来的，不过，最新版本的NVU已经不是当年的那只丑小鸭，它完全能够胜任专业网页设计工作的需求。与FrontPage和Dreamweaver这类商业HTML编辑器一样，这款软件（目前支持Windows、Linux和Mac OS平台）同时提供了源代码直接编辑和“所见即所得”这两种网页设计环境。 </p>
												<p id="zh_p">NVU严格遵循W3C联盟的标准，其生成的HTML代码也相当紧凑，它会帮你排除错误或冗余的代码。这款编辑器提供了拼写和语法检查功能，并且允许你采用不同的主题方案对界面进行定制。你可以自行创建并保存模版，还可以利用内置的FTP客户端把页面迅速上传到Web服务器上。 </p>
												<p id="zh_p" align="center">
														<a href="http://detail.zol.com.cn/picture_index_18/index170573.shtml" target="_blank">
																<img title="开源软件新时代 55个经典开源Windows工具" alt="开源软件新时代 55个经典开源Windows工具" src="4.jpg" />
														</a>
														<br />图4：NVU同时提供了源代码直接编辑和“所见即所得”这两种网页设计环境 </p>
												<p id="zh_p">
														<strong>Audacity 1.2.3：音频文件编辑器</strong>
												</p>
												<p id="zh_p">网址：<a href="http://audacity.sourceforge/" target="_blank">http://audacity.sourceforge</a></p>
												<p id="zh_p">有了Audacity 1.2.3这款多轨音频编辑器的帮助，你可以在Windows或Linux环境下轻松地完成音频的录制、播放、编辑、导入和输出工作。在进行编辑时，点击几下鼠标就可以对选中的音乐片段进行剪切、复制或插入操作。如果你想将某个mp3文件插入到当前打开的音频文件中，可以使用Project|import audio命令进行导入。其他功能还包括：对多个音轨进行混合、应用音频特效以及改变音乐的播放速度。Audacity内置了28个音频滤镜，并且可以进行扩充，它可支持VST、Ladspa和Nyquist这三种格式的插件。ID3标签编辑器和去除噪音功能让这款软件变得更加完美。如果你想把结果保存为mp3文件，需要另行下载并安装一个Lame DLL编码器（<a href="http://lame.sourceforge.net/" target="_blank">http://lame.sourceforge.net</a>）并通过File| Settings|File formats|Search Library指定该编码器的路径。除了编辑功能以外，Audacity 也支持从声卡的line-in端口录制声音。 </p>
												<p id="zh_p" align="center">
														<a href="http://detail.zol.com.cn/picture_index_18/index170574.shtml" target="_blank">
																<img title="开源软件新时代 55个经典开源Windows工具" alt="开源软件新时代 55个经典开源Windows工具" src="5.jpg" />
														</a>
														<br />图5：Audacity能够多个音轨进行混合、应用音频特效以及改变音乐的播放速度 </p>
												<p id="zh_p">
														<strong>Ant Renamer 2.0.8：文件名编辑器</strong>
												</p>
												<p id="zh_p">网址：<a href="http://www.antp.be/" target="_blank">www.antp.be</a></p>
												<p id="zh_p">在Windows的资源管理器下更改文件名是件比较痛苦的事情，因为它缺少自动处理的功能。一旦你需要对成批文件进行改名，Windows的资源管理器就显得力不从心了。比如，你可能需要为一批mp3文件的文件名加上统一的歌手名称，或者为一批图片文件加上时期和地点，或者需要将HTML文件名都改为小写字母，这时候Ant Renamer就可以发挥作用了。 </p>
												<p id="zh_p">你可以用鼠标将选中的一批文件拖到程序窗口中，然后进行相关的设置。比如设定需要删除哪些字符、替换哪些字符以及添加数字编号等等。添加数字编号时它允许你指定起始编号和编号增加幅度。在字符替换模式下，你可以搜索文件名中的特定字符或数字并将其替换为其他字符或数字。你还可以根据mp3标签来修改文件名或者根据首字符的大小写情况将整个文件名统一成大写或者小写状态。 </p>
												<p id="zh_p" align="center">
														<a href="http://detail.zol.com.cn/picture_index_18/index170575.shtml" target="_blank">
																<img title="开源软件新时代 55个经典开源Windows工具" alt="开源软件新时代 55个经典开源Windows工具" src="6.jpg" />
														</a>
														<br />图6：需要成批修改文件名时，Ant Renamer会令你事半功倍 </p>
												<p id="zh_p">
														<strong>PDF-Creator 0.81：PDF程序</strong>
												</p>
												<p id="zh_p">网址：<a href="http://sector7g.wurzel6.de/pdfcreator/index_en.htm" target="_blank">http://sector7g.wurzel6.de/pdfcreator/index_en.htm</a></p>
												<p id="zh_p">用于生成PDF文件的商业软件或共享软件已经相当丰富，但完全免费的软件还不太多见。在这里我们要向你推荐PDF-Creator，它可以作为Windows网络打印机或者桌面打印机安装在你的系统中。这意味着你可以在任意的Windows应用程序中输出PDF文档。在打印对话框中，你可以指定文档的名称、创建日期和作者。在Format|PDF选项下，你可以选择兼容PDF 1.2或1.4，还可以指定首选的屏幕分辨率。PDF-Creator允许你调节PDF压缩选项，从而在输出质量和文件大小之间找到一个合理的平衡点。在输出方面，你还可以将文档输出为png、jpeg、bmp、tiff、ps（Postscript）或eps （Encapsulated Postscript）格式。如果将PDF-Creator集成到Windows资源管理器的上下文菜单中，你只需按两下鼠标就可以创建一个PDF文件。 </p>
												<p id="zh_p" align="center">
														<a href="http://detail.zol.com.cn/picture_index_18/index170587.shtml" target="_blank">
																<br clear="all" />
																<img title="开源软件新时代 55个经典开源Windows工具" alt="开源软件新时代 55个经典开源Windows工具" src="7.jpg" />
														</a>
														<br />图7：PDF-Creator可以让你在任意的Windows应用程序中输出PDF文档 </p>
												<p id="zh_p">
														<strong>GnuPG：邮件加密工具</strong>
												</p>
												<p id="zh_p">网址：<a href="http://www.gnupg.org/" target="_blank">www.gnupg.org</a></p>
												<p id="zh_p">未经加密的邮件很容易被不怀好意的偷窥者看到。如果对带有敏感信息的邮件进行加密和签名，就可以大大提高安全性。使用GNU Privacy Guard（GnuPG）就可以对邮件进行加密，当然你的邮件客户端也要提供相应的支持，如果你使用的是Mozilla Thunderbird，可以到<a href="http://enigmail.mozdev.org/" target="_blank">http://enigmail.mozdev.org</a>去下载Enigmail插件，对于Outlook客户端，也可以找到相应的插件。<br />    由于使用了公钥和私钥机制，加密后的邮件具有相当高的安全级别。每个GnuPG用户都会同时拥有一对密钥。使用公钥加密过的数据只能通过相应的私钥进行解密。另一方面，通过你的私钥生成的数字签名可以通过相应的公钥进行解密以确认某封邮件确实出自你手。公钥一般由密钥服务器提供。如果你收到一封经GnuPG加密后的邮件，你将看不到任何文字信息，而只有一串乱七八糟的数字和字母。如果你想看到邮件原文，你需要GnuPG的支持，当然你还得有用来解密的私钥。即便你使用的邮件客户端不是Thunderbird或Outlook，也不用担心，在Internet上找到对应的GnuPGP 插件并不难。比如Pegasus Mail插件 （<a href="http://community.wow.net/grt/qdgpg.html" target="_blank">http://community.wow.net/grt/qdgpg.html</a>）、Eudora插件（<a href="http://eudoragpg/" target="_blank">http://eudoragpg</a>. sourceforge.net/ver2.0/en/） 和Outlook Express插件 （<a href="http://winpt.sourceforge.net/de/down" target="_blank">http://winpt.sourceforge.net/de/down</a> load.php）。</p>
												<p id="zh_p">
														<strong>Gaim 1.4.0：即时通信工具</strong>
												</p>
												<p id="zh_p">网址：<a href="http://gaim.sourceforge.net/" target="_blank">http://gaim.sourceforge.net</a></p>
												<p id="zh_p">目前，即时通信软件的种类相当繁多，比如AOL、MSN和Yahoo都提供了这类软件，但这几个即时通信软件之间的互联互通还相当不方便。除了同时安装这几个即时通信软件之外，还有什么更好的办法吗？你可以试试Gaim，它是一款支持多个IM协议的即时通信工具，并同时提供了基于Linux、BSD、Mac OS X和Windows的版本。它能够兼容Aim、ICQ （基于Oscar协议）、MSN Messenger、Yahoo、IRC、Jabber、Gadu-Gadu、SILC、Groupwise Messenger和Zephyr等即时通信软件。你可以同时用不同的账号在多个即时通信网络中登录。这意味着你可以一边与AOL Instant Messenger上的朋友聊天，一边向Yahoo Messenger上的同事发送文件，同时还能在某个IRC频道中聊天。<br />    Gaim对这些即时通信网络的支持相当全面，除了一般的聊天之外，像文件传输、离开提示、键入提示等等都可以支持。此外，它还拥有不少独特的功能。最流行的要算是好友提醒功能了，当某个特定的好友离开或者脱机，它会用某种方式对你进行提醒，比如发送消息、播放声音甚至运行某个程序。</p>
												<p id="zh_p" align="center">
														<a href="http://detail.zol.com.cn/picture_index_18/index170588.shtml" target="_blank">
																<img title="开源软件新时代 55个经典开源Windows工具" alt="开源软件新时代 55个经典开源Windows工具" src="8.jpg" />
														</a>
														<br />图8：Gaim可以让你同时用不同的账号在多个即时通信网络中登录 </p>
												<p id="zh_p">
														<strong>Mozilla Firefox：Web浏览器</strong>
												</p>
												<p id="zh_p">网址：<a href="http://www.mozilla.org/" target="_blank">www.mozilla.org</a></p>
												<p id="zh_p">Firefox浏览器应该是Mozilla迄今为止最成功的一个开源软件项目。从2004年11月到2005年2月，这款Internet Explorer的替代软件已经获得了超过2500万的下载次数（仅指官方网站和镜像网站的下载次数）。如果加上其它的下载网址以及用光盘方式发放的Firefox，这个数量可能还会翻倍。Firefox拥有不少值得称赞的易用性功能，比如支持标签式浏览窗口、具备开放的插件接口，你可以安装广告拦截器、Google搜索条以及其它大量插件。Firefox不支持Visual Basic脚本、ActiveX和BHO（Browser Helper Objects），相对来说不太容易遭受恶意HTML代码的攻击，当然你也不能完全高枕无忧。 </p>
												<p id="zh_p" align="center">
														<a href="http://detail.zol.com.cn/picture_index_18/index170589.shtml" target="_blank">
																<img title="开源软件新时代 55个经典开源Windows工具" alt="开源软件新时代 55个经典开源Windows工具" src="9.jpg" />
														</a>
														<br />图9：Firefox浏览器支持标签式浏览窗口、具备开放的插件接口 </p>
												<p id="zh_p">
														<strong>Filezilla 2.2.12c：FTP软件包</strong>
												</p>
												<p id="zh_p">网址：<a href="http://filezilla.sourceforge.net/" target="_blank">http://filezilla.sourceforge.net</a></p>
												<p id="zh_p">Windows一直没能提供一个好用的FTP客户端。Filezilla是一款非常值得推荐的FTP客户端，尽管它的功能丰富，但却非常方便好用。它的界面采用了多窗格设计，可以同时显示本地硬盘的内容和远端服务器上的目录，此外还列出了常用的ftp命令。<br />    Filezilla支持断点续传（下载和上传均支持），能绕过防火墙进行文件传输，同时也支持SSL加密传输方式。你可以通过编辑它的传输任务队列来选择所要传输的文件或安排传输顺序。在站点管理器（Site Manager）中选择好一个服务器之后就可以开始上传或下载文件了。软件开发者在Filezilla中同时为你提供了一个FTP服务器，如果你使用的是Windows NT、2000、XP或2003系统，可以将FTP服务器作为系统服务来运行。 </p>
												<p id="zh_p" align="center">
														<a href="http://detail.zol.com.cn/picture_index_18/index170590.shtml" target="_blank">
																<img title="开源软件新时代 55个经典开源Windows工具" alt="开源软件新时代 55个经典开源Windows工具" src="10.jpg" />
														</a>
														<br />图10：Filezilla功能丰富，但却非常方便好用 </p>
												<p id="zh_p">
														<strong>Media Portal 0.1.1.1：多媒体系统</strong>
												</p>
												<p id="zh_p">网址：<a href="http://mediaportal.sourceforge.net/" target="_blank">http://mediaportal.sourceforge.net</a>;</p>
												<p id="zh_p">Media Portal提供了视频、DVD、音频播放器和电视功能。不要担心软件设置的问题，它提供了一个方便的向导程序帮助你进行各项设置，比如指定多媒体文件的存放位置、设置TV或收音机的频道等。Media Portal支持Medion、Hauppauge、Pinnacle、Twinhan、Typhoon、ATI和Terratec的多媒体卡。在把电视节目录制到硬盘时，你可以自行选择适当的编码方式。你还可以利用插件来扩充Media Portal的功能，比如为它增加e-mail客户端的功能。该程序需要运行于Windows XP Service Pack 1或2之上，还需要DirectX 9.0c以上版本和Microsoft .Net Framework 1.1的支持。 </p>
												<p id="zh_p" align="center">
														<a href="http://detail.zol.com.cn/picture_index_18/index170591.shtml" target="_blank">
																<img title="开源软件新时代 55个经典开源Windows工具" alt="开源软件新时代 55个经典开源Windows工具" src="11.jpg" />
														</a>
														<br />图11：Media Portal提供了视频、DVD、音频播放器和电视功能 </p>
												<p id="zh_p">
														<strong>Freemind 0.8：Mindmap软件</strong>
												</p>
												<p id="zh_p">网址：<a href="http://freemind.sourceforge.net/" target="_blank">http://freemind.sourceforge.net</a></p>
												<p id="zh_p">什么是Mindmap？它是由英国人托尼·巴赞创造的一种笔记方法，和传统的直线记录方法完全不同，它以直观形象的图示建立起各个概念之间的联系。在国内，MindMap又被称为脑图或思维导图。Freemind 是一款Java程序，它可以帮你在一些随机的内容之间建立起有机的联系。 </p>
												<p id="zh_p">在Freemind中，首先你需要选中一个主题，然后从几个节点开始不断丰富 Mindmap的内容。每次加入新的元素，你都可以用连线将它与原有的元素联系起来。最终的Mindmap可以用HTML文档的形式输出。该软件的帮助信息十分全面，即便你对Mindmap不太熟悉也可以按照它的提示很快掌握Mindmap概念及软件的使用。 </p>
												<p id="zh_p">
														<strong>The Gimp 2.2.4：图像编辑软件</strong>
												</p>
												<p id="zh_p">网址：<a href="http://www.gimp.org/" target="_blank">www.gimp.org</a></p>
												<p id="zh_p">这款图像编辑软件也同时提供了基于Windows、Linux和Mac OS的版本，而且比起那些商业图像编辑软件毫不逊色。刚开始你可能需要花一些时间适应它的界面，因为Gimp 的每一个界面元素——图像窗口、工具条、调色板都以单独的浮动窗口形式呈现在桌面上。如果你是Apple或Linux用户，可以选用Gimpshop（<a href="http://plasticbugs.com/index.php?p=241" target="_blank">http://plasticbugs.com/index.php?p=241</a>），它能让Gimp看上去更接近Photoshop，不过目前Gimpshop还没有提供基于Windows的版本。Gimp支持图层操作、alpha通道、渐变曲线、柱状图和色彩调节。你还可以利用滤镜、脚本和插件来增强它的功能。 </p>
												<p id="zh_p" align="center">
														<a href="http://detail.zol.com.cn/picture_index_18/index170592.shtml" target="_blank">
																<img title="开源软件新时代 55个经典开源Windows工具" alt="开源软件新时代 55个经典开源Windows工具" src="12.jpg" />
														</a>
														<br />图12：Gimp的Mac版本看上去很接近Photoshop </p>
												<p id="zh_p">
														<strong>Health Monitor 2.1：系统监测工具</strong>
												</p>
												<p id="zh_p">
														<a href="http://healthmonitor.sourceforge.net/" target="_blank">http://healthmonitor.sourceforge.net</a>
												</p>
												<p id="zh_p">系统管理员可以利用Health Monitor 去监控网络中的每一台工作站PC或者服务器，一旦出现问题，它可以用邮件或者短信息的方式通知你。你还可以自行指定让它监控哪些组件和服务，比如CPU利用率、剩余硬盘空间、可用内存数量等。文件夹或者文件的变动也会被记录在案，所有的监测结果会被保存在一个log文件中。 </p>
												<p id="zh_p">
														<strong>插文1 ：开源软件的来源</strong>
												</p>
												<p id="zh_p">搜索开源软件并不像你想象的那么容易，因为很多下载网站并没有把免费软件和开源软件区分开来，而是把它们统称为“免费软件”。如果你想找到纯正的开源软件，那么Sourceforge.net 网站无疑是最值得去的地方。如果你是程序开发人员，可以花39美元注册（每年），注册之后就可以访问到与软件项目有关的更多的信息，你会在邮件中收到某个项目的子域名URL，一般的形式为projectname.sourceforge.net。如果你是个普通用户的话，也可以花同样的价钱成为注册用户，这样你就可以获得更多的搜索功能，还可以直接获得下载速度更快的镜像服务器网址，当然，你也有权获得软件的源代码。 </p>
												<p id="zh_p">
														<strong>插文2 ：积极参与</strong>
												</p>
												<p id="zh_p">即便你不是一个程序员，你也可以参与开源软件的开发过程。绝大多数开源软件项目都拥有自己的讨论组和邮件列表。如果你对软件的功能或菜单选项有什么好的建议，或者发现了bug，都可以向项目负责人进行汇报，每个用户的意见对开源软件的进一步完善都是有帮助的。 </p>
												<p id="zh_p">
														<strong>最佳开源软件一览</strong>
												</p>
												<p id="zh_p">
												</p>
												<ul>
														<li>
																<a href="http://www.7-zip.org/" target="_blank">7-Zip 4.16 Beta</a>：文件压缩工具，可与Windows资源管理器集成 
</li>
														<li>
																<a href="http://a-note.sourceforge.net/" target="_blank">A Note 4.2.1</a>：可在Windows桌面放置便笺，并可提供闹钟提醒功能 
</li>
														<li>
																<a href="http://www.xs4all.nl/~edienske" target="_blank">Abakt 0.9</a>：能够以压缩方式对文档进行备份 
</li>
														<li>
																<a href="http://www.abisource.com/" target="_blank">Abiword 2.27</a>：Windows写字板的替代程序，功能有所加强 
</li>
														<li>
																<a href="http://www.thekompany.com/home" target="_blank">Aethera 1.21</a>：提供日历、通讯录、任务表及提醒功能，并且内置了e-mail客户端 
</li>
														<li>
																<a href="http://www.antp.be/software/moviecatalog/" target="_blank">Ant Movie Catalog 3.5</a>：将你收藏的DVD影碟归档，并添加说明信息 
</li>
														<li>
																<a href="http://www.antp.be/software/renamer" target="_blank">Ant Renamer 2.0.8</a>：易用的文件重命名工具，并具备灵活的筛选机制 
</li>
														<li>
																<a href="http://audacity.sourceforge.net/" target="_blank">Audacity 1.2.3</a>：对音频文件进行编辑、优化并添加特效 
</li>
														<li>
																<a href="http://axcrypt.sourceforge.net/" target="_blank">Axcrypt 1.6.1</a>：对程序进行加密，可与Windows资源管理器集成 
</li>
														<li>
																<a href="http://www.blender3d.com/" target="_blank">Blender 3D 2.36</a>：三维对象的建模、渲染 
</li>
														<li>
																<a href="http://borg-calendar.sourceforge.net/" target="_blank">Borg Calendar 1.4.2</a>：提供桌面日历、任务列表、通讯录功能，支持多用户 
</li>
														<li>
																<a href="http://cdexos.sourceforge.net/" target="_blank">Cdex 1.51</a>：将音乐CD转换为wav或者mp3格式 
</li>
														<li>
																<a href="http://cinepaint.movieeditor.com/" target="_blank">Cinepaint</a> 0.19：专业的图像编辑软件 
</li>
														<li>
																<a href="http://www.clamwin.com/" target="_blank">Clam Win 0.83</a>：病毒扫描工具 
</li>
														<li>
																<a href="http://www.coolmon.org/" target="_blank">Cool Mon 1.0.1003</a>：系统检测工具 
</li>
														<li>
																<a href="http://coolplayer.sourceforge.net/" target="_blank">Cool Player 215</a>：一款精简的音频播放软件 
</li>
														<li>
																<a href="http://www.gnome.org/projects/dia" target="_blank">Dia 0.94</a>：绘制图表和流程图 
</li>
														<li>
																<a href="http://doubletype.sourceforge.net/" target="_blank">Double Type 0.2.1</a>：设计自己的Truetype字体 
</li>
														<li>
																<a href="http://www.egroupware.org/" target="_blank">Egroupware 1.0.0.006</a>：一款包含日历、新闻、联系人等模块的工作流系统 
</li>
														<li>
																<a href="http://www.heidi.ie/" target="_blank">Eraser 5.7</a>：永久地删除硬盘中的数据 
</li>
														<li>
																<a href="http://filezilla.sourceforge.net/" target="_blank">Filezilla 2.2.12c</a>：FTP客户端 
</li>
														<li>
																<a href="http://www.mozilla.net.cn/firefox/" target="_blank">Firefox 2</a>：Web浏览器，支持并列显示多个网页 
</li>
														<li>
																<a href="http://freemind.sourceforge.net/" target="_blank">Freemind 0.8</a>：能以直观形象的图示建立起各个概念之间的联系 
</li>
														<li>
																<a href="http://gaim.sourceforge.net/" target="_blank">Gaim 1.4.0</a>：同时支持ICQ、Aim、MSN、Yahoo的即时通信软件 
</li>
														<li>
																<a href="http://ganttproject.sourceforge.net/" target="_blank">Ganttproject 1.11.1</a>：项目管理软件，帮助你进行时间安排及资源分配 
</li>
														<li>
																<a href="http://www.gnupg.org/" target="_blank">GnuPG Add-ons</a>：对邮件进行加密 
</li>
														<li>
																<a href="http://healthmonitor.sourceforge.net/" target="_blank">Health Monitor 2.1 Monitors</a>：Windows状态监测工具，出现问题时可以给出警报 
</li>
														<li>
																<a href="http://www.inkscape.org/" target="_blank">Inkscape 0.41</a>：向量图形设计工具，可用来绘制地图、技术图纸或公司logo 
</li>
														<li>
																<a href="http://www.jdictionary.info/" target="_blank">JDictionary 1.8</a>：超过140万词条的百科辞典 
</li>
														<li>
																<a href="http://keepass.sourceforge.net/" target="_blank">Kee Pass 0.99b</a>：管理你的密码 
</li>
														<li>
																<a href="http://www.tranglos.com/" target="_blank">Keynote 1.6.5</a>：字处理软件和数据库的结合体，带有良好的搜索机制 
</li>
														<li>
																<a href="http://mediaportal.sourceforge.net/" target="_blank">Media Portal 0.1.1.1</a>：视频、DVD、音频、图片播放工具，同时支持电视和电台广播 
</li>
														<li>
																<a href="http://massid3lib.sourceforge.net/" target="_blank">MP3 Tag Tools 1.2.008</a>：mp3的文件ID标签编辑工具 
</li>
														<li>
																<a href="http://mp3gain.sourceforge.net/" target="_blank">MP3 Gain 1.2.5</a>：在不影响音质的情况下调节mp3歌曲的音量 
</li>
														<li>
																<a href="http://www.mozilla.nightrat.net/nvu" target="_blank">NVU 1.0</a>：所见即所得的HTML编辑工具，带有相当专业的网页制作功能professional web pages 
</li>
														<li>
																<a href="http://www.openoffice.org/" target="_blank">Open Office 2.0 Beta</a>：文字处理、电子数据表、演示工具和数据库 
</li>
														<li>
																<a href="http://sector7g.wurzel6.de/pdfcreator/index_en.htm" target="_blank">PDF-Creator 0.8.1</a>：可被安装为打印机并将文档输出为pdf文件 
</li>
														<li>
																<a href="http://poptray.crause.co.za/" target="_blank">Poptray 3.10</a>：在后台监控邮件账号，当有新邮件进入时对你进行提醒alerts you to new mails 
</li>
														<li>
																<a href="http://sourceforge.net/projects/pwgen-win" target="_blank">PW-Gen 1.4.0</a>：为你生成64位到128位的安全密码 
</li>
														<li>
																<a href="http://www.rssowl.org/" target="_blank">RSS-Owl 1.1</a>：RSS阅读器 
</li>
														<li>
																<a href="http://smartision-sc.sourceforge.net/" target="_blank">Screencopy 2.3</a>：屏幕拷贝工具 
</li>
														<li>
																<a href="http://syn.sourceforge.net/" target="_blank">Syn Text Editor 2.1.0.46</a>：文本编辑器，支持多种程序语言的命令语法 
</li>
														<li>
																<a href="http://taskswitchxp.sourceforge.net/" target="_blank">Task SwitchXP Pro 1.1.2</a>：扩展了Windows任务管理器的功能和外观Extend the functionality and appearance of the task manager 
</li>
														<li>
																<a href="http://www.gimp.org/" target="_blank">The Gimp 2.2.4</a>：支持图层管理、特效润饰的图像编辑软件 
</li>
														<li>
																<a href="http://www.mozilla.com/thunderbird/" target="_blank">Thunderbird 1.07</a>：e-mail客户端，支持Imap/Pop3账户，带有垃圾邮件过滤器和虚拟文件夹 
</li>
														<li>
																<a href="http://truecrypt.sourceforge.net/" target="_blank">True Crypt 3.1a</a>：对文件或硬盘分区进行加密，也可以对U盘等移动存储介质进行加密 
</li>
														<li>
																<a href="http://francis.dupont.free.fr/truedownloader" target="_blank">True Downloader 0.82</a>：FTP和HTTP链接的下载管理工具，可以监视剪贴板 
</li>
														<li>
																<a href="http://www.tvbrowser.org/" target="_blank">TV-Browser 1.0.1</a>：自动更新每天的电视节目表 
</li>
														<li>
																<a href="http://www.virtualdub.org/" target="_blank">Virtual Dub 1.5.10</a>：视频编辑和捕获软件，支持mpeg-1和avi视频格式 
</li>
														<li>
																<a href="http://virtuawin.sourceforge.net/" target="_blank">Virtual Win 2.1</a>：可管理最多9个虚拟桌面，你可以用热键进行桌面切换 
</li>
														<li>
																<a href="http://www.videolan.org/" target="_blank">VLC Media Player 0.8.1</a>：媒体播放器，支持DVD、VCD、CD、mpeg和DivX等格式 
</li>
														<li>
																<a href="http://www.httrack.com/" target="_blank">Web HTTrack 3.33</a>：离线浏览器，可将Internet网页保存到本地硬盘中 
</li>
														<li>
																<a href="http://www.palma.com.au/winroll" target="_blank">Winroll 2.0</a>：点击标题栏后就可将程序窗口最小化 
</li>
														<li>
																<a href="http://musik.berlios.de/" target="_blank">WX Musik 0.4.1</a>：音频播放及管理软件 
</li>
														<li>
																<a href="http://www.apachefriends.org/" target="_blank">Xampp 1.42</a> ：Web服务器软件包，包含Apache、PHP和MySQL </li>
												</ul>
												<p>
												</p>
												<p class="zh_p">转自：<a href="http://blog.donews.com/binghailan/archive/2006/01/05/683740.aspx" target="_blank" hreflang="zh">冰海蓝</a></p>
												<p class="zh_p">PS:<strong>文中提到的大部分软件都已经有所更新，出了新的版本，所有要了解相关的详细信息，请访问个软件主页</strong></p>
										</div>
										<!--EndFragment-->
								</div>
						</div>
				</div>
		</div>
		<p style="FONT-SIZE: 12px">---<br />本文章使用<a href="http://www.kicoy.com">开源内容管理kicoy</a>发布</p>芾韐icoy发布
<p></p><img src ="http://www.cnitblog.com/cockerel/aggbug/12079.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cockerel/" target="_blank">踏雪赤兔</a> 2006-06-12 11:43 <a href="http://www.cnitblog.com/cockerel/archive/2006/06/12/12079.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Web2.0：05年web2.0带动的11大软件</title><link>http://www.cnitblog.com/cockerel/archive/2006/06/12/12083.html</link><dc:creator>踏雪赤兔</dc:creator><author>踏雪赤兔</author><pubDate>Mon, 12 Jun 2006 03:43:00 GMT</pubDate><guid>http://www.cnitblog.com/cockerel/archive/2006/06/12/12083.html</guid><wfw:comment>http://www.cnitblog.com/cockerel/comments/12083.html</wfw:comment><comments>http://www.cnitblog.com/cockerel/archive/2006/06/12/12083.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/cockerel/comments/commentRss/12083.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cockerel/services/trackbacks/12083.html</trackback:ping><description><![CDATA[
		<div id="page">
				<div id="main">
						<div id="content">
								<div class="post">
										<h2 class="post-title">Web2.0：05年web2.0带动的11大软件</h2>
										<div class="tags"> </div>
										<div class="post-content">
												<p class="zh_p">
														<strong>来自：计算机世界　刘彦青</strong>
												</p>
												<p class="zh_p">年关将至，我们感觉有必要估计一下过去12个月来我们在Web 2.0发展历程中的实际位置。在过去的一年中，Web 2.0领域涌现出了大量高质量的创新性软件。由于出现的软件数量太多，要面面俱到地提及所有软件是困难的。</p>
												<p class="zh_p">下面是我发现的一些最好的Web 2.0软件清单。</p>
												<p class="zh_p">
														<strong>类别：社会书签</strong>
												</p>
												<p class="zh_p">最佳产品：del.icio.us</p>
												<p class="zh_p">描述：del.icio.us刚刚被雅虎收购，而雅虎已经有了名为“My Web 2.0”的社会书签服务，因此del.icio.us的命运仍然是“悬而 
</p>
												<p class="zh_p">未决”。但del.icio.us仍然是互联网上最好、最大、最快、最优雅的社会书签服务。事实上，del.icio.us是所有其它社会书签服务使用的基准。由于del.icio.us对Web 2.0这一概念非常认真，它提供了很好的API，供其他人开发服务使用，因此出现了大量的插件服务，或重新使用del.icio.us功能和内容的服务。如果要随地访问书签，del.icio.us是第一个选择。我已经离不开del.icio.us了。　</p>　 　　 
<p class="zh_p"><strong>类别：Web 2.0初始页面</strong></p><p class="zh_p">最佳产品：Netvibes</p><p class="zh_p">描述：能够在需要时使用户最喜欢的内容被显示、整理、浏览的Ajax初始页面正在迅速增长，如果按流量计，Netvibes是最为普及的博客。Netvibes有多种语言版本，整合了Writely，支持异常漂亮和设计优异的界面，提供最棒的拖放功能。尽管微软、Google等互联网巨头都提供有类似的产品，但它们都不够好。</p><p class="zh_p"><strong>类别：在线任务管理</strong></p><p class="zh_p">最佳产品：Voo2do</p><p class="zh_p">描述：包括电子邮件在内的越来越多的我们日常使用的软件正在向网上迁移，任务管理软件也不例外。我使用过多种任务管理软件，但给我留下印象最深的则是 Voo2do。由鲁拉一个人运营的Voo2do采用Ajax，使用户能够高效地创建和管理多个任务清单。Voo2do提供了API，并能够向用户的软件导出数据，它可以说是简单、令人满意的软件的具体体现。　</p><p class="zh_p"><strong>类别：集团创作新闻</strong></p><p class="zh_p">最佳产品：digg</p><p class="zh_p">描述：尽管没有使用Ajax，但digg并不缺乏它，当然了，Ajax只是Web 2.0中的许多因素之一。digg提供的重要的Web 2.0能力是它成功地利用了集体的智慧。digg中所有的新闻条目都是由用户提供的，用户也可以对新闻条目进行编辑。digg的主页列出了当前最流行的新闻条目，它的RSS feed也是互联网上最为流行的。digg的成功已经使得《Wired》杂志猜测，它将会埋葬Slashdot。</p><p class="zh_p"><strong>类别：图像存储和共享</strong></p><p class="zh_p">最佳产品：Flickr</p><p class="zh_p">描述：Flickr已经在今年早些时候被雅虎收归麾下，它是最卓越的照片/图像共享网站。Flickr提供了开放API、为照片提供预先制订的许可模式，使用户能够对照片进行标注，它还有大量的附件。尽管互联网上还存在其它照片共享站点，但都无法与Flickr相媲美。 Flickr已经成为Web 2.0的标志之一。</p><p class="zh_p"><strong>类别：第三方在线文件存储</strong></p><p class="zh_p">最佳产品：Openomy</p><p class="zh_p">描述：随着越来越多的软件转向互联网，有一个安全的地方存储文档、媒体等文档将是至关重要的。互联网上有许多在线文件存储服务，我观察Openomy已经有很长一段时间了。Openomy提供1GB存储容量，使用户通过编程方法访问基于标识的Openomy文件系统。 
</p><p class="zh_p"><strong>类别：博客筛选</strong></p><p class="zh_p">最佳产品：Memeorandum.com</p><p class="zh_p">描述：Memeorandum是一款相关性引擎，能够连续地监测博客领域，并找出当天最重要的帖子。由信息爆炸引起的注意力缺乏使得我们需要借助工具找出我们最需要的信息，博客筛选技术就是这样的工具。Memeorandum涵盖政治和技术领域，未来还可能包括其它类别的博客。互联网上还有其它的博客筛选服务，但在简单、精美、结果的满意性上都不能与Memeorandum相媲美。　</p>　 　　 
<p class="zh_p"><strong>类别：Web 2.0的平民应用</strong></p><p class="zh_p">最佳产品：Katrina List Network</p><p class="zh_p">描述：Katrinalist是因卡特里娜飓风而创建的，人们在上面发布在卡特里娜飓风灾难中的重要信息，利用全球的志愿者收集生还者的资料。它使得数以万计的生还者的资料被整合到了一个数据库中，使人们能够方便地识别和查找生还者。所有这些信息来自整个互联网，而且是以非结构化格式发布的，任何人都不具有优先的使用权。</p><p class="zh_p"><strong>类别：基于Web的字处理</strong></p><p class="zh_p">最佳产品：Writely</p><p class="zh_p">描述：Writely.com是一款高效、易于使用的在线字处理服务。利用它的WSIWYG（所见即所得）编辑器，用户可以改变字体和字体大小，进行拼写检查，插入图像（最大为2MB）。Writely.com还支持标注和版本控制。它是一款有用的字处理工具，尤其是对于那些买不起Office的用户。除了可以作为字处理工具外，Writely.com还可以用作协作工具，用户可以通过电子邮件邀请其他人协作编辑一个文档。 Writely.com使用了 AJAX用户界面，能够最大限度地利用Web 2.0的新功能。Writely.com只是比其它类似服务优秀一点点而已。</p><p class="zh_p"><strong>类别：在线日程表</strong></p><p class="zh_p">最佳产品：CalendarHub</p><p class="zh_p">描述：在线日程表是Web 2.0领域一个迅速增长的产品类别。优秀的、可共享的电子日程表的缺乏仍然是目前的一个问题。尽管已经有大量的同步和整合工具，但我仍然不能方便地完成使个人、家庭、上班期间的日程表同步等简单任务。CalendarHub是我见过的最好的在线日程表，Kiko略微次一点儿。</p><p class="zh_p"><strong>类别：项目管理和团队协作</strong></p><p class="zh_p">最佳产品：BaseCamp</p>描述：Web 2.0有博客、维基等用于双向信息交流的社会协作模式，标注、排名等使内容更充实的机制，以及组织技术，所有这些都为团队协作和项目管理提供了很好的背景。目前，Web 2.0项目管理工具还不多，部分原因是项目管理在不同类型的项目间是特殊的。Web 2.0公司幸运的是，这意味着它们不会受到来自微软等传统软件厂商的竞争。BaseCamp是一款优异的基于团队的项目管理工具。 
<p></p>　 
<p class="zh_p">转自：<a href="http://news.csdn.net/n/20051214/30927.html" target="_blank">CSDN</a></p><p class="zh_p">另外这里还有一个：<a href="http://www.articledashboard.com/Article/Top-10-Innovative-Web-2-0-Applications-of-2005/10891" target="_blank">Top 10 Innovative Web 2.0 Applications of 2005</a>，里面提到了<a href="http://answers.yahoo.com/" target="_blank">Yahoo answer</a>,呵呵，<a href="http://iask.sina.com.cn/" target="_blank">新浪的爱问</a>可比Yahoo的Answer早多了，也成熟多了，估计在国内的10大中会有新浪的<a href="http://iask.sina.com.cn/" target="_blank">爱问</a>的...</p></div>
										<!--EndFragment-->
								</div>
						</div>
				</div>
		</div>
		<p style="FONT-SIZE: 12px">---<br />本文章使用<a href="http://www.kicoy.com">开源内容管理kicoy</a>发布</p>诓煌嘈偷南钅考涫翘厥獾摹eb 2.0公司幸运的是，这意味着它们不会受到来自微软等传统软件厂商的竞争。BaseCamp是一款优异的基于团队的项目管理工具。 
<p></p>　 
<p class="zh_p">转自：<a href="http://news.csdn.net/n/20051214/30927.html" target="_blank">CSDN</a></p><p class="zh_p">另外这里还有一个：<a href="http://www.articledashboard.com/Article/Top-10-Innovative-Web-2-0-Applications-of-2005/10891" target="_blank">Top 10 Innovative Web 2.0 Applications of 2005</a>，里面提到了<a href="http://answers.yahoo.com/" target="_blank">Yahoo answer</a>,呵呵，<a href="http://iask.sina.com.cn/" target="_blank">新浪的爱问</a>可比Yahoo的Answer早多了，也成熟多了，估计在国内的10大中会有新浪的<a href="http://iask.sina.com.cn/" target="_blank">爱问</a>的...</p><div></div><!--EndFragment--><div></div><div></div><div></div><div></div><p style="FONT-SIZE: 12px">---<br />本文章使用<a href="http://www.kicoy.com">开源内容管理kicoy</a>发布</p><img src ="http://www.cnitblog.com/cockerel/aggbug/12083.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cockerel/" target="_blank">踏雪赤兔</a> 2006-06-12 11:43 <a href="http://www.cnitblog.com/cockerel/archive/2006/06/12/12083.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>精彩博客推荐：国外最佳高科技博客TOP 100</title><link>http://www.cnitblog.com/cockerel/archive/2006/06/12/12085.html</link><dc:creator>踏雪赤兔</dc:creator><author>踏雪赤兔</author><pubDate>Mon, 12 Jun 2006 03:43:00 GMT</pubDate><guid>http://www.cnitblog.com/cockerel/archive/2006/06/12/12085.html</guid><wfw:comment>http://www.cnitblog.com/cockerel/comments/12085.html</wfw:comment><comments>http://www.cnitblog.com/cockerel/archive/2006/06/12/12085.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/cockerel/comments/commentRss/12085.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cockerel/services/trackbacks/12085.html</trackback:ping><description><![CDATA[
		<div class="post-content">
				<p class="zh_p">
						<a href="http://www.strategicboard.com/weblog/pivot/entry.php?id=408">这份名单</a>与cnet的名单一起，都有着自己的角度和参考价值。主要是看看国外IT博客内容的丰富多彩，以及与其相比我们国内博客的浮躁和单调。也来不及具体介绍几句，只能简单陈列，供大家参考：</p>
				<p class="zh_p">
						<font size="2">
								<strong>
										<font color="#ce0808">1</font>
								</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://radio.weblogs.com/0001011/" target="blank">
								<font size="2">Scobleizer: Microsoft ...</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">2</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.scripting.com/" target="blank">
								<font size="2">Scripting News</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">3</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.micropersuasion.com/" target="blank">
								<font size="2">Micro Persuasion</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">4</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://slashdot.org/" target="blank">
								<font size="2">Slashdot</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">5</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://longtail.typepad.com/the_long_tail/" target="blank">
								<font size="2">The Long Tail</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">6</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.sixapart.com/" target="blank">
								<font size="2">Six Apart News</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">7</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://battellemedia.com/" target="blank">
								<font size="2">John Battelle's Search...</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">8</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://channel9.msdn.com/" target="blank">
								<font size="2">Channel 9</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">9</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://headrush.typepad.com/creating_passionate_users/" target="blank">
								<font size="2">Creating Passionate Us...</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">10</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.memeorandum.com/" target="blank">
								<font size="2">memeorandum</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">11</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://jeremy.zawodny.com/blog/" target="blank">
								<font size="2">Jeremy Zawodny's blog</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">12</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://msdn.microsoft.com/vstudio/" target="blank">
								<font size="2">MSDN: Visual Studio</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">13</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.sifry.com/alerts/" target="blank">
								<font size="2">Sifry's Alerts</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">14</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.sysinternals.com/blog/" target="blank">
								<font size="2">Mark's Sysinternals Bl...</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">15</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://scobleizer.wordpress.com/" target="blank">
								<font size="2">Scobleizer - Microsoft...</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">16</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://msdn.microsoft.com/" target="blank">
								<font size="2">MSDN Just Published</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">17</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.blogmaverick.com/" target="blank">
								<font size="2">Blog Maverick</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">18</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.boingboing.net/" target="blank">
								<font size="2">Boing Boing</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">19</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.weblogsinc.com/" target="blank">
								<font size="2">Weblogs, Inc. Home Pag...</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">20</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://tech.memeorandum.com/" target="blank">
								<font size="2">tech.memeorandum</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">21</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://joi.ito.com/" target="blank">
								<font size="2">Joi Ito's Web</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">22</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://digg.com/" target="blank">
								<font size="2">digg</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">23</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.techcrunch.com/" target="blank">
								<font size="2">TechCrunch</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">24</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.hanselman.com/blog/" target="blank">
								<font size="2">ComputerZen.com - Scot...</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">25</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.newsgator.com/" target="blank">
								<font size="2">NewsGator News and Upd...</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">26</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.gapingvoid.com/" target="blank">
								<font size="2">gapingvoid</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">27</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.43folders.com/" target="blank">
								<font size="2">43 Folders</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">28</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://gigaom.com/" target="blank">
								<font size="2">Om Malik's Broadband B...</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">29</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://bayosphere.com/blog/dangillmor" target="blank">
								<font size="2">Dan Gillmor's blog</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">30</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.hyperorg.com/blogger/" target="blank">
								<font size="2">Joho the Blog</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">31</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.lifehacker.com/" target="blank">
								<font size="2">Lifehacker</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">32</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.buzzmachine.com/" target="blank">
								<font size="2">BuzzMachine</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">33</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.25hoursaday.com/weblog/" target="blank">
								<font size="2">Dare Obasanjo aka Carn...</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">34</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.sixapart.com/" target="blank">
								<font size="2">Six Apart News</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">35</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.gizmodo.com/" target="blank">
								<font size="2">Gizmodo</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">36</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.sellsbrothers.com/" target="blank">
								<font size="2">Marquee de Sells: Chri...</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">37</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.identityblog.com/" target="blank">
								<font size="2">Kim Cameron's Identity...</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">38</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://avc.blogs.com/a_vc/" target="blank">
								<font size="2">A VC</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">39</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.php.net/" target="blank">
								<font size="2">PHP: Hypertext Preproc...</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">40</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.readwriteweb.com/" target="blank">
								<font size="2">Read/Write Web</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">41</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://sethgodin.typepad.com/seths_blog/" target="blank">
								<font size="2">Seth's Blog</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">42</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://weblog.infoworld.com/udell/" target="blank">
								<font size="2">Jon's Radio</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">43</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.schneier.com/blog/" target="blank">
								<font size="2">Schneier on Security</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">44</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.lessig.org/blog/" target="blank">
								<font size="2">Lessig Blog</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">45</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.mysql.com/" target="blank">
								<font size="2">Latest Updates from My...</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">46</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://jkontherun.blogs.com/jkontherun/" target="blank">
								<font size="2">jkOnTheRun</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">47</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.sysinternals.com/" target="blank">
								<font size="2">Sysinternals</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">48</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.kottke.org/" target="blank">
								<font size="2">kottke.org</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">49</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://pluralsight.com/blogs/dbox/" target="blank">
								<font size="2">Don Box's Spoutlet</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">50</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://instapundit.com/" target="blank">
								<font size="2">Instapundit.com</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">51</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.joystiq.com/" target="blank">
								<font size="2">Joystiq</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">52</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.itconversations.com/index.html" target="blank">
								<font size="2">ITC: All Programs</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">53</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://radar.oreilly.com/" target="blank">
								<font size="2">O'Reilly Radar</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">54</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.tuaw.com/" target="blank">
								<font size="2">The Unofficial Apple W...</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">55</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://calacanis.weblogsinc.com/" target="blank">
								<font size="2">The Jason Calacanis We...</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">56</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.oreilly.com/" target="blank">
								<font size="2">O'Reilly New Books</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">57</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://spaces.msn.com/members/rayozzie/" target="blank">
								<font size="2">Ray Ozzie</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">58</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.w3.org/" target="blank">
								<font size="2">World Wide Web Consort...</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">59</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://msdn.microsoft.com/netframework/" target="blank">
								<font size="2">MSDN: .NET Framework a...</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">60</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.blogbusinesssummit.com/" target="blank">
								<font size="2">Blog Business Summit</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">61</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://blog.softtechvc.com/" target="blank">
								<font size="2">Software Only</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">62</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://staff.newtelligence.net/clemensv/" target="blank">
								<font size="2">Clemens Vasters: Enter...</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">63</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.dasblonde.net/" target="blank">
								<font size="2">dasBlonde</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">64</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.peterprovost.org/" target="blank">
								<font size="2">Geek Noise</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">65</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.wired.com/" target="blank">
								<font size="2">Wired News: Top Storie...</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">66</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://msdn.microsoft.com/practices/" target="blank">
								<font size="2">MSDN: Microsoft patter...</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">67</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.roughtype.com/" target="blank">
								<font size="2">Rough Type: Nicholas C...</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">68</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.siliconbeat.com/" target="blank">
								<font size="2">SiliconBeat</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">69</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.makezine.com/blog/" target="blank">
								<font size="2">MAKE: Blog</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">70</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.redmonk.com/jgovernor/" target="blank">
								<font size="2">James Governor's MonkC...</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">71</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://drupal.org/" target="blank">
								<font size="2">drupal.org - Community...</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">72</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://tabletpcs.weblogsinc.com/" target="blank">
								<font size="2">The Tablet PCs Weblog</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">73</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://blog.u2u.info/DottextWeb/patrick/" target="blank">
								<font size="2">Patrick Tisseghem's Bl...</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">74</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://evelynrodriguez.typepad.com/crossroads_dispatches/" target="blank">
								<font size="2">Crossroads Dispatches</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">75</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://blogs.msdn.com/jensenh/default.aspx" target="blank">
								<font size="2">Jensen Harris: An Offi...</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">76</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://blogs.msdn.com/brian_jones/default.aspx" target="blank">
								<font size="2">Brian Jones: Office XM...</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">77</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://blogs.msdn.com/ie/default.aspx" target="blank">
								<font size="2">IEBlog</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">78</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.smartmobs.com/" target="blank">
								<font size="2">Smart Mobs</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">79</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://samgentile.com/blog/" target="blank">
								<font size="2">Sam Gentile's Blog</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">80</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.ysearchblog.com/" target="blank">
								<font size="2">Yahoo! Search blog</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">81</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://news.com.com/" target="blank">
								<font size="2">CNET News.com - Newsma...</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">82</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.joelonsoftware.com/" target="blank">
								<font size="2">Joel on Software</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">83</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://blogs.sun.com/roller/page/jonathan" target="blank">
								<font size="2">Jonathan Schwartz's We...</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">84</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.niallkennedy.com/blog/" target="blank">
								<font size="2">Niall Kennedy's Weblog...</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">85</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.eweek.com/" target="blank">
								<font size="2">eWEEK.com Messaging an...</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">86</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.panopticoncentral.net/" target="blank">
								<font size="2">Panopticon Central</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">87</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.gawker.com/" target="blank">
								<font size="2">Gawker</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">88</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://blog.holtz.com/" target="blank">
								<font size="2">a shel of my former se...</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">89</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://rconversation.blogs.com/rconversation/" target="blank">
								<font size="2">RConversation</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">90</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://msdn.microsoft.com/windowsvista/" target="blank">
								<font size="2">MSDN: Windows Vista (f...</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">91</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.larkware.com/" target="blank">
								<font size="2">Larkware News</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">92</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.fullcirc.com/weblog/onfacblog.htm" target="blank">
								<font size="2">Full Circle Online In...</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">93</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.burningdoor.com/feedburner/" target="blank">
								<font size="2">Burn This! - The FeedB...</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">94</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.postgresql.org/" target="blank">
								<font size="2">PostgreSQL News</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">95</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.tbray.org/ongoing/" target="blank">
								<font size="2">ongoing</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">96</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.f-secure.com/weblog/" target="blank">
								<font size="2">F-Secure Antivirus Res...</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">97</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.hdbeat.com/" target="blank">
								<font size="2">HD Beat</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">98</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.techdirt.com/" target="blank">
								<font size="2">Techdirt</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">99</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.zephoria.org/thoughts/" target="blank">
								<font size="2">apophenia</font>
						</a>
						<br />
						<font size="2">
								<strong style="FONT-SIZE: 12px; COLOR: rgb(206,8,8); LINE-HEIGHT: 22px">100</strong>  </font>
						<a style="FONT-SIZE: 11px; COLOR: rgb(0,0,0); LINE-HEIGHT: 20px" href="http://www.feedblog.org/" target="blank">
								<font size="2">Kevin Burton's Feed Bl...</font>
						</a>
				</p>
		</div>
		<p style="FONT-SIZE: 12px">---</p>
		<p style="FONT-SIZE: 12px">转载自feiy的博客<br />本文章使用<a href="http://www.kicoy.com">开源内容管理kicoy</a>发布</p>
<img src ="http://www.cnitblog.com/cockerel/aggbug/12085.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cockerel/" target="_blank">踏雪赤兔</a> 2006-06-12 11:43 <a href="http://www.cnitblog.com/cockerel/archive/2006/06/12/12085.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>计算机专业的学生在校期间取得哪些证书会比较有优势啊？</title><link>http://www.cnitblog.com/cockerel/archive/2006/06/12/12086.html</link><dc:creator>踏雪赤兔</dc:creator><author>踏雪赤兔</author><pubDate>Mon, 12 Jun 2006 03:43:00 GMT</pubDate><guid>http://www.cnitblog.com/cockerel/archive/2006/06/12/12086.html</guid><wfw:comment>http://www.cnitblog.com/cockerel/comments/12086.html</wfw:comment><comments>http://www.cnitblog.com/cockerel/archive/2006/06/12/12086.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/cockerel/comments/commentRss/12086.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cockerel/services/trackbacks/12086.html</trackback:ping><description><![CDATA[
		<p>　　MCSE，CCNA可以不用考虑，门槛太低，1000-2000多元，不用考试都可以拿到。招聘单位也都清楚这些证书是怎么来的。 <br />技术证书建议拿个国家的“软考”证书<sub>注1</sub>。盖两个部委的章。通过虑20%，含金量高。商业证书最低也得是CCNP。家里经济十分富裕的话可以拿个OCP，含金量不低于CCIE，全程下来3-4万。但绝对是高端证书！</p>
		<p>　　另外，其实如果可以拿个CET-6的话，比考这些东西强。<br />系统分析员或者MCSE这是对于机器操作的 <br />网络分析师或者Cisco认证是对于网络的，不过目前网络人才更为吃香一些。</p>
		<p>　　而对于C＋＋可以考的证包括：</p>
		<p>　　全国计算机等级考试二级C＋＋（较容易） <br />　　全国计算机软件专业水平考试程序员证书（中等难度） <br />　　微软认证MCSD(Visual C++)证书（国际认证，难度...）</p>
		<p>　　1.如果你是非计算机专业建议考全国计算机等级考试二级C＋＋， <br />　　2.如果你是计算机专业而且今后要从事一定的软件开发工作那么选择考全国计算机软件专业水平考试程序员证书 <br />　　3.如果你打算今后做程序员那么就考微软认证MCSD(Visual C++)证书 <br /></p>
		<p>注1：</p>
		<p>“软考”从2004年开始已经纳入国家职业资格认证体系。而且和职称直接挂钩。2004年开始计算机专业的职称已经全部以考代评了。一个证书盖信产部、人事部两个章。即代表了职业资格，又代表了职称资格 。</p>
		<p>附：“全国计算机技术与软件专业技术资格（水平）考试”中规定，凡遵守中华人民共和国宪法和各项法律，恪守职业道德，具有一定计算机技术应用能力的人员，均可根据本人情况，报名参加相应专业类别、级别的考试。用人单位可根据《工程技术人员职务试行条例》有关规定和工作需要，从获得计算机专业技术资格（水平）证书的人员中择优聘任相应专业技术职务。取得初级资格可聘任技术员或助理工程师职务；取得中级资格可聘任工程师职务；取得高级资格，可聘任高级工程师职务 </p>
		<p style="FONT-SIZE: 12px">---<br />本文章使用<a href="http://www.kicoy.com">开源内容管理kicoy</a>发布</p>
<img src ="http://www.cnitblog.com/cockerel/aggbug/12086.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cockerel/" target="_blank">踏雪赤兔</a> 2006-06-12 11:43 <a href="http://www.cnitblog.com/cockerel/archive/2006/06/12/12086.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>现在计算机专业有没有前途？</title><link>http://www.cnitblog.com/cockerel/archive/2006/06/12/12087.html</link><dc:creator>踏雪赤兔</dc:creator><author>踏雪赤兔</author><pubDate>Mon, 12 Jun 2006 03:43:00 GMT</pubDate><guid>http://www.cnitblog.com/cockerel/archive/2006/06/12/12087.html</guid><wfw:comment>http://www.cnitblog.com/cockerel/comments/12087.html</wfw:comment><comments>http://www.cnitblog.com/cockerel/archive/2006/06/12/12087.html#Feedback</comments><slash:comments>12</slash:comments><wfw:commentRss>http://www.cnitblog.com/cockerel/comments/commentRss/12087.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cockerel/services/trackbacks/12087.html</trackback:ping><description><![CDATA[
		<p>在学校要学精一门计算机语言,学好英语,学好如何参加面试,如何更好的与人交际,注意礼仪的培养,言谈举止要规范得体,看场合说话做事,不要讲太多的话，不要有太多以前自己没有注意到的小毛病,比如挠头什么的.多注意一些报纸网站上的招聘信息,一般不要去职业介绍所,成功率不大。人才市场可以去，但简历做的再好,一般招聘人员不去看(本人曾做过公司招聘工作).给人的第一印象一定要好,要自信. 希望你能找到份好工作. <br />计算机专业就业前途是很好的。 <br />学的什么就干什么啊~会什么就做什么！ <br />用你的专长做你专长的事！ <br />计算机专业胜任下列一项找工作不难,具我了解大专毕业生对应的最低工资(供参考)如下: <br />熟练应用办公软件 1000元 <br />单片机编程 1500元 <br />能用PROTEL布线路板 1500元 <br />熟练地高级语言编程(如C++) 2500元 <br />熟悉网络的硬件及软件 3000元 <br />熟悉通讯原理3000元 <br />玩转嵌入式及DSP系统 4000元 <br />熟练地用硬件描述语言VHDL编程 4500元 <br />总之肯定有专长呀,上路吧! <br /></p>
		<p style="FONT-SIZE: 12px">---<br />本文章使用<a href="http://www.kicoy.com">开源内容管理kicoy</a>发布</p>
<img src ="http://www.cnitblog.com/cockerel/aggbug/12087.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cockerel/" target="_blank">踏雪赤兔</a> 2006-06-12 11:43 <a href="http://www.cnitblog.com/cockerel/archive/2006/06/12/12087.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>OOP的未来</title><link>http://www.cnitblog.com/cockerel/archive/2006/06/12/12092.html</link><dc:creator>踏雪赤兔</dc:creator><author>踏雪赤兔</author><pubDate>Mon, 12 Jun 2006 03:43:00 GMT</pubDate><guid>http://www.cnitblog.com/cockerel/archive/2006/06/12/12092.html</guid><wfw:comment>http://www.cnitblog.com/cockerel/comments/12092.html</wfw:comment><comments>http://www.cnitblog.com/cockerel/archive/2006/06/12/12092.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/cockerel/comments/commentRss/12092.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cockerel/services/trackbacks/12092.html</trackback:ping><description><![CDATA[
		<p>
		</p>
		<table style="BORDER-RIGHT: #cccccc 1px solid; BORDER-TOP: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; BORDER-BOTTOM: #cccccc 1px solid" cellspacing="0" cellpadding="0" width="770" align="center" bgcolor="#ffffff" border="0">
				<tbody>
						<tr>
								<td style="BORDER-RIGHT: #cccccc 1px solid" valign="top" align="middle" width="565" bgcolor="#ffffff" height="573">
										<table height="279" cellspacing="0" cellpadding="3" width="97%" align="center" border="0">
												<!--StartFragment-->
												<tbody>
														<tr>
																<td style="BORDER-BOTTOM: #cccccc 1px solid" valign="center" height="35">
																		<div align="center">
																				<font style="FONT-SIZE: 20px" color="#ff0000">
																						<b>OOP的未来</b>
																				</font>
																		</div>
																</td>
														</tr>
														<tr>
																<td height="4">
																</td>
														</tr>
														<tr>
																<td valign="center" align="middle" bgcolor="#f2f2f2" height="22">添加：2005-9-2 6:05:48 来源：转载 作者：无从考证 </td>
														</tr>
														<tr>
																<td height="5">
																</td>
														</tr>
														<tr>
																<td valign="top" height="163">
																		<sohuadcode>
																				<table cellspacing="4" cellpadding="0" width="10" align="left" border="0">
																						<tbody>
																								<tr>
																										<td valign="center" align="middle" width="10" height="10">
																												<font class="f14" id="zoom">
																														<script src="zhong.js">
																														</script>
																												</font>
																										</td>
																								</tr>
																						</tbody>
																				</table>
																		</sohuadcode>
																		<div class="article" align="left">
																				<span class="c">
																						<font class="f14" id="zoom">
																								<p>       把宝押在Java上？或是坚持C++不动摇？还是考虑考虑C#？你是否犹豫不决？那么不妨先听 听下面这些专家的说法，对于面向对象程序设计语言的现状和未来作一番了解。 <br />       科技进展一日千里，产品生产周期则越来越短，不少程序员已经完全没有时间掌握第二种 语言。不论一个程序员的技术能力是否被考虑，对于他来说，将来能够参与什么类型的项 目，加盟什么样的公司，在很大程度上，将取决于今天选择哪种程序设计语言。为了帮助 大家清晰地了解C++和Java这两个最流行的OOP语言现在和将来的有关情况，我们采访了C+ +语言的设计者Bjarne Stroustrup，以及Sun公司著名工程师Tim Lindholm。下面是他们的 观点，内容涉及程序设计的未来、语言之间的比较、OOP语言的发展与革新之取舍以及程序设计标准。 </p>
																								<p>未来 <br />在未来三年，程序员编写代码的方式会发生那些变化？ </p>
																								<p>Stroustrup: 在C++中，假如没有合适的库在背后支撑，完成任何重要的工作都可能是很复 杂的。而一旦有了合适的库，任何东西都可以被我们操控于股掌之间。因此，构造和使用 程序库的重要性与日俱增。这也暗示我们，泛型程序设计(generic programming)将会越来越多地被运用。只有通过GP，我们才能确保库的通用性和高效率。我还预期在分布式计算 和“组件（components）”应用领域会出现喜人的增长。就大部分程序员而言，通过使用 方便适用的程序库，这些开发工作会变得简单明了。 现在有一个趋势，编译器厂商试图把其特有的“对象模型”和图形界面(GUI)细节推销给用 户。比如微软的COM和Inprise的类属性“properties”。对于用户来说，这既不要，也不情愿。我所希望看到的程序库，应该是用标准C++打造，界面灵活，值得信赖的程序库。 通常，这些界面应该是平台无的。C++的表达能力极强，即使不使用大量的宏，也应该足 以达成这一要求。就算有些地方无法百分之百的遵守这一原则，也应该将对于平台和厂家 的依赖性限制起来。这个目标的完成情况，可以反映软件工具产业对于应用程序开发行业 的关注程度。我怀疑目前对于那些独立的、跨平台厂商来说，并不存在相应的市场。如果能够建立这样的市场，也许能够促进厂商们为客户做出“真正有用的”品。 <br /><br />Lindholm: 对于编写代码的开发者来说，主要的驱动力量仍将是两个：网络和分布式—— 也就是设计和开发非单机软件的需求。大部分的应用程序将不会是孤零零地运行在单一设备上，而是运用了类似EJB和JSP之类技术的，平台无关的分布式程序。程序员们将不得不 面对分布式计算的重重险阻。这将对许多程序员所依赖的设计模式、技术和直觉构成严峻 的挑战。这是选择编程语言之前必须认识到的，尽管不同语言的设计特性可能促进或者阻碍这一转化。在网络应用的增长中，一个很重要的部分是小型移动设备和特殊Internet设备的爆炸性增长。这些设备各有各的操作系统，或者只在某种特定的设备领域内有共同的操作系统。我们现在还可以一一列举出这些设备——家庭接入设备、蜂窝电话、电子报纸、PDA、自动网络设备等等。但是这些设备领域的数量和深入程度将会很快变得难以估量。我们都知道这个市场大得惊人，PC的兴起与之相比不过小菜一碟。因此在这些设备的应用程序市场上，竞争将会相当残酷。获胜的重要手段之一，就是尽快进入市场。开发人员需要优秀的工具，迅速高效地撰写和调试他们的软件。平台无关性也是制胜秘诀之一，它使得程序员能够开发出支持多种设备平台的软件。我预期的另一个变化是，我们对于代码(Java)和数据(XML)协同型应用程序的开发能力将会不断提高。这种协同是开发强大应用程序的核心目标之一。我们从XML的迅速流行和ebXML 规范的进展中，已经看到了这个趋势。ebXML是一个针对电子商务和国际贸易的，基于XML 的开放式基础构架，由联合国贸易促进和电子商务中心(UN/CEFACT)与结构性信息标准推进组织(OASIS)共同开发。 </p>
																								<p>我们能否期望出现一个真正的面向组件(component-oriented)的语言？它的创造者会是谁 呢？ </p>
																								<p>Stroustrup: 我怀疑，这个领域中之所以缺乏成果，正是因为人们——主要是那些非程序 员们——对“组件”这个意义含糊的字眼寄予了太多的期望。这些人士梦想，有朝一日， 组件会以某种方式把程序员赶出历史舞台。以后那些称职的“设计员”只需利用预先调整好的组件，把鼠标拖一拖放一放，就把系统组合出来。对于软件工具厂商来说，这种想法还有另一层意义，他们认为，到时候只有他们才保留有必要的技术，有能力编写这样的组件。这种想法有一个最基本的谬误：这种组件很难获得广泛欢迎。一个单独的组件或框架(fra mework)，如果能够满足一个应用程序或者一个产业领域对所提出的大部分要求的话，对于其制造者来说就是划算的产品，而且技术上也不是很困难。可是该产业内的几个竞争者很快就会发现，如果所有人都采用这些组件，那么彼此之间的产品就会变得天下大同，没什么区别，他们将沦为简单的办事员，主要利润都将钻进那些组件/框架供应商的腰包里！小“组件”很有用，不过产生不了预期的杠杆效应。中型的、更通用的组件非常有用，但是构造时需要非同寻常的弹性。在C++中，我们综合运用不同共享形式的类(classhierarchies)，以及使用template s精心打造的接口，在这方面取得了一定的进展。我期待在这个领域取得一些有趣和有用的成果，不过我认为这种成果很可能是一种新的C++程序<a href="mailto:edu@chinaz.com" target="_blank"><font color="#000000">设计风</font></a>格，而不是一种新的语言。 <br /> <br />Lindholm: 编写面向组件的应用程序，好像更多的是个投资、设计和程序员管理方面的问题，而不是一个编程语言问题。当然某些语言在这方面具有先天优势，不过如果说有什么魔术般的新语言能够大大简化组件的编写难度，那纯粹是一种误导。 </p>
																								<p>微软已经将全部赌注押在C#上，其他语言何去何从？ </p>
																								<p>Stroustrup: C++在下一个十年里仍然将是一种主流语言。面对新的挑战，它会奋起应对。一个创造了那么多出色系统的语言，绝不“坐视落花流水春去也”。我希望微软认识到，它在C++(我指的是ISO标准C++)上有着巨大的利益，C++是它与IT世界内其他人之间的一桥梁，是构造大型系统和嵌入式系统的有效工具，也是满足高性能需求的利器。其他语言，似乎更注重那些四平八稳的商用程序。 </p>
																								<p>竞争 <br />C#会不会获得广泛的接受，并且挤掉其他的语言？ </p>
																								<p>Lindholm: 通常，一种语言既不会从别的语言那里获利，也不会被挤掉。那些坚定的Fortran程序员不还用着Fortran吗？对于个人来说，语言的选择当然因时而异，但就整体而言，语言的种类只会递增，也就是说，它们之间的关系是“有你有我”而不是“有你没我”。对于一个新语言的接受程度，往往取决于其能力所及。Java技术被迅速接受，原因是多方面的，Internet和World Wide Web接口，在其他技术面前的挫折感，对于Java技术发展方向的全面影响能力，都是原因。另一个重要的原因是Java独立于厂商，这意味着在兼容产品面前可以从容选择。C#是否会获得广泛接受？视情况而定。总的来说，那些对于平台无关性和厂商无关性漠不 关心的程序员，可能会喜欢C#。那些跟微软平台捆在一起人当然可能想要寻找VB 和VC的一个出色的替代品。但是对于程序跨平台执行能力特别关注的程序员，将会坚守Java之类的语言。这种能力对于多重访问设备（multiple access devices）和分布式计算模型至关重 <br />要，而Java语言提供了一个标准的、独立于厂商运行时环境。 </p>
																								<p>Stroustrup: C#的流行程度几乎完全取决于微软投入的资金多少。看上去C#的兴起肯定会牺牲掉其他一些语言的利益，但是事实上未必如此。Java的蓬勃发展并没有给C++带来衰败。C++的应用仍然在稳定增长（当然，已经不是爆炸性的增长了）。也许其他的语言也还能 <br />获得自己的一席之地。 不过，我实在看不出有什么必要再发明一种新的专有语言。特别是微软，既生VB，何需C# <br />？ </p>
																								<p>不同OOP语言各有什么优势和劣势？ </p>
																								<p>Stroustrup: C++的优点自始至终都是这么几条：灵活、高效，而且并非专有语言。现在ISO C++标准的出现，巩固了最后一点。我认为C++的高效是它最基本的优点。这种高效来自于其特有的数据和计算模型，较之Java和C#，这种模型更加贴近机器。不过，哪些程序才真正地渴望这么高的效率？这是个问题。我认为这类程序非常多。人们对于计算机的期望，永远都超越硬件科技的发展速度。很显然，Java和C#的设计者的想法不同，他们认为，在很多地方效率问题无关紧要。C++主要的缺点，归罪于糟糕的教育（是那些始终认为C++是个纯粹面向对象语言的人，和那些把C++当成C语言变体的人导致了这种情况），归罪于不同平台上的不一致性，归罪于不完整、不标的编译器实现，归罪于平台无关的系统级程序库的缺少。这些问题归于一点，就是缺乏一个卓越的厂商，能够满足整个C++社区的需求，勇于投入大量的资金开发必要的程序库。 </p>
																								<p>Lindholm: Java技术的成功，是因为它在合适的时间，出现在合适的地点，而且合理地选择了语言和计算平台的支持目标。Java并不是在所有场合都优于其他OOP语言，但是对于出现的新问题能够解决得很出色。它面向Internet计算环境，避免了C++中晦涩的结构，成功翻越了继承机制的恼人问题。垃圾收集机制显著地提高了生产率，降低了复杂度。在网络背景下使用虚拟机，以及有关安全性和动态加载的一系列设计选择，迎合了正在出现的需求和愿望。这些特性使Java不仅成为现有程序员的新武器，而且也为新的程序员创造了繁 <br />荣的市场空间。此外，Java拥有一个标准化的、二进制形式的类库，提供了必要的（当然并非充分的）平台与厂商无关性。平台与厂商无关性要求一项技术必须有清晰的规范，摒弃那些阻碍二进制标准实施的特性。C++虽然有一个ISO标准，但其实甚至对于相同系统与相同指令体系的各个平台，也提不出一个实用的、各版本兼容的二进制标准。历史上很多使用虚拟机的语言饱受责难，是因为其不够出色的性能问题，而这要归过于缓慢的解释器和糟糕的垃圾收集器。Java的早期实现也因为同样的问题受到严厉的批评。但是自那时起，业界向新的虚拟机实现技术投入了大量资金，取得了显著的效果，如今在大部分场合，Java的性能跟常规的静态编译语言相比毫不逊色。这使得程序员在获得平台和厂商无关性的同时，也不必付出性能上的代价。C++并没有强制使用面向对象方法，因此为了编写出色的面向对象代码，就要求程序员们有相当强的纪律性。很多公司就是因为这个原因放弃了C++。作为语言，Java的一个突出的优点就是强制面向对象方法，不允许非面向对象的结构。C#介于C++和Java之间，脚踏两只船，因此既不够安全，又失之复杂。 </p>
																								<p>对于公司来说，采用新的语言要付出巨大代价。雇不到好的程序员（没人熟悉这种新语言），培训费用高得惊人，学习过程中生产率和产品质量下降，多年的经验随风消逝，等等 。一种语言如何克服这些障碍？ </p>
																								<p>Lindholm: 说得很对，采用新东西确实常常开销巨大。不过问题是：这个新东西是否能够节省更多的开支，或者提供巨大的改进，获取合理的回报？很多公司发现，转向Java技术不论在开发的后端（尽快进入市场、快速迭代开发、维护简单性）还是前端（跨平台发布，适用范围从低端设备到高端服务器的技术，安全性），都能节省大笔的开销。对于新事物的接纳，常常是在痛楚的压力之下。很大程度上，这正是Java所经历的。Java的产生，是对当时很多系统的缺陷所做出的反应。Java技术通过下面的手段减轻了开发者的痛楚：1) 顾及了网络计算方面的需求，是应运而生。2) 在技术能力的抉择上，保持良好的品位，顾及了大众的心理。3) 采用适度强制性策略推行设计决定。此外，Java技术已经成为大学教学中的主流，这同样保证了Java开发者队伍的不断壮大。但是最重要的一点是，再没有另一种程序设计技术，能够像Java那样允许程序员开发基于Internet的不同平台之上的应用程序。Java平台在这方面的杰出表现，已经被大量的实例 <br />证明。Java已经成为Internet上的缺省应用程序平台，Java APIs也成为Internet应用程序开发的天然平台。 </p>
																								<p>Stroustrup: 微软和Sun把大笔的金钱扔在Java、VB和C#中，并不是因为他良心发现，也不是因为他们真的相信这些语言能够带给程序员更美好的生活，而是利益使然。有一个说法，认为软件工具厂商如果能够把应用程序开发者的专业技术任务负担起来，将获取巨大的经济利益。我对其背后的经济分析颇为怀疑，我认为这很难成为现实，特别是当应用程序开发者使用开放的、标准化的工具时，他们可以有多种选择，从而使上面的想法更加不可能。 </p>
																								<p>多年以前，C++就已经具有泛型能力(也就是templates和STL)，有运算符重载，有枚举类型？我们会不会在Java的未来版本中看到这些特性？Java是不是应该纳入这些特性呢？ </p>
																								<p>Strousturp:从1988-89年起，C++就已经有了templates。但是我们花了不少时间来了解如何最好地运用这个工具，早期各厂家对于template的支持在品质上也有很大的差异。有些编译器厂商动作迟缓，至少有一个主要的编译器厂商（好像是指微软，微软在Visual C++ 4.0才开始支持template，在此之前一直声称template是过于复杂而又没什么用的技术，时至今日，Visual C++对于template的支持在主流编译器中都属于最差的一档——译者注）暗中鼓励声名狼藉的反template宣传，直到他们自己终于学会了这项技术为止。直到今天，对于template的支持在品质上仍然有待改进。你上面提到的那些特性，我认为Java（还有C#）应该，也肯定会逐渐引入。那些对于程序员来说最有用的语言特性和概念，将会逐渐集中，成为各家主流语言的必然之选。也就是 说，我认为类似析构函数和模板特殊化之类的机制，远远比枚举等机制重要得多。 </p>
																								<p>Lindholm：Java技术成功的原因之一，就是很清楚哪些不该做。我们得多问几个为什么：这项特性是不是必不可少？增加它会带来哪些开销？运算符重载是C++中一项极其强大的特性，但是它也大大增加了C++语言的复杂度，很多人都难以招架。Java在各种可能的权衡之 <br />中，做出了明智的抉择，找到了能力与需求之间的完美平衡点。当然，Java也会发展，而且最重要的是，现在是开发者们在推动发展Java增加泛型能力这件事，很好地展示了Java是如何通过整个开发者社群的参与，在权衡中决定正确的平衡点。关于增加泛型类型（generic types）的“Java规格申请”（Java Specification Re quest, JSR）已经进入JCP（Java Community Process）程序，而且已经开发了很长一段时间（参见 <a href="http://java.sun.com/aboutJava/communityprocess/"><font color="#000000">http://java.sun.com/aboutJava/communityprocess/</font></a>之JSR-014）。现在，在JCP中，有超过80个JSRs正在讨论中，这充分体现了整个体系对开发者的积极反馈和高度合作，这正是驱动Java平台不断进化的动力。 </p>
																								<p>发展 vs. 革新(Evolution vs. Revolution)C++是一种发展型的语言，Java和C#似乎更像是革新型语言（它们是从头设计的）？什么时候，革新型的语言才是必需的呢？ </p>
																								<p>Lindholm: Java技术并非凭空出世，反而更像是发展型的。Java所有的特性，在Java平台 推出之前，都至少已经存在于另一种环境之中。Java的贡献在于，在众多的特性和权衡中，做出了合理的选择，使得产品既实用，又优雅。Java技术对于程序员的态度是：抚养， <br />但不溺爱。 </p>
																								<p>Stroustrup：从技术上讲，我并不认为Java和C#是什么“从头设计的”革新型语言。倘若Java是从技术原则出发，从头设计，大概就不会模仿C/C++那种丑陋和病态的语法了（不必惊讶，Stroustrup在很多场合表示过，C++采用C的语法形式，实在是迫于兼容性。他本人 <br />更偏爱Simula的语法——译者）。我认为，只有当程序员们面对的问题发生了根本的变化的时候，或者当我们发现了全新的 <br />、极其优越的程序设计技术，又完全不能为现存语言所支持的时候，我们才需要全新的语言。问题是，我们恐怕永远也碰不到那些“根本”、“全新”的情况。我以为，自从OOP问世以来，可称为“根本”的新型程序设计技术，唯有泛型程序设计（generic programming）和生成式程序设计（generative programming）技术，这两项技术主要是源于C++ templates技术的运用，也有一部分曾经被视为面向对象和函数式语言(functional languages)的次要成分，现在都变成正式、可用和可承受的技术了。我对于目前C++模板(template)程序设计的成果非常兴奋。例如，像POOMA, Blitz++和MTL等程序库，在很多地方改变了数值计算的方式。 </p>
																								<p>Java和C#的一个“卖点”，就是它们的简单性。现在Java是不是快失去这个卖点了？ </p>
																								<p>Stroustrup：新语言总是宣称自己如何如何简单，对老语言的复杂性颇多非议。其实这种所谓的“简单性”，简单地说，就是不成熟性。语言的复杂性，是在解决现实世界中极为烦琐和特殊的复杂问题的过程中逐渐增加的。一个语言只要活的时间够长，总会有某些地方逐渐复杂起来，或者是语言本身，或者是程序库和工具。C++和Java显然都不例外，我看C#也一样。如果一种语言能够度过自己的幼年时代，它会发现，自己无论是体积还是复杂性都大大增加了。 </p>
																								<p>Lindholm：Java技术的的功能在增加，需要学习的东西也在增加。不过功能的增加并不一定带来复杂性的增加。Java技术的发展，并没有使学习曲线更加陡峭，只是让它继续向右方延展了。 </p>
																								<p>标准 <br />标准化语言和开放型语言各自的优点和缺点何在？ </p>
																								<p>Lindholm：对于一个开放、不允许专有扩展、具有权威的强制性标准语言或者运行环境来说，不存在什么缺点。允许专有扩展就意味着允许厂商下套子绑架客户。特别重要的是，必须让整个平台，而不只是其中一部分完全标准化，才能杜绝厂商们利用高层次的专有API下套子。客户要求有选择厂商的自由，他们既要有创造性，又需要兼容性。 </p>
																								<p>Stroustrup：对于一个语言，如C/C++来说，建立正式标准（如ISO标准）最大的好处，在于可以防止某一个厂商操纵这种语言，把它当成自己的摇钱树。多个厂商的竞争给用户带来的是较低的价位和较好的稳定性。专有语言的好处，一是流行，二是便宜（不过等你被套牢了之后，情况就会起变化），三是对于商业性需求可以做出快速的反应。标准化语言的特点之一是，它不能忽略特殊用户的需求。比如我在AT&amp;T中所考虑的东西，其规模、可靠性和效率要求，跟那些普通厂商关注的大众软件相比，根本不可同日而语。那些公司很自然只关注主要的需求。然而，多数大机构和身处前沿的公司，都有着特殊的需求。C++的设计是开放、灵活和高效的，能够满足我所能想象的任何需求。跟其他的现代语言相比，C++的家长式作风可谓少之又少，原因就在这。当然，不能赞赏这一点的人会诟病C++“危险”。拥有正式和开放标准的语言主要是为编程工具的使用者和客户服务的，而拥有专属“标准 <br />”的语言，主要是为厂商服务的。 </p>
																								<p>关于作者 <br />Bjarne Stroustrup是C++的设计者和最早的实现者，The C++ Programming Language, The Design and Evolution of C++等书籍的作者。先后毕业于丹麦Aarhus大学和英国剑桥大学。Stroustrup博士是AT&amp;T实验室大规模程序设计研究部门负责人，AT&amp;T成员，AT&amp;T贝尔 <br />实验室成员，ACM成员。 </p>
																								<p>Tim Lindholm是Sun公司杰出的工程师。他是Java平台开发组最早的成员之一，负责Java中的线程、同步、垃圾收集和内存管理部分。他与人合著了The Java Virtual Machine Specification一书，目前致力于Java技术平台体系研究。</p>
																						</font>
																				</span>
																		</div>
																</td>
														</tr>
														<tr>
																<td valign="top" height="42">·上一篇：<a title="设计模式简介（一）——Iterator" href="http://www.3lian.com/edu/html/3_7/064031549.htm"><font color="#000000">设计模式简介（一）——Iterator</font></a><br />·下一篇：<a title="Java咖啡馆:情人节的Applet（四）" href="http://www.3lian.com/edu/html/3_7/064031506.htm"><font color="#000000">Java咖啡馆:情人节的Applet（四）</font></a></td>
														</tr>
														<!--EndFragment-->
												</tbody>
										</table>
								</td>
						</tr>
				</tbody>
		</table>
		<p style="FONT-SIZE: 12px">---<br />本文章使用<a href="http://www.kicoy.com">开源内容管理kicoy</a>发布</p>p&gt;<img src ="http://www.cnitblog.com/cockerel/aggbug/12092.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cockerel/" target="_blank">踏雪赤兔</a> 2006-06-12 11:43 <a href="http://www.cnitblog.com/cockerel/archive/2006/06/12/12092.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>过度使用C++模板(overdoing C++ templates) </title><link>http://www.cnitblog.com/cockerel/archive/2006/06/12/12059.html</link><dc:creator>踏雪赤兔</dc:creator><author>踏雪赤兔</author><pubDate>Mon, 12 Jun 2006 03:41:00 GMT</pubDate><guid>http://www.cnitblog.com/cockerel/archive/2006/06/12/12059.html</guid><wfw:comment>http://www.cnitblog.com/cockerel/comments/12059.html</wfw:comment><comments>http://www.cnitblog.com/cockerel/archive/2006/06/12/12059.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/cockerel/comments/commentRss/12059.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cockerel/services/trackbacks/12059.html</trackback:ping><description><![CDATA[
		<div class="twikiTopic">
				<h2>
						<a name="C_overdoing_C_templates">
						</a>
						<a name="_C_overdoing_C_templates_">
						</a>过度使用C++模板(overdoing C++ templates) </h2>作者：Steve Donovan. <br />翻译: <a href="http://www.winterxy.com/" target="_top">Winter</a><br />原文: <a href="http://www.informit.com/articles/article.asp?p=26017&amp;rl=1" target="_top">Overdoing C++ Templates</a><hr />
大约每隔十年，都会出现一个编程新概念，宣布自己是以往概念的继承者。我们也再一次相信，从今往后软件比以前更可靠，更容易build，或者更有意思(没有人相信它会比以前更小或者更快)。在70年代，有结构编程；在80年代，开始了面向对象编程；从90年代中期，出现了范型编程(generic programming)。范型编程得名于其用模板而使代码重用的高效技术(范型类和范型函数)。 
<p>模板类和模板函数都是非常有用的工具。例如sqr()函数可以计算平方数，任何定义了乘法运算的数据类型（数字，矩阵）都适用。标准容器类(如list)都是模板，这样对于每个新类型无需重写了，这正是使用旧版的C++时真正头疼的事情，因此我认为ISO的标准是个伟大的进步。然而，在这个过程中有些东西用得过头了。 
</p><p>例如：标准库中得string 和iostream 都是使用"character traits"类型作为参数。这意味着同一个basic_string&lt;&gt;类可以用于ASCII字符串，也可用于Unicode，甚至用于火星人的三字节字符串（原则虽然如此，但许多版本都只是实现了ASCII字符串，看起来有点滑稽）。标准要求这些常用类必须实现成模板形式，而这些类几乎涉及到所有C++应用。 
</p><p>但是这对性能和调试会带来许多麻烦。下面几个试验解释了这个问题（本试验使用的编译器为VC++6.0)。编译器同时支持新风格的iostream（使用模板）和经典风格的iostream, 因此我们能比较他们二者的版本实现。第一个测试程序当然是使用"Hello, Word"了，新风格的编译时间是经典风格的2倍。另一个更正规的例子大约有200行，每行输出10个变量用于计数。这个测试程序最显著的结论是编译速度：新风格版本花了10秒编译完成，而旧版本只使用了1.5秒。10秒时间可并不少，可以完成很多事情。另外，新风格版本的可执行文件的大小为115K，而旧版本只有70K。你的测试数据可能有些出入，但是整体结论是一样的：当使用新版本时，会有更慢的编译速度和更大的可执行文件。这并不是因为微软公司编译器的问题，使用GCC测试也会得到同样的结论。 
</p><p>当然，和过去不一样，可执行文件的大小并不是那么重要，现在，可编程设备种类正快速增长，包括许多信息应用，如遥控、手机、智能冰箱、基于蓝牙技术的咖啡机等等，在这些应用中内存近几年都会是十分宝贵的资源。使用标准iostream 而产生的额外的二进制文件，来源于内联了整个模板类的代码，要是没有code bload工具，你很难优化那些重要的操作。对我来说，编译时间问题更严重一些，因为这样意味着更长的等待，从而失去了开发中非常重要原则：互动原则。 
</p><p>现在我们来考虑调试的问题。标准库中string 类的模板实现非常聪明，但并不适合于调试。你会面临使用超长名字的编译器和调试器的信息： 
</p><div class="fragment"><pre><font color="brown">class</font> std::basic_string&lt;<font color="brown">char</font>,<font color="brown">struct</font> std::char_traits&lt;<font color="brown">char</font>&gt;,<font color="brown">class</font> std::allocator&lt;<font color="brown">char</font>&gt;&gt;</pre><pre></pre></div>同样对于非常有用的容器 map &lt; string,string &gt; , 你可以去想象其复杂性。这些名字太长了，以至于产生数十个内部名字被截断的警告。对于初学者来说，std::string 应该设计得尽可能透明，而不应该让他们面临许多语言内置得一些特性。当输出了编译错误信息后，在技术上讲，应该是可以查找到所有的 typedef 。我在 UnderC 项目中就试图这么做。Verity Stob 建议编写一个后置的处理器来翻译这些错误信息，我倒希望这是她这么做只是开个玩笑。如果不使用这么复杂的类型，这个问题就会容易处理的多。我在C++开发上的秘诀就是（我首次坦诚的公开这个秘密): 在稍微大一点的工程中使用一个兼容的string 类来替换std::string 的头文件. 有时我会重新build 这些标准的头文件，用来检测是否我的库还能正常使用，但让其他人为如何提高其性能而努力。 
<p>当然，在许多应用中我们都需要这种std::string提供的灵活性，例如，需要同时处理ASCII 和Unicode字符串，或者需要定制自己的allocator 等等。但这并不是普遍需求(通常程序员要么只处理ASCII，要么只处理Unicode ), 看起来对于程序员承担这种范型机制有些不公平。这种机制确实让标准库的设计者觉得很有意思，但增加了应用开发程序员使用的复杂度。这似乎颠倒了这个原则：良好的标准库设计应该隐藏其实现的复杂度，而让用户直接使用。但std::string 对其实现的复杂度隐藏得并不够，导致在用户使用过程中不断的遇到设计中的问题。我们不能要求标准库的用户都是专家。标准坚持要求这种特定的实现方式，和标准库的设计初衷相违背，其初衷是只提供公共的接口和包含一些特定功能的类库。自然，这种范型模板对于那些真正去要他们的人是一直有效的。 
</p><p>这些细节考虑同样应用于标准容器，例如list&lt;&gt;容器，list 有一些额外的默认模板参数，用于定义了默认的allocator。当然自己定义allocator 十分有用，但绝大多数人不需要自己去实现。这些泛化的版本完全可以作为单独的模板提供。我承认这样做会让标准库的设计在技术上变得没有以前有意思，但这些库在设计之初就应该考虑到最终用户。篡改一下C++的颂歌：用户不应该为他们不需要的东西买单。 
</p><p>当我们不需要模板的时候，我们不得不使用模板。除此之外，在C＋＋中用范型编程还会遇到另一个的问题。大多数人都同意，标准的algorithm 十分有用。如果你有一个整型的vector, 你可以直接使用下面的语句来排序： 
</p><div class="fragment"><pre>sort(v.begin(),v.end());</pre><pre></pre></div>因为int型数据的比较函数时内联的，而且这种范型算法比旧版本的qsort()函数速度还快，也更容易使用，特别是使用用户自定义类型的vector. copy()函数也可以在任何时候高效率地拷贝任何数据。 
<p>但有些应用理解起来十分晦涩： 
</p><div class="fragment"><pre>copy_if(v.begin(),v.end(),ostream_iterator&lt;<font color="brown">int</font>&gt;(cout) bind2nd(greater&lt;<font color="brown">int</font>&gt;(),7));</pre><pre></pre></div>如果要写得严格一点，每个名字都应该加上std::前缀，这里假定所有变量都是使用全局命名空间，或单独使用命令或用其他方法。用Stroustrup (C++的创始人)的例子更容易说明问题，这个例子把所有的整型数输出到终端： 
<div class="fragment"><pre>vector&lt;<font color="brown">int</font>&gt;::iterator li;
<font color="brown">for</font> (li = v.begin(); li != v.end(); ++li)
<font color="brown">if</font> (*li &gt; 7) cout &lt;&lt; *li;</pre><pre></pre></div>Stroustrup 告诉我们如果使用显示的循环是"麻烦而又容易产生错误", 但我看不出使用第一个版本有什么优势。显然，人们能习惯这种方式，人类的适应性很强，作为专业人士，我们也不得不学习这个新概念。但是，这样做并没有减少多少麻烦，而且我们可以证明这样做可读性更差，更不灵活。同时，它还会限制你的设计。例如，假设我们有一个Shape * 的指针list, 我们可以通过下面的调用方式来画出他们自己的形状： 
<div class="fragment"><pre>for_each(ls.begin(),ls.end(),
bind2nd(mem_fun(&amp;Shape::draw),canvas));</pre><pre></pre></div>也可以选择这种方式： 
<div class="fragment"><pre>ShapeList::iterator li;
<font color="brown">for</font> (li = ls.begin(); li != ls.end(); ++li)
(*li)-&gt;draw(canvas);</pre><pre></pre></div>现在假设我需要修改我的设计，我只想画那些满足某种要求的图形（而且不希望把这些需求包在shape类里面), 那么我只需要在显式的循环中增加一条if条件语句。如果要使用范型概念，我唯一能想到的方式定义一个函数，然后使用for_each()算法。使用设计模式一书中的术语，第一个例子是一个内部迭代器(internal iterator)，第二个例子式一个外部跌倒器(external iterator). 作者认为C++ 并不擅长使用内部迭代器，我想我们还是应该考虑语言的局限性。其实问题在于在C++中过度应用范型概念--从而导致不必要的难度。C++ 完全不支持一般的匿名函数(anonymous functions)如LIST, SmallTalk, Ruby等。C++中的匿名函数或许看起来和下面一样，可能某天有人会实现它： 
<div class="fragment"><pre>for_each(ls.begin(),ls.end(),
<font color="brown">void</font> lambda(Shape *p) { p-&gt;draw(canvas); }); </pre><pre></pre></div><p>C++ 是一种不可思议的编程语言，小到手机，大到跨国际网络，都有其应用。它非常灵活，能够支持多种编程风格，但这种灵活同样也是其问题所在。编程的艺术在于为特定的问题选择合适编程风格，就像老师总提醒写作文是要选择好的风格一样。我并不想诋毁 C++ 标准库，这里面包含了许多人的辛勤劳动，并为大家提供了一个公共平台。我对于这个标准的态度是，它和范型编程联系过于紧密，从而变成了在说明什么风格是好的编程风格(例如，算法中明显倾向于不要使用显式循环), 同时它也让程序员们不得不介入一些实现细节(如basic_string&lt;&gt;)，这样做让人们更加觉得C++ 是只是内核工程师们的编程语言。 
</p><p></p><hr /><ul><li>Set MYTITLE = 过度使用C++模板(overdoing C++ templates) </li></ul><!--EndFragment--></div>
		<p> </p>
		<p style="FONT-SIZE: 12px">---<br />本文章使用<a href="http://www.kicoy.com">开源内容管理kicoy</a>发布</p>芾韐icoy发布
<p></p><img src ="http://www.cnitblog.com/cockerel/aggbug/12059.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cockerel/" target="_blank">踏雪赤兔</a> 2006-06-12 11:41 <a href="http://www.cnitblog.com/cockerel/archive/2006/06/12/12059.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何选择第二外语？</title><link>http://www.cnitblog.com/cockerel/archive/2006/06/11/12030.html</link><dc:creator>踏雪赤兔</dc:creator><author>踏雪赤兔</author><pubDate>Sun, 11 Jun 2006 06:12:00 GMT</pubDate><guid>http://www.cnitblog.com/cockerel/archive/2006/06/11/12030.html</guid><wfw:comment>http://www.cnitblog.com/cockerel/comments/12030.html</wfw:comment><comments>http://www.cnitblog.com/cockerel/archive/2006/06/11/12030.html#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://www.cnitblog.com/cockerel/comments/commentRss/12030.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cockerel/services/trackbacks/12030.html</trackback:ping><description><![CDATA[就目前中韩交流程度来说，用人需求很大，公司，企业很多，而且中韩文化相近，比较容易掌握.因为日语的黄金年代在90年代，现在由于人员饱和，中日关系等影响，选择学日语还是要多考虑。 <br /><br />另外,在诸多小语种中，法语相对热门些，一是它比较接近英语；二是最近留法门坎降低。其次就是西班牙语，因浙江在西班牙的华商就有7万人，西班牙语又是南美洲地区和美国南部加州地区的官方语言，用途极其广泛。随着中国与西班牙及南美洲经贸往来的日益增长，对西班牙语人才的需求势必将不断增加，而国内精通西班牙语的人才十分缺乏。因此，西班牙语人才的就业空间十分宽广。 <br /><br />对于二外的学习，或多或少是带有一点功利的目的的，不过最终能学到炉火纯青达到目的的则少之又少。尤其是面临考试的时候，更是可能会成为额外的负担。我想有兴趣，有动力才能学好。 <br /><br />所以我觉得学习语言,兴趣还是很重要的。语言的背后蕴藏着远超出其本身的宝藏,无论怎样选择，我想都将面临着一个痛并且快乐的过程吧。希望你能做出自己满意的选择哦:)~~<br /><br />（转载自百度知道）<img src ="http://www.cnitblog.com/cockerel/aggbug/12030.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cockerel/" target="_blank">踏雪赤兔</a> 2006-06-11 14:12 <a href="http://www.cnitblog.com/cockerel/archive/2006/06/11/12030.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>