<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>林健的BLOG &#187; 计算机</title>
	<atom:link href="http://blog.linjian.org/articles/tag/%e8%ae%a1%e7%ae%97%e6%9c%ba/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.linjian.org</link>
	<description>有容乃大，无欲则刚</description>
	<lastBuildDate>Fri, 10 Sep 2010 13:36:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>		<item>
		<title>化学出身的计算机达人</title>
		<link>http://blog.linjian.org/articles/chemistry-computer/</link>
		<comments>http://blog.linjian.org/articles/chemistry-computer/#comments</comments>
		<pubDate>Sun, 30 Aug 2009 04:06:53 +0000</pubDate>
		<dc:creator>Jian Lin</dc:creator>
				<category><![CDATA[学习随感]]></category>
		<category><![CDATA[openparty]]></category>
		<category><![CDATA[专业]]></category>
		<category><![CDATA[化学]]></category>
		<category><![CDATA[计算机]]></category>

		<guid isPermaLink="false">http://blog.linjian.org/?p=387</guid>
		<description><![CDATA[　　昨天的 Beijing Open Party 上，我听了段炼同学介绍 GWT 的主题。上个月认识他时，我还误以为他是北理工新闻中心专职摄影的段炼老师，但他的真实身份却是华东理工大学制药工程专业的学生，计算机只是其“业余爱好”。段炼的 ID“chemhack”不禁让我猜想他是不是有像刘未鹏的“mindhacks”那样的风范。听了他的演讲、看了他的 blog，发现他确实是一个有 hack 精神的人。 　　这是我认识的又一位从事化学相关领域的计算机高手。本科玩计算机博弈时，我认识了复旦大学化学系毕业的黄晨，他是象棋百科全书网站和象棋巫师软件的作者，UCCI 协议的制定者。后来参加中国机器博弈锦标赛时，我又有幸见到了中国电脑围棋的先行者、中山大学化学系退休的陈志行教授（陈老先生已于 2008 年不幸病故）。他研制的《手谈》软件曾多次在国际赛事中夺冠，商业版本也畅销于日本等国。在我决定读研之前，曾想了解一下科研生活，师兄推荐给我的是名曰“学术科研第一站”，实为化学相关专业主导的小木虫论坛，这个论坛也让我收益不少。在中科院研究生院集中教学期间，我又在计算机专业的课堂上认识了多位外专业的同学，他们有冶金化学的、化工自动化的、过程工程的，选择计算机类课程或出于实验室工作的需要，或出于个人兴趣。 　　为什么会有这么多化学相关专业的朋友涉足了计算机领域呢？个人兴趣之外，或许最主要的因素是化学的很多研究需要以计算机作为海量数据采集、存储、分析、处理的工具。化学领域作为数据库、数据挖掘、网格计算等技术的重要应用，受益于计算机技术的发展，同时也对通过其复杂的需求引导着计算基础设施及算法的改进与发展。如今化学信息学的引入就是要用计算机来解决化学信息存储与检索的子问题。但除了这些技术上的因素，计算机和化学有没有本质上的相通呢？计算机是公认的人造科学、技术科学，而化学一般被认为是自然科学，尽管它也包含了一些技术科学和工程技术领域的分支。但我的初中、高中化学老师都给我灌输过这种思想：化学只是一系列模型，方便描述自然现象的，有些概念并不反映真实的存在；还说中学化学讲的都是早期的经典模型，为了解释新的现象，模型总在不断修补。我的大学同学，爱好电子、物理与计算机的 m100 则直接认定“化学是骗人的”。但我想，无论化学家们的科学信仰和主观意愿如何，化学和计算机科学在客观呈现上有两点是共通的：一是抽象建模，二是实用主义。计算机中只有线性的指令流和数据流，人们用结构化编程语言和文件系统的抽象将它们变得易于理解和使用；同样化学元素也不是什么微观物质，但化学家可以用这一抽象来表示特定原子组成，构建宏观世界到微观世界的桥梁，便于统一研究物质的性质。这种方法论上的相似或许是化学专业的朋友们乐于钻研计算机的原因之一。 　　学术的火花往往都是在交叉领域中迸发的，黄晨的《电脑象棋和量子化学——计算量子化学的新思路》（黄晨网站原文无法找到，请看 google 到的转载结果）就是一例有益的探索。做计算机的人，不要耻笑个别外专业人员写的蹩脚的代码，也不要不屑于倾听外行对计算机技术看似幼稚的见解。内行最容易犯的毛病就是被既有知识的“框框”限制住，多看看外行在本领域的工作，听听他们大胆的思路，也许就能为自己的科研创新另辟蹊径。 原文链接：http://blog.linjian.org/articles/chemistry-computer/，作者：林健。 本作品采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。 (Digital fingerprint: 993d4981d6d552510db9a08493b2dbec)相关文章有关计算机专业，答网友的一幅图Beijing Open Party，与周奕老师的一面之交纪念陈志行教授《我是一只 IT 小小鸟》杂想一本 IT 小鸟讲给小小鸟的故事]]></description>
			<content:encoded><![CDATA[<p>　　昨天的 <a href="http://www.beijing-open-party.org/index.php/2009/08/beijing-open-party-2009-08-event-preview.html">Beijing Open Party</a> 上，我听了<a href="http://chemhack.com/">段炼</a>同学介绍 <a href="http://code.google.com/webtoolkit/">GWT</a> 的主题。上个月认识他时，我还误以为他是<a href="http://www.bit.edu.cn/col183/article.htm1?id=35414">北理工新闻中心专职摄影的段炼老师</a>，但他的真实身份却是华东理工大学制药工程专业的学生，计算机只是其“业余爱好”。段炼的 ID“chemhack”不禁让我猜想他是不是有像<a href="http://mindhacks.cn/">刘未鹏</a>的“mindhacks”那样的风范。听了他的演讲、看了他的 blog，发现他确实是一个有 hack 精神的人。<br />
　　这是我认识的又一位从事化学相关领域的计算机高手。本科玩<a href="http://blog.linjian.org/?s=%E5%8D%9A%E5%BC%88">计算机博弈</a>时，我认识了复旦大学化学系毕业的<a href="http://blog.csdn.net/auntyellow">黄晨</a>，他是<a href="http://www.elephantbase.net/">象棋百科全书网站和象棋巫师软件</a>的作者，<a href="http://www.elephantbase.net/protocol/cchess_ucci.htm">UCCI</a> 协议的制定者。后来参加<a href="http://zh.wikipedia.org/wiki/%E4%B8%AD%E5%9B%BD%E6%9C%BA%E5%99%A8%E5%8D%9A%E5%BC%88%E9%94%A6%E6%A0%87%E8%B5%9B">中国机器博弈锦标赛</a>时，我又有幸见到了中国电脑围棋的先行者、中山大学化学系退休的<a href="http://www.google.com/search?q=%E4%B8%AD%E5%B1%B1%E5%A4%A7%E5%AD%A6+%E9%99%88%E5%BF%97%E8%A1%8C">陈志行教授</a>（陈老先生已于 2008 年不幸病故）。他研制的《手谈》软件曾多次在国际赛事中夺冠，商业版本也畅销于日本等国。在我决定读研之前，曾想了解一下科研生活，师兄推荐给我的是名曰“学术科研第一站”，实为化学相关专业主导的<a href="http://emuch.net/bbs/">小木虫论坛</a>，这个论坛也让我收益不少。在中科院研究生院集中教学期间，我又在计算机专业的课堂上认识了多位外专业的同学，他们有冶金化学的、化工自动化的、过程工程的，选择计算机类课程或出于实验室工作的需要，或出于个人兴趣。<br />
　　为什么会有这么多化学相关专业的朋友涉足了计算机领域呢？个人兴趣之外，或许最主要的因素是化学的很多研究需要以计算机作为海量数据采集、存储、分析、处理的工具。化学领域作为数据库、数据挖掘、网格计算等技术的重要应用，受益于计算机技术的发展，同时也对通过其复杂的需求引导着计算基础设施及算法的改进与发展。如今<a href="http://chemhack.com/cn/2009/08/chemoinformatics-101-chines/">化学信息学</a>的引入就是要用计算机来解决化学信息存储与检索的子问题。但除了这些技术上的因素，计算机和化学有没有本质上的相通呢？计算机是公认的人造科学、技术科学，而化学一般被认为是自然科学，尽管它也包含了一些技术科学和工程技术领域的分支。但我的初中、高中化学老师都给我灌输过这种思想：化学只是一系列模型，方便描述自然现象的，有些概念并不反映真实的存在；还说中学化学讲的都是早期的经典模型，为了解释新的现象，模型总在不断修补。我的大学同学，爱好电子、物理与计算机的 m100 则直接认定“化学是骗人的”。但我想，无论化学家们的科学信仰和主观意愿如何，化学和计算机科学在客观呈现上有两点是共通的：一是抽象建模，二是实用主义。计算机中只有线性的指令流和数据流，人们用结构化编程语言和文件系统的抽象将它们变得易于理解和使用；同样化学元素也不是什么微观物质，但化学家可以用这一抽象来表示特定原子组成，构建宏观世界到微观世界的桥梁，便于统一研究物质的性质。这种方法论上的相似或许是化学专业的朋友们乐于钻研计算机的原因之一。<br />
　　学术的火花往往都是在交叉领域中迸发的，黄晨的《电脑象棋和量子化学——计算量子化学的新思路》（黄晨网站原文无法找到，请看 <a href="http://www.google.com/search?hl=en&#038;q=%22%E7%94%B5%E8%84%91%E8%B1%A1%E6%A3%8B%E5%92%8C%E9%87%8F%E5%AD%90%E5%8C%96%E5%AD%A6%22+%22%E8%AE%A1%E7%AE%97%E9%87%8F%E5%AD%90%E5%8C%96%E5%AD%A6%E7%9A%84%E6%96%B0%E6%80%9D%E8%B7%AF%22+%22%E9%BB%84%E6%99%A8%22">google 到的转载结果</a>）就是一例有益的探索。做计算机的人，不要耻笑个别外专业人员写的蹩脚的代码，也不要不屑于倾听外行对计算机技术看似幼稚的见解。内行最容易犯的毛病就是被既有知识的“框框”限制住，多看看外行在本领域的工作，听听他们大胆的思路，也许就能为自己的科研创新另辟蹊径。</p>
<hr />原文链接：<a href="http://blog.linjian.org/articles/chemistry-computer/">http://blog.linjian.org/articles/chemistry-computer/</a>，作者：<a href="http://blog.linjian.org/">林健</a>。
<br />本作品采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/">知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议</a>进行许可。
<br />(Digital fingerprint: 
 993d4981d6d552510db9a08493b2dbec)<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li><a href="http://blog.linjian.org/articles/cs-subject-structure/" title="有关计算机专业，答网友的一幅图">有关计算机专业，答网友的一幅图</a></li><li><a href="http://blog.linjian.org/articles/beijing-open-party-2009-12/" title="Beijing Open Party，与周奕老师的一面之交">Beijing Open Party，与周奕老师的一面之交</a></li><li><a href="http://blog.linjian.org/articles/chenzhixing-memories/" title="纪念陈志行教授">纪念陈志行教授</a></li><li><a href="http://blog.linjian.org/articles/it-small-birds-essay/" title="《我是一只 IT 小小鸟》杂想">《我是一只 IT 小小鸟》杂想</a></li><li><a href="http://blog.linjian.org/articles/it-small-birds/" title="一本 IT 小鸟讲给小小鸟的故事">一本 IT 小鸟讲给小小鸟的故事</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.linjian.org/articles/chemistry-computer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>对“为人民计算”的几点思考</title>
		<link>http://blog.linjian.org/articles/essay-on-c4m/</link>
		<comments>http://blog.linjian.org/articles/essay-on-c4m/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 15:30:03 +0000</pubDate>
		<dc:creator>Jian Lin</dc:creator>
				<category><![CDATA[计算机科学与编程]]></category>
		<category><![CDATA[为人民计算]]></category>
		<category><![CDATA[信息]]></category>
		<category><![CDATA[普惠计算]]></category>
		<category><![CDATA[社会]]></category>
		<category><![CDATA[网络]]></category>
		<category><![CDATA[计算机]]></category>

		<guid isPermaLink="false">http://blog.linjian.org/?p=355</guid>
		<description><![CDATA[对“为人民计算”的几点思考 （本文为本人“先进计算机和软件技术系列讲座”课程作业） 　 　　“为人民计算”（Computing for the Masses）是近年来计算机科学技术和产业发展的目标之一。而究竟什么是“为人民计算”，出于国情、技术水平和个人认识的差异，不少学者提出过不同的理解。我国人口众多，农村人口占56%（国家统计局2007年10月数据），城乡经济和区域发展尚不协调，正处于信息化带动工业化的发展时期。在这种历史条件下，如何使得信息化的成果真正惠及人民，实现计算机行业所谓“普惠计算”的目标，是业界出于其社会责任感有必要思考的一个问题。针对我的导师徐志伟研究员在“为人民计算”方面的提出的一些观点，我浅谈一下我对几个相关问题的思考。 　 　　消费动机不在信息化本身 　　在受益于信息化且面向大众服务的行业当中，近几年来增长较为显著的是移动通信产业。中国的移动电话用户数量由1999年底的4330万户发展到2009年中期的6.87亿户。城市手机用户已经趋于饱和，但运营商对农村移动通信市场仍有信心。移动通信之所以得到了市场的认可，与其明确的消费目的息息相关。绝大多数消费者购买手机，其基本动机就是为了享受通信的便利；对于相当一些职业的人士，实时的通信可能已经不是“方便”而是“必须”。对于农村新市场的开拓，其难点可能在经济方面，而不在于人民对手机的基本功能和作用的认知。类似的案例还有银行卡。截至2009年6月，全国累计发行银行卡18.88亿张，银行卡的主要用户也分布在城市，农村和欠发达地区受制于经济条件和消费意识，对银行卡产品也许有所误解，但这不能说明银行卡本身的定位有问题，至少它们的功能是相对单一和明确的，满足了人民群众的特定需求。 　　然而，计算机与网络技术对人民大众来说，其直接的消费目的性并不如移动通信、银行卡那样显而易见。在目前阶段，计算机与网络更多地扮演着工具和桥梁的角色。购买计算机、接入互联网，并不能直接解决什么具体问题，计算机和网络解决的问题是通过运行在其上的应用体现出来的。“上网”、“获得信息”、“学习”都是一些相对抽象的动机，不能直接满足低端用户具体一项生活需求。因此在商业化推广中，这些空虚的目标可能不会对低端消费者产生太大的吸引力。即便通过财政支持来发展信息化，这些成果也很可能沦落为地方政绩的象征或闲人娱乐的工具，对生产生活不会有实质的影响。要在2040年建成惠及至少12亿人的信息化社会，我认为不能把民用计算机、网络定位为移动通信那种具有明显消费目的性的产品，而必须改变现有中低端计算机和网络相关产品或服务的社会定位，在应用层面寻找“为人民计算”的突破口。 　　信息化被作为工具的现状令很多从业者，特别是计算机科学研究人员不满：业界不愿意让信息技术变成像楼宇保洁一样必不可少但几乎不能创造价值的服务业，学界不也甘心计算机科学停滞不前，最终被其它学科以工具和技术的名义吞并。上世纪末本世纪初，网格计算的理念曾十分风行，研究人员力图建立一种像电网一样即插即得的信息基础设施，但至今网格技术只在部分专业研究领域发挥了功效，而那种惠及全民的“Great Glocal Grid”还未见雏形。其中主要的原因，我认为是信息资源缺乏像电力资源那样的同质性，抛开技术层面的因素，难以同质化的信息本身就使得潜在的用户无法建立明确的消费动机。但信息的同质化正是一个值得研究的科学问题，这个问题的解决，将使得计算机、网络由独立的工具进化为信息基础设施的地位。我们需要这样的基础设施在社会的后台像电网一样默默无闻地“为人民计算”，而用来明确消费动机、创造商业价值、进而构建信息社会的，不是计算机和网络的实体，而是这一基础设施之上的、像家用电器一样的、但目前尚未被发明的具体应用。 　 　　比“脱贫”更难的是“第二跳” 　　目前我国大多数人口仍处于“信息贫困线”以下，“脱贫”是产业界、学术界和决策层正在着力解决的问题。“脱贫”的方向相对明确。对于产业界，主要需要考虑机器生产和网络运营的成本，让计算机和网络对所有人来说由奢侈品变成日用品；对于学术界，需要摒弃一味追求性能的老路，从功耗、易用性等贴近用户的角度考虑体系结构的设计；决策层则需要提供政策扶持，对相关产业采取优惠措施，对人民群众加以合理引导。但我认为有可能出现困难的，并不在于“脱贫”的“第一跳”，而在于由基本价值向商品价值提升的“第二跳”。 　　还是以银行卡为例，我国银行卡发行数量虽然已经超过人口总量，但真正用卡的人群并不大，相当一部分银行卡是通过任务摊派的方式进入低端市场的，这些卡大都成了没有任何交易记录的“死卡”。即使是使用银行卡的人，他们中的多数也只享受了其商品价值，把它当作一张可以自助取款的存折，从未使用甚至从未听说过银行卡所关联的高级金融服务。 　　纵观我国计算机网络用户，其层次分化较为明显。IT界的精英人士、具有探索精神的专业人士早已享受到了信息产业的泛在价值、专业价值乃至个性价值，他们甚至可以在软件开发商与网络运营商尚未提供相关服务的情况下发扬自主创新的DIY精神，主动地让信息化为自己创造价值。而目前数目最庞大的用户群是将计算机、网络作为工具的人群，他们虽然享受了信息化带来的基本价值和商品价值，但只是在工作和生活中为了特定的目的有意去使用计算机和网络，计算机和网络更多地作为间接、高效实现传统生产模式价值的途径，而不是直接为这些用户提供新的价值。在农村和欠发达地区也有一定数量的计算机、网络用户，网吧是他们接触信息化成果的主要场所。这些用户缺乏自主探索的意识，他们通常使用仅仅使用网吧预置的网站、软件与游戏。即使是这些地区的一些官员，对信息产业的理解也有可能过于狭隘，甚至可能因为未成年人沉迷网游等问题对计算机、网络建立负面的印象，进而抵制信息化进程。然而要达到“普惠计算”的目标，必须把这类人群作为未来市场的潜在用户。目前我国的信息化还没有像工业化那样彻底地改变大多数人的生活方式；在相当一部分地区，工业化的成果甚至还没有全面应用到生产中，在这些地区谈信息化的价值，确实不容易为当地政府和人民大众所接受。单纯的基础设施建设所带来的基本价值就像提供给毫无养殖经验的农户的良种牲畜，他们只能一吃了之，不懂得通过繁殖子代、获取副产品来增值。既然信息化带动工业化已经是中国特色的跨越式发展模式，我们就应该在“脱贫”的同时完成“第二跳”的工作，提供一系列能够直接服务于生产、生活的应用。只有完成“第二跳”，信息化才不再是软硬件堆叠的花架子，其价值才能使个人用户受益。如何让人民群众真正从“为人民计算”中得到实惠，让计算机科学的成果成为人民群众喜闻乐见的事物，而不是像银行卡市场那样徒有虚名，这才是比信息“脱贫”更重要的任务。 　 　　对“计算透镜”半保守半超前的认识 　　Richard M. Karp提出的“计算透镜”（Computational Lens）理念被认为是未来二十年计算机科学可能的发展方向之一。其核心理念是将计算作为一种通用的思维方式，通过这种广义的计算（涉及信息、执行算法、关注复杂度）来描述各类自然过程和社会过程，从而解决各个学科的问题。Karp给出了计算透镜理论在生物科学中的成功应用。这一理论试图将计算机科学由最初的数值计算工具、仿真与可视化技术以及后来基于网络、面向多学科的e-Science平台，变成普遍适用于自然和社会领域的通用思维模式。从这一点上看，计算透镜的思路也似乎是要将计算机从传统的“为军事计算”、“为科学计算”、“为商业计算”过渡到“为人民计算”、“为人类计算”，只是这一思维工具并不一定直接为人民所使用，而是要借助学界和业界之手将计算透镜带来的好处通过生产力的发展来施惠与人。 　　世界真的可以用计算过程来表达吗？在初次接触到计算透镜的概念时，我首先想到的是近代机械唯物主义的自然观，试图用力学和机械的观点来解释并分析自然与社会现象。进而联想到了人工智能发展史上的符号主义、连接主义和行为主义等学派的基本观点，它们都力图用一种简单的形式化模型来解释智慧和思维。计算透镜是不是在走这些老路呢？我个人感觉，在图灵机模型和现行的可计算性理论本身是否符合自然规律尚未被证实的前提下，不要指望计算透镜能在短期内给一般大众的工作和生活带来什么影响。但对计算透镜的研究是有意义的，其意义可能不在于用计算改造自然，而在于更好地认识自然，从而改造现有的计算模型，使之能够像一些自然过程一样高效。也许到那个时候，人、机、物界限因为思维方式的统一而变得模糊，“为人民计算”的理念演化为对人类思维能力的直接扩展，届时作为中介的信息化工具、应用可能反而变得不重要了。 　　回到现实，这方面已经存在的一些问题需要引起我们的关注。计算透镜理论中包含“社会计算”。尽管社会计算的概念目前还没有精确的定义，无论是用计算机的方法研究社会还是用社会学的方法研究计算机，统统被一些机构打上了“社会计算”的标签。从“社会”二字可以看出，这一计算的执行也并非人民的个体可以完成的，要做到社会计算，仍需要掌握着社会数据和社会决策权的机构来完成。但在法治完善程度赶不上技术发展速度的情况下，如何保证社会计算的成果真正服务于民，成为“为人民计算”的理念与实践需要面对的一个重要的非技术问题。例如当前舆情计算技术的发展确实为政府机关提供了迅速准确的决策支持，但一些社会团体对舆情计算中的个人隐私保护问题仍存在争议，认为这对网民存在侵权。舆情计算技术还被某些搜索引擎公司或网络公关公司所利用，通过推送正面信息、屏蔽负面评价的方式从不法商家手中谋利，直接侵害了消费者的知情权，损害了市场的公平竞争。从这一点可以看出，“为人民计算”不是一两个新理论、新技术就可以实现的，它需要完善的法治框架、良好的业界环境，以及官、产、学、研各方对人民利益高度负责的态度。 　 　　总之，我心中的“为人民计算”应该是由有价值的应用所导向的、带来明确消费动机的、架构在信息基础设施之上的信息化发展模式。它应该像电网和电器一样易用，让人民受益的同时却感觉不到信息基础设施的存在；它应该突破城乡与区域差异，惠及全民，为信息化带动工业化带来历史契机；它应该兼顾可用性、保密性与可控性，在具有社会负责感的机构的运营下真正代表人民群众的利益。 　 参考文献 [1] 徐志伟．为人民计算的三个问题．中国计算机学会通讯，2008(10)． [2] 江泽民．新时期我国信息技术产业的发展．上海交通大学学报，2008(10)． [3] 李国杰．创新求索录．电子工业出版社，2008． [4] Richard M. Karp. Computer Science as a Lens on the Sciences. ICDCS 2008. 原文链接：http://blog.linjian.org/articles/essay-on-c4m/，作者：林健。 本作品采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。 [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center; font-size: 16pt; "><strong>对“为人民计算”的几点思考</strong></p>
<p style="text-align: center; ">（本文为本人“先进计算机和软件技术系列讲座”课程作业）</p>
<p>　<br />
　　“为人民计算”（Computing for the Masses）是近年来计算机科学技术和产业发展的目标之一。而究竟什么是“为人民计算”，出于国情、技术水平和个人认识的差异，不少学者提出过不同的理解。我国人口众多，农村人口占56%（国家统计局2007年10月数据），城乡经济和区域发展尚不协调，正处于信息化带动工业化的发展时期。在这种历史条件下，如何使得信息化的成果真正惠及人民，实现计算机行业所谓“普惠计算”的目标，是业界出于其社会责任感有必要思考的一个问题。针对我的导师徐志伟研究员在“为人民计算”方面的提出的一些观点，我浅谈一下我对几个相关问题的思考。<br />
<a href="http://picasaweb.google.com/lh/photo/TEIF5qFbf2nZZeuR-bOc6A?feat=embedwebsite"><img src="http://www.linjian.org/imagoxy/getimg.php?u=nBnauUHevADM4M3LrxWSE90S5BlQRZzLzFTQBFUQBFUQBF0LJh0RvNzXkp3brN1LZFlQFlXMU1yXRp1Xv02bj5CdoB3Zn5iNox2LvoDc0RHa" title="" alt="对“为人民计算”的几点思考" /></a><br />
　<br />
　　<strong>消费动机不在信息化本身</strong><br />
　　在受益于信息化且面向大众服务的行业当中，近几年来增长较为显著的是移动通信产业。中国的移动电话用户数量由1999年底的4330万户发展到2009年中期的6.87亿户。城市手机用户已经趋于饱和，但运营商对农村移动通信市场仍有信心。移动通信之所以得到了市场的认可，与其明确的消费目的息息相关。绝大多数消费者购买手机，其基本动机就是为了享受通信的便利；对于相当一些职业的人士，实时的通信可能已经不是“方便”而是“必须”。对于农村新市场的开拓，其难点可能在经济方面，而不在于人民对手机的基本功能和作用的认知。类似的案例还有银行卡。截至2009年6月，全国累计发行银行卡18.88亿张，银行卡的主要用户也分布在城市，农村和欠发达地区受制于经济条件和消费意识，对银行卡产品也许有所误解，但这不能说明银行卡本身的定位有问题，至少它们的功能是相对单一和明确的，满足了人民群众的特定需求。<br />
　　然而，计算机与网络技术对人民大众来说，其直接的消费目的性并不如移动通信、银行卡那样显而易见。在目前阶段，计算机与网络更多地扮演着工具和桥梁的角色。购买计算机、接入互联网，并不能直接解决什么具体问题，计算机和网络解决的问题是通过运行在其上的应用体现出来的。“上网”、“获得信息”、“学习”都是一些相对抽象的动机，不能直接满足低端用户具体一项生活需求。因此在商业化推广中，这些空虚的目标可能不会对低端消费者产生太大的吸引力。即便通过财政支持来发展信息化，这些成果也很可能沦落为地方政绩的象征或闲人娱乐的工具，对生产生活不会有实质的影响。要在2040年建成惠及至少12亿人的信息化社会，我认为不能把民用计算机、网络定位为移动通信那种具有明显消费目的性的产品，而必须改变现有中低端计算机和网络相关产品或服务的社会定位，在应用层面寻找“为人民计算”的突破口。<br />
　　信息化被作为工具的现状令很多从业者，特别是计算机科学研究人员不满：业界不愿意让信息技术变成像楼宇保洁一样必不可少但几乎不能创造价值的服务业，学界不也甘心计算机科学停滞不前，最终被其它学科以工具和技术的名义吞并。上世纪末本世纪初，网格计算的理念曾十分风行，研究人员力图建立一种像电网一样即插即得的信息基础设施，但至今网格技术只在部分专业研究领域发挥了功效，而那种惠及全民的“Great Glocal Grid”还未见雏形。其中主要的原因，我认为是信息资源缺乏像电力资源那样的同质性，抛开技术层面的因素，难以同质化的信息本身就使得潜在的用户无法建立明确的消费动机。但信息的同质化正是一个值得研究的科学问题，这个问题的解决，将使得计算机、网络由独立的工具进化为信息基础设施的地位。我们需要这样的基础设施在社会的后台像电网一样默默无闻地“为人民计算”，而用来明确消费动机、创造商业价值、进而构建信息社会的，不是计算机和网络的实体，而是这一基础设施之上的、像家用电器一样的、但目前尚未被发明的具体应用。<br />
　<br />
　　<strong>比“脱贫”更难的是“第二跳”</strong><br />
　　目前我国大多数人口仍处于“信息贫困线”以下，“脱贫”是产业界、学术界和决策层正在着力解决的问题。“脱贫”的方向相对明确。对于产业界，主要需要考虑机器生产和网络运营的成本，让计算机和网络对所有人来说由奢侈品变成日用品；对于学术界，需要摒弃一味追求性能的老路，从功耗、易用性等贴近用户的角度考虑体系结构的设计；决策层则需要提供政策扶持，对相关产业采取优惠措施，对人民群众加以合理引导。但我认为有可能出现困难的，并不在于“脱贫”的“第一跳”，而在于由基本价值向商品价值提升的“第二跳”。<br />
　　还是以银行卡为例，我国银行卡发行数量虽然已经超过人口总量，但真正用卡的人群并不大，相当一部分银行卡是通过任务摊派的方式进入低端市场的，这些卡大都成了没有任何交易记录的“死卡”。即使是使用银行卡的人，他们中的多数也只享受了其商品价值，把它当作一张可以自助取款的存折，从未使用甚至从未听说过银行卡所关联的高级金融服务。<br />
　　纵观我国计算机网络用户，其层次分化较为明显。IT界的精英人士、具有探索精神的专业人士早已享受到了信息产业的泛在价值、专业价值乃至个性价值，他们甚至可以在软件开发商与网络运营商尚未提供相关服务的情况下发扬自主创新的DIY精神，主动地让信息化为自己创造价值。而目前数目最庞大的用户群是将计算机、网络作为工具的人群，他们虽然享受了信息化带来的基本价值和商品价值，但只是在工作和生活中为了特定的目的有意去使用计算机和网络，计算机和网络更多地作为间接、高效实现传统生产模式价值的途径，而不是直接为这些用户提供新的价值。在农村和欠发达地区也有一定数量的计算机、网络用户，网吧是他们接触信息化成果的主要场所。这些用户缺乏自主探索的意识，他们通常使用仅仅使用网吧预置的网站、软件与游戏。即使是这些地区的一些官员，对信息产业的理解也有可能过于狭隘，甚至可能因为未成年人沉迷网游等问题对计算机、网络建立负面的印象，进而抵制信息化进程。然而要达到“普惠计算”的目标，必须把这类人群作为未来市场的潜在用户。目前我国的信息化还没有像工业化那样彻底地改变大多数人的生活方式；在相当一部分地区，工业化的成果甚至还没有全面应用到生产中，在这些地区谈信息化的价值，确实不容易为当地政府和人民大众所接受。单纯的基础设施建设所带来的基本价值就像提供给毫无养殖经验的农户的良种牲畜，他们只能一吃了之，不懂得通过繁殖子代、获取副产品来增值。既然信息化带动工业化已经是中国特色的跨越式发展模式，我们就应该在“脱贫”的同时完成“第二跳”的工作，提供一系列能够直接服务于生产、生活的应用。只有完成“第二跳”，信息化才不再是软硬件堆叠的花架子，其价值才能使个人用户受益。如何让人民群众真正从“为人民计算”中得到实惠，让计算机科学的成果成为人民群众喜闻乐见的事物，而不是像银行卡市场那样徒有虚名，这才是比信息“脱贫”更重要的任务。<br />
　<br />
　　<strong>对“计算透镜”半保守半超前的认识</strong><br />
　　Richard M. Karp提出的“计算透镜”（Computational Lens）理念被认为是未来二十年计算机科学可能的发展方向之一。其核心理念是将计算作为一种通用的思维方式，通过这种广义的计算（涉及信息、执行算法、关注复杂度）来描述各类自然过程和社会过程，从而解决各个学科的问题。Karp给出了计算透镜理论在生物科学中的成功应用。这一理论试图将计算机科学由最初的数值计算工具、仿真与可视化技术以及后来基于网络、面向多学科的e-Science平台，变成普遍适用于自然和社会领域的通用思维模式。从这一点上看，计算透镜的思路也似乎是要将计算机从传统的“为军事计算”、“为科学计算”、“为商业计算”过渡到“为人民计算”、“为人类计算”，只是这一思维工具并不一定直接为人民所使用，而是要借助学界和业界之手将计算透镜带来的好处通过生产力的发展来施惠与人。<br />
　　世界真的可以用计算过程来表达吗？在初次接触到计算透镜的概念时，我首先想到的是近代机械唯物主义的自然观，试图用力学和机械的观点来解释并分析自然与社会现象。进而联想到了人工智能发展史上的符号主义、连接主义和行为主义等学派的基本观点，它们都力图用一种简单的形式化模型来解释智慧和思维。计算透镜是不是在走这些老路呢？我个人感觉，在图灵机模型和现行的可计算性理论本身是否符合自然规律尚未被证实的前提下，不要指望计算透镜能在短期内给一般大众的工作和生活带来什么影响。但对计算透镜的研究是有意义的，其意义可能不在于用计算改造自然，而在于更好地认识自然，从而改造现有的计算模型，使之能够像一些自然过程一样高效。也许到那个时候，人、机、物界限因为思维方式的统一而变得模糊，“为人民计算”的理念演化为对人类思维能力的直接扩展，届时作为中介的信息化工具、应用可能反而变得不重要了。<br />
　　回到现实，这方面已经存在的一些问题需要引起我们的关注。计算透镜理论中包含“社会计算”。尽管社会计算的概念目前还没有精确的定义，无论是用计算机的方法研究社会还是用社会学的方法研究计算机，统统被一些机构打上了“社会计算”的标签。从“社会”二字可以看出，这一计算的执行也并非人民的个体可以完成的，要做到社会计算，仍需要掌握着社会数据和社会决策权的机构来完成。但在法治完善程度赶不上技术发展速度的情况下，如何保证社会计算的成果真正服务于民，成为“为人民计算”的理念与实践需要面对的一个重要的非技术问题。例如当前舆情计算技术的发展确实为政府机关提供了迅速准确的决策支持，但一些社会团体对舆情计算中的个人隐私保护问题仍存在争议，认为这对网民存在侵权。舆情计算技术还被某些搜索引擎公司或网络公关公司所利用，通过推送正面信息、屏蔽负面评价的方式从不法商家手中谋利，直接侵害了消费者的知情权，损害了市场的公平竞争。从这一点可以看出，“为人民计算”不是一两个新理论、新技术就可以实现的，它需要完善的法治框架、良好的业界环境，以及官、产、学、研各方对人民利益高度负责的态度。<br />
　<br />
　　总之，我心中的“为人民计算”应该是由有价值的应用所导向的、带来明确消费动机的、架构在信息基础设施之上的信息化发展模式。它应该像电网和电器一样易用，让人民受益的同时却感觉不到信息基础设施的存在；它应该突破城乡与区域差异，惠及全民，为信息化带动工业化带来历史契机；它应该兼顾可用性、保密性与可控性，在具有社会负责感的机构的运营下真正代表人民群众的利益。<br />
　<br />
<strong>参考文献</strong><br />
[1] 徐志伟．为人民计算的三个问题．中国计算机学会通讯，2008(10)．<br />
[2] 江泽民．新时期我国信息技术产业的发展．上海交通大学学报，2008(10)．<br />
[3] 李国杰．创新求索录．电子工业出版社，2008．<br />
[4] Richard M. Karp. Computer Science as a Lens on the Sciences. ICDCS 2008.</p>
<hr />原文链接：<a href="http://blog.linjian.org/articles/essay-on-c4m/">http://blog.linjian.org/articles/essay-on-c4m/</a>，作者：<a href="http://blog.linjian.org/">林健</a>。
<br />本作品采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/">知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议</a>进行许可。
<br />(Digital fingerprint: 
 993d4981d6d552510db9a08493b2dbec)<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li><a href="http://blog.linjian.org/articles/smartq-v5-mifi/" title="使用智器 V5 实现山寨 MiFi">使用智器 V5 实现山寨 MiFi</a></li><li><a href="http://blog.linjian.org/articles/s3-sync-tools/" title="三款面向 Amazon S3 的开源文件同步工具之对比">三款面向 Amazon S3 的开源文件同步工具之对比</a></li><li><a href="http://blog.linjian.org/articles/ipv6-icmpv6-error/" title="解决 IPv6 路由发现协议得到错误地址的问题">解决 IPv6 路由发现协议得到错误地址的问题</a></li><li><a href="http://blog.linjian.org/articles/rsync-unison-ssh/" title="使用 rsync 或 unison 备份或同步支持 ssh 的 web 主机">使用 rsync 或 unison 备份或同步支持 ssh 的 web 主机</a></li><li><a href="http://blog.linjian.org/articles/smart-input-method/" title="智能输入法软件的社会责任问题">智能输入法软件的社会责任问题</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.linjian.org/articles/essay-on-c4m/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>有关计算机专业，答网友的一幅图</title>
		<link>http://blog.linjian.org/articles/cs-subject-structure/</link>
		<comments>http://blog.linjian.org/articles/cs-subject-structure/#comments</comments>
		<pubDate>Tue, 10 Feb 2009 14:35:36 +0000</pubDate>
		<dc:creator>Jian Lin</dc:creator>
				<category><![CDATA[学习随感]]></category>
		<category><![CDATA[专业]]></category>
		<category><![CDATA[知识结构]]></category>
		<category><![CDATA[计算机]]></category>

		<guid isPermaLink="false">http://blog.linjian.org/?p=192</guid>
		<description><![CDATA[　　jfsmtsh网友问我“计算机的知识梯形结构”，我就发一幅不久前与大一学生交流时做的图作为解答吧。这只是我作为一个计算机专业本科毕业生的一点理解，肯定有缺陷和不足。还望你深入了解，听取多方面意见，找到适合自己的方向。 发件人 blog 原文链接：http://blog.linjian.org/articles/cs-subject-structure/，作者：林健。 本作品采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。 (Digital fingerprint: 993d4981d6d552510db9a08493b2dbec)相关文章化学出身的计算机达人《我是一只 IT 小小鸟》杂想一本 IT 小鸟讲给小小鸟的故事对“为人民计算”的几点思考北理工计算机专业（2004级）课件合集]]></description>
			<content:encoded><![CDATA[<p>　　jfsmtsh网友问我“计算机的知识梯形结构”，我就发一幅不久前与大一学生交流时做的图作为解答吧。这只是我作为一个计算机专业本科毕业生的一点理解，肯定有缺陷和不足。还望你深入了解，听取多方面意见，找到适合自己的方向。</p>
<table style="width:auto;">
<tr>
<td><a href="http://picasaweb.google.com/lh/photo/W9TeJROJXHkWK0pZgZI3iQ?feat=embedwebsite"><img src="http://www.linjian.org/imagoxy/getimg.php?u=%3D%3DwZwpmLqNnavADM4M3LvVzd1E0V592NZV0L0cVQBFUQBFUQBF0LJFWQ3dkS1A1RaN1LZFlQFlXMU1yXRp1Xv02bj5CdoB3Zn5iNox2LvoDc0RHa" title="" alt="有关计算机专业，答网友的一幅图" /></a></td>
</tr>
<tr>
<td style="font-family:arial,sans-serif; font-size:11px; text-align:right">发件人 <a href="http://picasaweb.google.com/lj.linjian.cn/Blog?feat=embedwebsite">blog</a></td>
</tr>
</table>
<hr />原文链接：<a href="http://blog.linjian.org/articles/cs-subject-structure/">http://blog.linjian.org/articles/cs-subject-structure/</a>，作者：<a href="http://blog.linjian.org/">林健</a>。
<br />本作品采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/">知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议</a>进行许可。
<br />(Digital fingerprint: 
 993d4981d6d552510db9a08493b2dbec)<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li><a href="http://blog.linjian.org/articles/chemistry-computer/" title="化学出身的计算机达人">化学出身的计算机达人</a></li><li><a href="http://blog.linjian.org/articles/it-small-birds-essay/" title="《我是一只 IT 小小鸟》杂想">《我是一只 IT 小小鸟》杂想</a></li><li><a href="http://blog.linjian.org/articles/it-small-birds/" title="一本 IT 小鸟讲给小小鸟的故事">一本 IT 小鸟讲给小小鸟的故事</a></li><li><a href="http://blog.linjian.org/articles/essay-on-c4m/" title="对“为人民计算”的几点思考">对“为人民计算”的几点思考</a></li><li><a href="http://blog.linjian.org/articles/bit-cs-courseware/" title="北理工计算机专业（2004级）课件合集">北理工计算机专业（2004级）课件合集</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.linjian.org/articles/cs-subject-structure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>北理工计算机专业（2004级）课件合集</title>
		<link>http://blog.linjian.org/articles/bit-cs-courseware/</link>
		<comments>http://blog.linjian.org/articles/bit-cs-courseware/#comments</comments>
		<pubDate>Wed, 06 Feb 2008 23:07:27 +0000</pubDate>
		<dc:creator>Jian Lin</dc:creator>
				<category><![CDATA[资料收集]]></category>
		<category><![CDATA[北京理工大学]]></category>
		<category><![CDATA[计算机]]></category>
		<category><![CDATA[课件]]></category>

		<guid isPermaLink="false">http://10.61.0.60/wordpress/?p=23</guid>
		<description><![CDATA[发布在BitUnion FTP，北理工校园网可访问。 路径：Study@AiUN /incoming/courseWare.for.Computer.Science.2004/ 备用下载链接1：@Bits&#38;Bytes /courseWare/ 备用下载链接2：@10.1.0.63 /CourseWare.For.CS/ 名称：北理工计算机专业（2004级）课件合集 版本信息：2008.1 大小：4.1G 　　本合集收录了北京理工大学计算机科学与技术专业2004级本科几乎所有课程的课件及大量相关学习资料。发布本合集的目的是为本专业学生以及其他对相关课程感兴趣的人员提供学习的便利。 　　首先要向制作课件并辛勤为我们授课的老师表示由衷的感谢！本合集应当是他们智慧的结晶。 　　合集中的绝大多数课件来自同学课堂收集。大学四年间，sswv、BeijingJEEP、IdeaLee、krkr等不少同学将从老师处拷贝来的课件归类整理，通过Bits&#38;Bytes、dotNet等FTP即时地共享，方便同学们课后复习和备考。 　　为保持完整性，合集中也有少数课件是因当时没有收集到，现在从北理九星FTP、计算机实验教学中心网络教室等处下载的。这些不全是2004级课件，有的可能更新一些。感谢wenyong同学、lonecat老师的整理工作。 　　本合集中所有课件、资料、软件的版权归其各自作者所有，仅供私人收藏与学习，未经相关作者允许，不得利用其中任何内容从事赢利等侵权活动！ 　　祝北京理工大学计算机科学技术学院在新的一年迎来新的发展！ 原文链接：http://blog.linjian.org/articles/bit-cs-courseware/，作者：林健。 本作品采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。 (Digital fingerprint: 993d4981d6d552510db9a08493b2dbec)相关文章化学出身的计算机达人对“为人民计算”的几点思考祝贺北理工／六子棋遐想有关计算机专业，答网友的一幅图悼念任丽卿老师]]></description>
			<content:encoded><![CDATA[<p>发布在BitUnion FTP，北理工校园网可访问。<br />
路径：Study@AiUN /incoming/courseWare.for.Computer.Science.2004/<br />
备用下载链接1：@Bits&amp;Bytes /courseWare/<br />
备用下载链接2：@10.1.0.63 /CourseWare.For.CS/<br />
名称：北理工计算机专业（2004级）课件合集<br />
版本信息：2008.1<br />
大小：4.1G</p>
<p>　　本合集收录了北京理工大学计算机科学与技术专业2004级本科几乎所有课程的课件及大量相关学习资料。发布本合集的目的是为本专业学生以及其他对相关课程感兴趣的人员提供学习的便利。<br />
　　首先要向制作课件并辛勤为我们授课的老师表示由衷的感谢！本合集应当是他们智慧的结晶。<br />
　　合集中的绝大多数课件来自同学课堂收集。大学四年间，sswv、BeijingJEEP、IdeaLee、krkr等不少同学将从老师处拷贝来的课件归类整理，通过Bits&amp;Bytes、dotNet等FTP即时地共享，方便同学们课后复习和备考。<br />
　　为保持完整性，合集中也有少数课件是因当时没有收集到，现在从北理九星FTP、计算机实验教学中心网络教室等处下载的。这些不全是2004级课件，有的可能更新一些。感谢wenyong同学、lonecat老师的整理工作。<br />
　　本合集中所有课件、资料、软件的版权归其各自作者所有，仅供私人收藏与学习，未经相关作者允许，不得利用其中任何内容从事赢利等侵权活动！<br />
　　祝北京理工大学计算机科学技术学院在新的一年迎来新的发展！</p>
<hr />原文链接：<a href="http://blog.linjian.org/articles/bit-cs-courseware/">http://blog.linjian.org/articles/bit-cs-courseware/</a>，作者：<a href="http://blog.linjian.org/">林健</a>。
<br />本作品采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/">知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议</a>进行许可。
<br />(Digital fingerprint: 
 993d4981d6d552510db9a08493b2dbec)<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li><a href="http://blog.linjian.org/articles/chemistry-computer/" title="化学出身的计算机达人">化学出身的计算机达人</a></li><li><a href="http://blog.linjian.org/articles/essay-on-c4m/" title="对“为人民计算”的几点思考">对“为人民计算”的几点思考</a></li><li><a href="http://blog.linjian.org/articles/connect6-bit-champion/" title="祝贺北理工／六子棋遐想">祝贺北理工／六子棋遐想</a></li><li><a href="http://blog.linjian.org/articles/cs-subject-structure/" title="有关计算机专业，答网友的一幅图">有关计算机专业，答网友的一幅图</a></li><li><a href="http://blog.linjian.org/articles/mourn-for-renliqing/" title="悼念任丽卿老师">悼念任丽卿老师</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.linjian.org/articles/bit-cs-courseware/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>阅读我们的学科——计算机专业学习浅谈：四、理性思辨，体味计算机哲学</title>
		<link>http://blog.linjian.org/articles/read-our-major-4/</link>
		<comments>http://blog.linjian.org/articles/read-our-major-4/#comments</comments>
		<pubDate>Sat, 10 Mar 2007 11:47:36 +0000</pubDate>
		<dc:creator>Jian Lin</dc:creator>
				<category><![CDATA[学习随感]]></category>
		<category><![CDATA[哲学]]></category>
		<category><![CDATA[学习]]></category>
		<category><![CDATA[计算机]]></category>

		<guid isPermaLink="false">http://10.61.0.60/wordpress/?p=32</guid>
		<description><![CDATA[阅读我们的学科——计算机专业学习浅谈 （北理计算机学院新闻社《九歌》专栏文章） 四、理性思辨，体味计算机哲学 　　Bill Gates对计算机事业充满激情——“每天早晨醒来，一想到所从事的工作和所开发的技术将会给人类生活带来的巨大影响和变化，我就会无比兴奋和激动。”自由软件运动的精神领袖Richard Stallman几十年如一日，将打破知识垄断、共享人类智慧作为己任，带领着数以万计的软件志愿者推动着开源世界的发展。但并非每个计算机业者都能有 Gates那样豪迈的气度和Stallman那种坚定的信仰，计算机及其相关技术对于大多数业者来说仅仅是兴趣爱好或者谋生的工具。计算机行业半个多世纪以来形成了其独有的文化氛围，作为一名计算机专业学生，了解专业文化，体味专业哲学，对于学习和从业都是具有指导意义的。 　　首先必须承认，计算机世界中存在着形形色色的意识理念差异。诸如微软帝国与开源世界的明争暗斗，不仅仅是一场商战，更多的是两种哲学的搏击。当代大学生多数是在微软Windows光环照耀下认识计算机的。在这种环境下，多接触一些开源世界的事物，对于理解计算机的本质不无裨益。《共创未来：打造自由软件神话》（《Free for All: How Linux and the Free Software Movement Undercut the High-Tech Titans》，中文版，上海科技教育出版社）是一本讲述开源世界发展史的书，你可以从中了解自由软件运动及其领袖人物的传奇故事，从而对GNU、 Linux、OpenSource这些概念蕴生人性化的理解。清华大学王垠的《完全用GNU/Linux工作，摈弃Windows——你我共勉》、兰州大学黄平的《自由，你忘记了吗？》等长篇文章则是国人对开源运动的慷慨陈辞。尽管这些文章常常被指为“偏激”，但没有调查就没有发言权，无论支持还是反对，客观的认识是第一位的。 　　其次，我们应该用平和的心态对待知识与技术，衡准专业学习在生活中的位置。一些同学出于种种原因，成为了“先进技术”的追随者：通晓各类流行的编程语言，一有新版本的工具推出立即安装学习，一有新的技术论战立即关注其走向。还有一些同学成为了某些技术的忠实信徒：看准了Java就对.NET的东西置之不理。这些追随者和信徒们往往为突飞猛进的技术所累，以至于有感于学习的空虚。过分追捧技术可谓舍本逐末，死扣某一知识也显得目光短浅。一方面百变的技术离不开计算机科学的本源，在实践过程中深入理解基础知识是关键；另一方面任何技术都有统领其实现细节的思想精髓，观其形不如知其神。我们不妨甩开冗繁的技术，换个角度静下心来读几部计算机文化与哲学作品： 　　程序人生方面：《编程之道》（《The Tao of Programming》，双语版，电子工业出版社）一书出自一位对东方道家与禅宗思想有着独特理解的美国软件工程师之手，全书由一则则短小而富有哲理故事组成，以类似寓言的形式生动地反映了程序员群体的生活以及计算机文明的演进。闲暇时随手翻阅，即使不能立刻体会到每个故事的真谛，但随着自身阅历的增长，相信你会领悟程序人生的“道法自然”。 　　设计理念方面：开源软件界的“斗士”级元老Eric Raymond所著的《Unix编程艺术》（《The Art of Unix Programming》，中文版，电子工业出版社）一书，以Unix系统的设计原则为主线，展示了Unix所开启的“KISS”（Keep It Simple, Stupid!）编程文化与思维方式。对于很多干啃千篇一律的课本、禁锢于Windows开发的计算机专业学生来说，这本书一定能够使你眼界大开——“结构化”并非真理，“面向对象”也不是王道；而对于有一定Unix/Linux使用或开发经验的同学，这本书也一定会使你豁然明朗——原来一个程序的设计竟可以如此精巧！ 　　管理哲学方面：对于有志于软件工程，想涉足项目管理的同学，《人月神话》（《The Mythical Man-Month》，中文版，清华大学出版社）这本书就有必要读一读了。它拿真实案例说事，仿佛一部实例化的软件工程课本。如果你在团队开发的道路上陷入了困境，不如参考一下前辈们是如何处理“人”与“月”二者之矛盾的吧。事实上不仅是软件工程，任何事业的成功，往往技术不是关键，社会科学的因素才是埋头技术的朋友们更应当关注的。 　　归根结底，计算机的哲学依旧是人的哲学。抛开理念之争议，超越技术的形式，以人为本地认识我们的行业与自身的地位，或许会使将来的发展道路走得更舒心一些。 原文链接：http://blog.linjian.org/articles/read-our-major-4/，作者：林健。 本作品采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。 (Digital fingerprint: 993d4981d6d552510db9a08493b2dbec)相关文章阅读我们的学科——计算机专业学习浅谈：三、运筹帷幄，掌握编程的思想阅读我们的学科——计算机专业学习浅谈：二、把握全局，学习计算机导论阅读我们的学科——计算机专业学习浅谈：一、广泛了解，从科普书籍开始尽己所能入侵暗时间的元思维]]></description>
			<content:encoded><![CDATA[<p><strong>阅读我们的学科——计算机专业学习浅谈<br />
（北理计算机学院新闻社《九歌》专栏文章）</strong></p>
<p>四、理性思辨，体味计算机哲学</p>
<p>　　Bill Gates对计算机事业充满激情——“每天早晨醒来，一想到所从事的工作和所开发的技术将会给人类生活带来的巨大影响和变化，我就会无比兴奋和激动。”自由软件运动的精神领袖Richard Stallman几十年如一日，将打破知识垄断、共享人类智慧作为己任，带领着数以万计的软件志愿者推动着开源世界的发展。但并非每个计算机业者都能有 Gates那样豪迈的气度和Stallman那种坚定的信仰，计算机及其相关技术对于大多数业者来说仅仅是兴趣爱好或者谋生的工具。计算机行业半个多世纪以来形成了其独有的文化氛围，作为一名计算机专业学生，了解专业文化，体味专业哲学，对于学习和从业都是具有指导意义的。</p>
<p>　　首先必须承认，计算机世界中存在着形形色色的意识理念差异。诸如微软帝国与开源世界的明争暗斗，不仅仅是一场商战，更多的是两种哲学的搏击。当代大学生多数是在微软Windows光环照耀下认识计算机的。在这种环境下，多接触一些开源世界的事物，对于理解计算机的本质不无裨益。《共创未来：打造自由软件神话》（《Free for All: How Linux and the Free Software Movement Undercut the High-Tech Titans》，中文版，上海科技教育出版社）是一本讲述开源世界发展史的书，你可以从中了解自由软件运动及其领袖人物的传奇故事，从而对GNU、 Linux、OpenSource这些概念蕴生人性化的理解。清华大学王垠的《完全用GNU/Linux工作，摈弃Windows——你我共勉》、兰州大学黄平的《自由，你忘记了吗？》等长篇文章则是国人对开源运动的慷慨陈辞。尽管这些文章常常被指为“偏激”，但没有调查就没有发言权，无论支持还是反对，客观的认识是第一位的。</p>
<p>　　其次，我们应该用平和的心态对待知识与技术，衡准专业学习在生活中的位置。一些同学出于种种原因，成为了“先进技术”的追随者：通晓各类流行的编程语言，一有新版本的工具推出立即安装学习，一有新的技术论战立即关注其走向。还有一些同学成为了某些技术的忠实信徒：看准了Java就对.NET的东西置之不理。这些追随者和信徒们往往为突飞猛进的技术所累，以至于有感于学习的空虚。过分追捧技术可谓舍本逐末，死扣某一知识也显得目光短浅。一方面百变的技术离不开计算机科学的本源，在实践过程中深入理解基础知识是关键；另一方面任何技术都有统领其实现细节的思想精髓，观其形不如知其神。我们不妨甩开冗繁的技术，换个角度静下心来读几部计算机文化与哲学作品：</p>
<p>　　程序人生方面：《编程之道》（《The Tao of Programming》，双语版，电子工业出版社）一书出自一位对东方道家与禅宗思想有着独特理解的美国软件工程师之手，全书由一则则短小而富有哲理故事组成，以类似寓言的形式生动地反映了程序员群体的生活以及计算机文明的演进。闲暇时随手翻阅，即使不能立刻体会到每个故事的真谛，但随着自身阅历的增长，相信你会领悟程序人生的“道法自然”。</p>
<p>　　设计理念方面：开源软件界的“斗士”级元老Eric Raymond所著的《Unix编程艺术》（《The Art of Unix Programming》，中文版，电子工业出版社）一书，以Unix系统的设计原则为主线，展示了Unix所开启的“KISS”（Keep It Simple, Stupid!）编程文化与思维方式。对于很多干啃千篇一律的课本、禁锢于Windows开发的计算机专业学生来说，这本书一定能够使你眼界大开——“结构化”并非真理，“面向对象”也不是王道；而对于有一定Unix/Linux使用或开发经验的同学，这本书也一定会使你豁然明朗——原来一个程序的设计竟可以如此精巧！</p>
<p>　　管理哲学方面：对于有志于软件工程，想涉足项目管理的同学，《人月神话》（《The Mythical Man-Month》，中文版，清华大学出版社）这本书就有必要读一读了。它拿真实案例说事，仿佛一部实例化的软件工程课本。如果你在团队开发的道路上陷入了困境，不如参考一下前辈们是如何处理“人”与“月”二者之矛盾的吧。事实上不仅是软件工程，任何事业的成功，往往技术不是关键，社会科学的因素才是埋头技术的朋友们更应当关注的。</p>
<p>　　归根结底，计算机的哲学依旧是人的哲学。抛开理念之争议，超越技术的形式，以人为本地认识我们的行业与自身的地位，或许会使将来的发展道路走得更舒心一些。</p>
<hr />原文链接：<a href="http://blog.linjian.org/articles/read-our-major-4/">http://blog.linjian.org/articles/read-our-major-4/</a>，作者：<a href="http://blog.linjian.org/">林健</a>。
<br />本作品采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/">知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议</a>进行许可。
<br />(Digital fingerprint: 
 993d4981d6d552510db9a08493b2dbec)<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li><a href="http://blog.linjian.org/articles/read-our-major-3/" title="阅读我们的学科——计算机专业学习浅谈：三、运筹帷幄，掌握编程的思想">阅读我们的学科——计算机专业学习浅谈：三、运筹帷幄，掌握编程的思想</a></li><li><a href="http://blog.linjian.org/articles/read-our-major-2/" title="阅读我们的学科——计算机专业学习浅谈：二、把握全局，学习计算机导论">阅读我们的学科——计算机专业学习浅谈：二、把握全局，学习计算机导论</a></li><li><a href="http://blog.linjian.org/articles/read-our-major-1/" title="阅读我们的学科——计算机专业学习浅谈：一、广泛了解，从科普书籍开始">阅读我们的学科——计算机专业学习浅谈：一、广泛了解，从科普书籍开始</a></li><li><a href="http://blog.linjian.org/articles/to-try-our-best-to/" title="尽己所能">尽己所能</a></li><li><a href="http://blog.linjian.org/articles/meta-thinking/" title="入侵暗时间的元思维">入侵暗时间的元思维</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.linjian.org/articles/read-our-major-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>阅读我们的学科——计算机专业学习浅谈：三、运筹帷幄，掌握编程的思想</title>
		<link>http://blog.linjian.org/articles/read-our-major-3/</link>
		<comments>http://blog.linjian.org/articles/read-our-major-3/#comments</comments>
		<pubDate>Wed, 06 Dec 2006 04:45:32 +0000</pubDate>
		<dc:creator>Jian Lin</dc:creator>
				<category><![CDATA[学习随感]]></category>
		<category><![CDATA[学习]]></category>
		<category><![CDATA[编程]]></category>
		<category><![CDATA[计算机]]></category>

		<guid isPermaLink="false">http://10.61.0.60/wordpress/?p=31</guid>
		<description><![CDATA[阅读我们的学科——计算机专业学习浅谈 （北理计算机学院新闻社《九歌》专栏文章） 三、运筹帷幄，掌握编程的思想 　　程序设计与开发是计算机学习的一个关键环节，编程能力是衡量一名计算机专业人员素质的重要考核点。这是因为程序是连接理论与实践的纽带，是计算机科学与计算机技术相交融的领域。作为一名计算机专业学生，我们一方面有别于其它专业将计算机作为工具的应用型人才，不能仅仅利用计算机，而要为他人利用计算机提供平台；另一方面我们暂时达不到计算机科学家的水平，不能做出理论研究成果，但能为理论学习铺垫实践基础。因此，只有具备足够的程序设计与开发能力，才能真正体现我们的智慧，同时充分发挥计算机的潜力。 　　学习编程，首先应掌握至少一门程序设计语言。C语言作为一种语法清晰、功能强大、应用广泛的高级语言，长期以来被国内大多数高校的定为程序设计必修课。全面理解和掌握C语言的脉络的重要意义这里毋庸多言。市面上C语言的教程多如牛毛，但最经典的当数C语言的设计者Kernighan与Ritchie 合著的权威白皮书——《C程序设计语言（第2版）》（《The C Programming Language》，中文版，机械工业出版社）。书虽不厚，但绝对全面而准确。其语言简洁，例证通俗，实用性强。相比之下国内的一些C语言教材在学习曲线可能比前者平滑，但它们往往以考试为导向，过多地纠缠语法死角，同时大都未遵从ANSI标准。对于计算机专业学生来说，前者能够让我们看到更加严谨与实务的态度。当你的语言功底达到一定程度后，就需要从一个更高的视角来探察语言的本质，不妨看看这本：《计算机程序的构造和解释（第2版）》（《Structure and Interpretation of Computer Programs》，中文版，机械工业出版社）。它阐述了编程语言本身的机制与实现，同时引入了一门对于大多数中国学生来说不甚了解的语言——LISP。 LISP是很多美国高校计算机专业的入门语言，也是一种结构上与C、Pascal、Java、Basic等完全不同的非冯·诺依曼语言。研读SICP，体味LISP，给你耳目一新的感觉之后更多地可以加深对编程思想本质的理解。 　　大学的各类程序设计与开发课程旨在培养我们两方面的能力——算法设计能力与应用开发能力。前者偏重计算机科学，后者偏重计算机技术。算法是用计算机思维解决现实问题的理论，具有较强的数学性。算法学的旷世巨著应数Knuth的《计算机程序设计艺术》（《The Art of Computer Programming》，中文版，清华、机工、国防等出版社皆有授权），不过要彻底读懂这个大部头需要相当的数学理论基础与编程实践经验积累。对于初学者，建议首先培养使用常规算法解决小规模问题的能力，并行地提高驾驭语言的水平与抽象问题的思维。针对这个目的，结合程序设计实践一类的课程，可以读读这几本书：《编程珠玑（第2版）》（《Programming Pearls》，中文版，中国电力出版社）、《程序设计实践》（《The Practice of Programming》，中文版，机械工业出版社）、《代码阅读方法与实践》（《Code Reading: The Open Source Perspective》，中文版，清华大学出版社）、《C专家编程》（《Expert C Programming》，中文版，人民邮电出版社）。它们的侧重点各有不同，但对于通过实践来学习算法与数据结构都是很有益处的。 　　应用开发方面，实践是第一要务，然而高效的实践是建立在科学的程序设计方法之上的。以C语言为代表的结构化程序设计方法是规范的程序逻辑的基础，目前主要使用在系统级开发中，前面所提到的诸多书籍都或多或少有所涉及。而以Java、C++为代表的面向对象程序设计方法广泛应用于实用项目开发，这方面的经典之作中，推荐阅读Bruce Eckel的《Java编程思想（第3版）》（《Thinking in Java》，中文版，机械工业出版社）与《C++编程思想（第2版）》（《Thinking in C++》，中文版，机械工业出版社）。此外软件架构设计、编码规范与风格、代码除错与质量管理以及软件工程的各类原则在实际项目开发中都是及其重要的，在具备了一定的编程经验、准备投入一些实际项目开发的时候务必要了解。建议阅读《代码大全（第2版）》（《Code Complete》，中文版，电子工业出版社）这本大而全的软件构建综合性宝典，它在从总体上指导软件开发的各个环节的同时也引入了一些细节问题（诸如 goto的使用）的讨论，引导我们对一些司空见惯的程序设计理念不但要知其然，而且要知所以然。 　　有一位热衷于游戏的同学告诉我，游戏给予他满足控制欲的空间。但是请放眼看看，游戏的控制范围不外乎一个特定进程中他人预先设定好的一系列数据，并以有限的图像与声音形式体现出来。然而如果你掌握了编程这一强大的武器，就能够面对眼前的计算机游刃有余，在硬件条件允许的情况下尽你所能将控制欲升华为创造力，方便自己的同时造福他人。运筹帷幄，掌握编程的思想，无论走向科学研究或是应用开发，这都将为你奠定坚实的基础！ 原文链接：http://blog.linjian.org/articles/read-our-major-3/，作者：林健。 本作品采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。 (Digital fingerprint: 993d4981d6d552510db9a08493b2dbec)相关文章尽己所能复习C++，看了点书GNU bash实现机制与源代码简析阅读我们的学科——计算机专业学习浅谈：四、理性思辨，体味计算机哲学阅读我们的学科——计算机专业学习浅谈：二、把握全局，学习计算机导论]]></description>
			<content:encoded><![CDATA[<p><strong>阅读我们的学科——计算机专业学习浅谈<br />
（北理计算机学院新闻社《九歌》专栏文章）</strong></p>
<p>三、运筹帷幄，掌握编程的思想</p>
<p>　　程序设计与开发是计算机学习的一个关键环节，编程能力是衡量一名计算机专业人员素质的重要考核点。这是因为程序是连接理论与实践的纽带，是计算机科学与计算机技术相交融的领域。作为一名计算机专业学生，我们一方面有别于其它专业将计算机作为工具的应用型人才，不能仅仅利用计算机，而要为他人利用计算机提供平台；另一方面我们暂时达不到计算机科学家的水平，不能做出理论研究成果，但能为理论学习铺垫实践基础。因此，只有具备足够的程序设计与开发能力，才能真正体现我们的智慧，同时充分发挥计算机的潜力。</p>
<p>　　学习编程，首先应掌握至少一门程序设计语言。C语言作为一种语法清晰、功能强大、应用广泛的高级语言，长期以来被国内大多数高校的定为程序设计必修课。全面理解和掌握C语言的脉络的重要意义这里毋庸多言。市面上C语言的教程多如牛毛，但最经典的当数C语言的设计者Kernighan与Ritchie 合著的权威白皮书——《C程序设计语言（第2版）》（《The C Programming Language》，中文版，机械工业出版社）。书虽不厚，但绝对全面而准确。其语言简洁，例证通俗，实用性强。相比之下国内的一些C语言教材在学习曲线可能比前者平滑，但它们往往以考试为导向，过多地纠缠语法死角，同时大都未遵从ANSI标准。对于计算机专业学生来说，前者能够让我们看到更加严谨与实务的态度。当你的语言功底达到一定程度后，就需要从一个更高的视角来探察语言的本质，不妨看看这本：《计算机程序的构造和解释（第2版）》（《Structure and Interpretation of Computer Programs》，中文版，机械工业出版社）。它阐述了编程语言本身的机制与实现，同时引入了一门对于大多数中国学生来说不甚了解的语言——LISP。 LISP是很多美国高校计算机专业的入门语言，也是一种结构上与C、Pascal、Java、Basic等完全不同的非冯·诺依曼语言。研读SICP，体味LISP，给你耳目一新的感觉之后更多地可以加深对编程思想本质的理解。</p>
<p>　　大学的各类程序设计与开发课程旨在培养我们两方面的能力——算法设计能力与应用开发能力。前者偏重计算机科学，后者偏重计算机技术。算法是用计算机思维解决现实问题的理论，具有较强的数学性。算法学的旷世巨著应数Knuth的《计算机程序设计艺术》（《The Art of Computer Programming》，中文版，清华、机工、国防等出版社皆有授权），不过要彻底读懂这个大部头需要相当的数学理论基础与编程实践经验积累。对于初学者，建议首先培养使用常规算法解决小规模问题的能力，并行地提高驾驭语言的水平与抽象问题的思维。针对这个目的，结合程序设计实践一类的课程，可以读读这几本书：《编程珠玑（第2版）》（《Programming Pearls》，中文版，中国电力出版社）、《程序设计实践》（《The Practice of Programming》，中文版，机械工业出版社）、《代码阅读方法与实践》（《Code Reading: The Open Source Perspective》，中文版，清华大学出版社）、《C专家编程》（《Expert C Programming》，中文版，人民邮电出版社）。它们的侧重点各有不同，但对于通过实践来学习算法与数据结构都是很有益处的。</p>
<p>　　应用开发方面，实践是第一要务，然而高效的实践是建立在科学的程序设计方法之上的。以C语言为代表的结构化程序设计方法是规范的程序逻辑的基础，目前主要使用在系统级开发中，前面所提到的诸多书籍都或多或少有所涉及。而以Java、C++为代表的面向对象程序设计方法广泛应用于实用项目开发，这方面的经典之作中，推荐阅读Bruce Eckel的《Java编程思想（第3版）》（《Thinking in Java》，中文版，机械工业出版社）与《C++编程思想（第2版）》（《Thinking in C++》，中文版，机械工业出版社）。此外软件架构设计、编码规范与风格、代码除错与质量管理以及软件工程的各类原则在实际项目开发中都是及其重要的，在具备了一定的编程经验、准备投入一些实际项目开发的时候务必要了解。建议阅读《代码大全（第2版）》（《Code Complete》，中文版，电子工业出版社）这本大而全的软件构建综合性宝典，它在从总体上指导软件开发的各个环节的同时也引入了一些细节问题（诸如 goto的使用）的讨论，引导我们对一些司空见惯的程序设计理念不但要知其然，而且要知所以然。</p>
<p>　　有一位热衷于游戏的同学告诉我，游戏给予他满足控制欲的空间。但是请放眼看看，游戏的控制范围不外乎一个特定进程中他人预先设定好的一系列数据，并以有限的图像与声音形式体现出来。然而如果你掌握了编程这一强大的武器，就能够面对眼前的计算机游刃有余，在硬件条件允许的情况下尽你所能将控制欲升华为创造力，方便自己的同时造福他人。运筹帷幄，掌握编程的思想，无论走向科学研究或是应用开发，这都将为你奠定坚实的基础！</p>
<hr />原文链接：<a href="http://blog.linjian.org/articles/read-our-major-3/">http://blog.linjian.org/articles/read-our-major-3/</a>，作者：<a href="http://blog.linjian.org/">林健</a>。
<br />本作品采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/">知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议</a>进行许可。
<br />(Digital fingerprint: 
 993d4981d6d552510db9a08493b2dbec)<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li><a href="http://blog.linjian.org/articles/to-try-our-best-to/" title="尽己所能">尽己所能</a></li><li><a href="http://blog.linjian.org/articles/cpp-review-books/" title="复习C++，看了点书">复习C++，看了点书</a></li><li><a href="http://blog.linjian.org/articles/gnu-bash-analysis/" title="GNU bash实现机制与源代码简析">GNU bash实现机制与源代码简析</a></li><li><a href="http://blog.linjian.org/articles/read-our-major-4/" title="阅读我们的学科——计算机专业学习浅谈：四、理性思辨，体味计算机哲学">阅读我们的学科——计算机专业学习浅谈：四、理性思辨，体味计算机哲学</a></li><li><a href="http://blog.linjian.org/articles/read-our-major-2/" title="阅读我们的学科——计算机专业学习浅谈：二、把握全局，学习计算机导论">阅读我们的学科——计算机专业学习浅谈：二、把握全局，学习计算机导论</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.linjian.org/articles/read-our-major-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>阅读我们的学科——计算机专业学习浅谈：二、把握全局，学习计算机导论</title>
		<link>http://blog.linjian.org/articles/read-our-major-2/</link>
		<comments>http://blog.linjian.org/articles/read-our-major-2/#comments</comments>
		<pubDate>Tue, 21 Nov 2006 00:20:31 +0000</pubDate>
		<dc:creator>Jian Lin</dc:creator>
				<category><![CDATA[学习随感]]></category>
		<category><![CDATA[学习]]></category>
		<category><![CDATA[导论]]></category>
		<category><![CDATA[计算机]]></category>

		<guid isPermaLink="false">http://10.61.0.60/wordpress/?p=30</guid>
		<description><![CDATA[阅读我们的学科——计算机专业学习浅谈 （北理计算机学院新闻社《九歌》专栏文章） 二、把握全局，学习计算机导论 　　当你对计算机学科涉及的领域有所了解后，就应该着手展开专业学习了。初读本专业的教学计划与课程设置，你或许会被诸如离散数学、编译原理、接口技术等生疏的课程名称弄得一头雾水。这些课程都是研究什么的？它们各自与我们面前的计算机有哪方面的联系？要回答这类问题，首先需要把握全局，从整体上认识计算机科学。 　　国内高等院校一般都为大一学生开设计算机基础课程。这类课程的受众面广，主要涉及计算机基础应用知识。各种版本的计算机基础教程几乎都以计算机科学导论作为开篇。对于把计算机作为应用工具的其他专业的学生而言，导论只算是“内容概要”，他们往往更注重后面的应用型知识；而对于把计算机作为研究对象的我们，则决不能忽略这类指导性的内容。专门地、有意识地学好计算机科学导论，能够使你对计算机科学有一个大局观，清楚地认识到每一个分支学科的研究领域与重要意义，从而在今后的具体学习中明确方向，加深理解。 　　依我个人的学习经验，建议初学者阅读一些国外优秀计算机基础与导论教材。与国内大多数讲解软硬件具体使用的同类教材相比，国外教材更偏重以应用为切入点，深入浅出地阐述计算机科学原理。诸如《计算机文化（第8版）》（《New Perspectives on Computer Concepts》，中文版，机械工业出版社）、《计算机科学导论》（《Foundations of Computer Science: From Data Manipulation to Theory of Computation》，中文版，机械工业出版社）：前者适合于各种信息类专业的学生或计算机爱好者阅读。该书图文并茂，语言生动，从应用角度出发，广泛涉及计算机软件、硬件、网络的基本原理，同时概述了计算机学科的历史背景与行业现状。随书的光盘中给出了不少影音材料，在学习的同时还可以提高计算机专业英语听说能力。后者在风格上与前者类似，但内容更适合计算机专业学生阅读，被美国不少高校定为计算机专业学生的入门课。它以实例作为出发点，系统地讲解了计算机组成、计算机网络、操作系统、数据结构、算法设计等分支学科的研究领域、基本原理和应用方向，而几乎不涉及晦涩的数学模型与实现细节。阅读此类书籍，可以在潜移默化中理清初学者对于计算机科学学习的思路。 　　计算机科学是一个有机联系的整体，每个分支都或多或少地与其它分支存在依赖关系。如果死板地依照教学计划线性地进行学习，往往会遇到知识理解上的问题。例如算法分析课程与程序设计课程分属理论与实践；组成原理课程与体系结构课程是对计算机系统不同层面的剖析。我们不能简单地找出它们的先修、后修关系，这样难以建立完整的知识体系。因此在把握大局之后，我们仍有必要简单了解一下每个分支学科的基础知识。在这方面，推荐大家阅读《编程卓越之道（第一卷）：深入理解计算机》（《WRITE GREAT CODE: Volume 1:Understanding the Machine》，中文版，电子工业出版社）这本书。分开来看每一章节，其内容编排结构与国内高校计算机课程体制相近，涵盖了逻辑代数、数字电路、机器指令、体系结构、存储器管理等方面的基础知识和实现方法，特别是阐明了各个分支学科之间的本质联系。有了这些基础之后，在遇到更高阶的问题时，你至少会明白这个问题应该在哪个分支学科中寻找答案了。 　　当你有了一定的计算机理论基础，尤其是程序设计基础后，想更加深入地把握计算机科学的脉络，不妨看看这本书：《深入理解计算机系统（修订版）》（《Computer Systems A Programmer's Perspective》，中文版，中国电力出版社）。它与《编程卓越之道》系列的共同特点是从程序员的视角观察计算机系统。而这本书作为国外数十所高校的计算机系统导论教材，其组织更加严密，风格更加严谨。它以“程序在计算机中如何执行”为主线，全面阐述计算机系统内部实现的诸多细节。当你在学习数据结构、组成原理和体系结构等课程和时候，翻阅一下此书的相应章节，同时编程实现其中的例子，一定会对课本上单纯的文字型理论有更加感性的认识——原来它们是这样活生生地存在于我的计算机里的！ 　　正所谓“会当凌绝顶，一览众山小”，从计算机科学全局的高度整体把握其分支学科，在头脑中率先构建计算机科学的整体框架并为其夯实最基层的结构，就能够为你在未来每一步的学习中扫清迷雾，指明方向。 原文链接：http://blog.linjian.org/articles/read-our-major-2/，作者：林健。 本作品采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。 (Digital fingerprint: 993d4981d6d552510db9a08493b2dbec)相关文章阅读我们的学科——计算机专业学习浅谈：四、理性思辨，体味计算机哲学阅读我们的学科——计算机专业学习浅谈：三、运筹帷幄，掌握编程的思想阅读我们的学科——计算机专业学习浅谈：一、广泛了解，从科普书籍开始尽己所能入侵暗时间的元思维]]></description>
			<content:encoded><![CDATA[<p><strong>阅读我们的学科——计算机专业学习浅谈<br />
（北理计算机学院新闻社《九歌》专栏文章）</strong></p>
<p>二、把握全局，学习计算机导论</p>
<p>　　当你对计算机学科涉及的领域有所了解后，就应该着手展开专业学习了。初读本专业的教学计划与课程设置，你或许会被诸如离散数学、编译原理、接口技术等生疏的课程名称弄得一头雾水。这些课程都是研究什么的？它们各自与我们面前的计算机有哪方面的联系？要回答这类问题，首先需要把握全局，从整体上认识计算机科学。</p>
<p>　　国内高等院校一般都为大一学生开设计算机基础课程。这类课程的受众面广，主要涉及计算机基础应用知识。各种版本的计算机基础教程几乎都以计算机科学导论作为开篇。对于把计算机作为应用工具的其他专业的学生而言，导论只算是“内容概要”，他们往往更注重后面的应用型知识；而对于把计算机作为研究对象的我们，则决不能忽略这类指导性的内容。专门地、有意识地学好计算机科学导论，能够使你对计算机科学有一个大局观，清楚地认识到每一个分支学科的研究领域与重要意义，从而在今后的具体学习中明确方向，加深理解。</p>
<p>　　依我个人的学习经验，建议初学者阅读一些国外优秀计算机基础与导论教材。与国内大多数讲解软硬件具体使用的同类教材相比，国外教材更偏重以应用为切入点，深入浅出地阐述计算机科学原理。诸如《计算机文化（第8版）》（《New Perspectives on Computer Concepts》，中文版，机械工业出版社）、《计算机科学导论》（《Foundations of Computer Science: From Data Manipulation to Theory of Computation》，中文版，机械工业出版社）：前者适合于各种信息类专业的学生或计算机爱好者阅读。该书图文并茂，语言生动，从应用角度出发，广泛涉及计算机软件、硬件、网络的基本原理，同时概述了计算机学科的历史背景与行业现状。随书的光盘中给出了不少影音材料，在学习的同时还可以提高计算机专业英语听说能力。后者在风格上与前者类似，但内容更适合计算机专业学生阅读，被美国不少高校定为计算机专业学生的入门课。它以实例作为出发点，系统地讲解了计算机组成、计算机网络、操作系统、数据结构、算法设计等分支学科的研究领域、基本原理和应用方向，而几乎不涉及晦涩的数学模型与实现细节。阅读此类书籍，可以在潜移默化中理清初学者对于计算机科学学习的思路。</p>
<p>　　计算机科学是一个有机联系的整体，每个分支都或多或少地与其它分支存在依赖关系。如果死板地依照教学计划线性地进行学习，往往会遇到知识理解上的问题。例如算法分析课程与程序设计课程分属理论与实践；组成原理课程与体系结构课程是对计算机系统不同层面的剖析。我们不能简单地找出它们的先修、后修关系，这样难以建立完整的知识体系。因此在把握大局之后，我们仍有必要简单了解一下每个分支学科的基础知识。在这方面，推荐大家阅读《编程卓越之道（第一卷）：深入理解计算机》（《WRITE GREAT CODE: Volume 1:Understanding the Machine》，中文版，电子工业出版社）这本书。分开来看每一章节，其内容编排结构与国内高校计算机课程体制相近，涵盖了逻辑代数、数字电路、机器指令、体系结构、存储器管理等方面的基础知识和实现方法，特别是阐明了各个分支学科之间的本质联系。有了这些基础之后，在遇到更高阶的问题时，你至少会明白这个问题应该在哪个分支学科中寻找答案了。</p>
<p>　　当你有了一定的计算机理论基础，尤其是程序设计基础后，想更加深入地把握计算机科学的脉络，不妨看看这本书：《深入理解计算机系统（修订版）》（《Computer Systems A Programmer's Perspective》，中文版，中国电力出版社）。它与《编程卓越之道》系列的共同特点是从程序员的视角观察计算机系统。而这本书作为国外数十所高校的计算机系统导论教材，其组织更加严密，风格更加严谨。它以“程序在计算机中如何执行”为主线，全面阐述计算机系统内部实现的诸多细节。当你在学习数据结构、组成原理和体系结构等课程和时候，翻阅一下此书的相应章节，同时编程实现其中的例子，一定会对课本上单纯的文字型理论有更加感性的认识——原来它们是这样活生生地存在于我的计算机里的！</p>
<p>　　正所谓“会当凌绝顶，一览众山小”，从计算机科学全局的高度整体把握其分支学科，在头脑中率先构建计算机科学的整体框架并为其夯实最基层的结构，就能够为你在未来每一步的学习中扫清迷雾，指明方向。</p>
<hr />原文链接：<a href="http://blog.linjian.org/articles/read-our-major-2/">http://blog.linjian.org/articles/read-our-major-2/</a>，作者：<a href="http://blog.linjian.org/">林健</a>。
<br />本作品采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/">知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议</a>进行许可。
<br />(Digital fingerprint: 
 993d4981d6d552510db9a08493b2dbec)<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li><a href="http://blog.linjian.org/articles/read-our-major-4/" title="阅读我们的学科——计算机专业学习浅谈：四、理性思辨，体味计算机哲学">阅读我们的学科——计算机专业学习浅谈：四、理性思辨，体味计算机哲学</a></li><li><a href="http://blog.linjian.org/articles/read-our-major-3/" title="阅读我们的学科——计算机专业学习浅谈：三、运筹帷幄，掌握编程的思想">阅读我们的学科——计算机专业学习浅谈：三、运筹帷幄，掌握编程的思想</a></li><li><a href="http://blog.linjian.org/articles/read-our-major-1/" title="阅读我们的学科——计算机专业学习浅谈：一、广泛了解，从科普书籍开始">阅读我们的学科——计算机专业学习浅谈：一、广泛了解，从科普书籍开始</a></li><li><a href="http://blog.linjian.org/articles/to-try-our-best-to/" title="尽己所能">尽己所能</a></li><li><a href="http://blog.linjian.org/articles/meta-thinking/" title="入侵暗时间的元思维">入侵暗时间的元思维</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.linjian.org/articles/read-our-major-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>阅读我们的学科——计算机专业学习浅谈：一、广泛了解，从科普书籍开始</title>
		<link>http://blog.linjian.org/articles/read-our-major-1/</link>
		<comments>http://blog.linjian.org/articles/read-our-major-1/#comments</comments>
		<pubDate>Fri, 03 Nov 2006 16:00:57 +0000</pubDate>
		<dc:creator>Jian Lin</dc:creator>
				<category><![CDATA[学习随感]]></category>
		<category><![CDATA[学习]]></category>
		<category><![CDATA[科普]]></category>
		<category><![CDATA[计算机]]></category>

		<guid isPermaLink="false">http://10.61.0.60/wordpress/?p=29</guid>
		<description><![CDATA[阅读我们的学科——计算机专业学习浅谈 （北理计算机学院新闻社《九歌》专栏文章） 一、广泛了解，从科普书籍开始 　　选择计算机专业的同学，也许是因为原先有一定的基础，也许是因为一时的激情，但更多的人，可能对自己的选择没有深刻的认识，或多或少对计算机专业有一些神秘的感觉。自己究竟是否喜欢这个学科？才华能够在哪个分支领域有所施展？抑或是真的不适合这个专业？诸多疑问，解决的方法首先便是了解和认识我们的学科。浓厚的兴趣是学好任何学科的源泉；而广泛的了解则是获得兴趣的途径。当今我们对于信息的获取已非难事，其中“阅读”是一个简洁而有效的方法。 　　也许你认为阅读专业书籍对于刚刚步入大学的自己来说有点困难，也很枯燥，那么不妨先从科普书籍看起。科普书籍是了解理论、获得应用知识最好的途径。相信不少理工科的同学被量子物理和相对论搞得头昏脑胀过。究其原因，是我们的现实生活与抽象的数学模型之间存在思想意识上的鸿沟。然而要是读读斯蒂芬·霍金的《时间简史》，你就会被书中有趣的故事和例证所吸引，从而对抽象的理论有了感性的认识——即使仍然没有读懂，你也至少了解了这个学科研究的领域和目标是什么，也必然有所收获。所有理工学科都有这样的性质，计算机专业也不例外。 　　我们知道，计算机理论是建立在数学基础之上的。大学计算机专业对数学的要求较高，其重要性不必多言。数学令不少同学头痛，除了其“繁”与“难”外，很大程度上是因为他们没有理解这些抽象理论的实际应用方向。与本科数学专业的课程设置相比，计算机专业的数学课程大都偏重实用性。比如我们的离散数学课程中涉及到的逻辑代数奠定了计算机一切运算的基础，形式语言构成了计算机程序编译的模型，代数系统则是当前各类数据库系统的理论依据等等。因此，如果能够提前地了解到并简单地学习一下这些数学知识的具体应用，对理解理论是很有益处的。此外，电子学、信号与系统、控制理论等也是计算机专业学生必修的公共课，然而不少同学往往认为它们与计算机专业的关系不大，从而放松了学习。事实上这些学科是计算机硬件与网络通信的基础，学好这方面知识的前提是认识它们的现实应用及其与计算机的密切联系。 　　也许你将来学习图论的时候，对“欧拉路”的概念会很清晰，这是因为你在小时候的图画书上玩过“一笔画”的游戏；然而“二分图”、“生成树”这些概念又是怎么回事呢？你的理解可能就不是那么深刻了——因为你一时难以找到一些生活中的实例，并从中抽取出特性。在这种情况下，翻阅一些涉及这些知识的科普书籍就十分有必要了。我曾读过一套《数学游戏》（《科学美国人》杂志汇编，中文版：科学技术文献出版社），它将图论、逻辑代数、自动机理论等领域的抽象的概念具体化为一个个有趣的故事，引导读者了解这些知识的现实应用，启发读者将抽象思维与感性生活有机结合。我还读过一本《编码的奥秘》（《CODE》，中文版：机械工业出版社），它则将逻辑代数、数字电路、汇编语言等知识以实物和简单电路的形式进行类比，揭示其中的原理，并引导读者动手实践。事实上这类与计算机专业相关的科普书籍还有很多，在学习课本的间隙阅读一下，绝对能起到催化剂的作用。 　　谈到科普书籍，相关的另一个问题便是计算机科学与计算机技术之间的关系。也许不少同学选择计算机专业，是源于对计算机令人眼花缭乱的应用的认识。所谓计算机技术，一般是指包括文字处理、信息管理、多媒体、网站建设等在内的计算机应用技术；而所谓计算机科学，一般指数据结构、组成原理、操作系统、编译原理等计算机内部实现机制。前者是计算机在各行各业提高生产力的体现，属于各类职业教育和专科教育的范畴；而后者是研究是计算机本身的理论，是本科计算机教学的重点。市面上大多数计算机书籍与杂志是计算机应用技术方面的，属“技术普及型”，从受众角度来看与科普书籍有着类似的性质。适当地涉猎一些自己感兴趣的应用技术，对培养学习兴趣、增强实践能力、了解业界行情是很有好处的。不过如果确实想在计算机行业长期做下去，仍然应当将主要精力放在对计算机科学的学习方面。毕竟用科学的理论指导实践是大学教育的意义所在。 　　总之，广泛了解计算机学科基础科普知识，在今后学习具体理论的时候才会少一些盲目，多一些顿悟。 原文链接：http://blog.linjian.org/articles/read-our-major-1/，作者：林健。 本作品采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。 (Digital fingerprint: 993d4981d6d552510db9a08493b2dbec)相关文章阅读我们的学科——计算机专业学习浅谈：四、理性思辨，体味计算机哲学阅读我们的学科——计算机专业学习浅谈：三、运筹帷幄，掌握编程的思想阅读我们的学科——计算机专业学习浅谈：二、把握全局，学习计算机导论《CODE》（《编码的奥秘》）是本不错的书尽己所能]]></description>
			<content:encoded><![CDATA[<p><strong>阅读我们的学科——计算机专业学习浅谈<br />
（北理计算机学院新闻社《九歌》专栏文章）</strong></p>
<p>一、广泛了解，从科普书籍开始</p>
<p>　　选择计算机专业的同学，也许是因为原先有一定的基础，也许是因为一时的激情，但更多的人，可能对自己的选择没有深刻的认识，或多或少对计算机专业有一些神秘的感觉。自己究竟是否喜欢这个学科？才华能够在哪个分支领域有所施展？抑或是真的不适合这个专业？诸多疑问，解决的方法首先便是了解和认识我们的学科。浓厚的兴趣是学好任何学科的源泉；而广泛的了解则是获得兴趣的途径。当今我们对于信息的获取已非难事，其中“阅读”是一个简洁而有效的方法。</p>
<p>　　也许你认为阅读专业书籍对于刚刚步入大学的自己来说有点困难，也很枯燥，那么不妨先从科普书籍看起。科普书籍是了解理论、获得应用知识最好的途径。相信不少理工科的同学被量子物理和相对论搞得头昏脑胀过。究其原因，是我们的现实生活与抽象的数学模型之间存在思想意识上的鸿沟。然而要是读读斯蒂芬·霍金的《时间简史》，你就会被书中有趣的故事和例证所吸引，从而对抽象的理论有了感性的认识——即使仍然没有读懂，你也至少了解了这个学科研究的领域和目标是什么，也必然有所收获。所有理工学科都有这样的性质，计算机专业也不例外。</p>
<p>　　我们知道，计算机理论是建立在数学基础之上的。大学计算机专业对数学的要求较高，其重要性不必多言。数学令不少同学头痛，除了其“繁”与“难”外，很大程度上是因为他们没有理解这些抽象理论的实际应用方向。与本科数学专业的课程设置相比，计算机专业的数学课程大都偏重实用性。比如我们的离散数学课程中涉及到的逻辑代数奠定了计算机一切运算的基础，形式语言构成了计算机程序编译的模型，代数系统则是当前各类数据库系统的理论依据等等。因此，如果能够提前地了解到并简单地学习一下这些数学知识的具体应用，对理解理论是很有益处的。此外，电子学、信号与系统、控制理论等也是计算机专业学生必修的公共课，然而不少同学往往认为它们与计算机专业的关系不大，从而放松了学习。事实上这些学科是计算机硬件与网络通信的基础，学好这方面知识的前提是认识它们的现实应用及其与计算机的密切联系。</p>
<p>　　也许你将来学习图论的时候，对“欧拉路”的概念会很清晰，这是因为你在小时候的图画书上玩过“一笔画”的游戏；然而“二分图”、“生成树”这些概念又是怎么回事呢？你的理解可能就不是那么深刻了——因为你一时难以找到一些生活中的实例，并从中抽取出特性。在这种情况下，翻阅一些涉及这些知识的科普书籍就十分有必要了。我曾读过一套《数学游戏》（《科学美国人》杂志汇编，中文版：科学技术文献出版社），它将图论、逻辑代数、自动机理论等领域的抽象的概念具体化为一个个有趣的故事，引导读者了解这些知识的现实应用，启发读者将抽象思维与感性生活有机结合。我还读过一本《编码的奥秘》（《CODE》，中文版：机械工业出版社），它则将逻辑代数、数字电路、汇编语言等知识以实物和简单电路的形式进行类比，揭示其中的原理，并引导读者动手实践。事实上这类与计算机专业相关的科普书籍还有很多，在学习课本的间隙阅读一下，绝对能起到催化剂的作用。</p>
<p>　　谈到科普书籍，相关的另一个问题便是计算机科学与计算机技术之间的关系。也许不少同学选择计算机专业，是源于对计算机令人眼花缭乱的应用的认识。所谓计算机技术，一般是指包括文字处理、信息管理、多媒体、网站建设等在内的计算机应用技术；而所谓计算机科学，一般指数据结构、组成原理、操作系统、编译原理等计算机内部实现机制。前者是计算机在各行各业提高生产力的体现，属于各类职业教育和专科教育的范畴；而后者是研究是计算机本身的理论，是本科计算机教学的重点。市面上大多数计算机书籍与杂志是计算机应用技术方面的，属“技术普及型”，从受众角度来看与科普书籍有着类似的性质。适当地涉猎一些自己感兴趣的应用技术，对培养学习兴趣、增强实践能力、了解业界行情是很有好处的。不过如果确实想在计算机行业长期做下去，仍然应当将主要精力放在对计算机科学的学习方面。毕竟用科学的理论指导实践是大学教育的意义所在。</p>
<p>　　总之，广泛了解计算机学科基础科普知识，在今后学习具体理论的时候才会少一些盲目，多一些顿悟。</p>
<hr />原文链接：<a href="http://blog.linjian.org/articles/read-our-major-1/">http://blog.linjian.org/articles/read-our-major-1/</a>，作者：<a href="http://blog.linjian.org/">林健</a>。
<br />本作品采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/">知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议</a>进行许可。
<br />(Digital fingerprint: 
 993d4981d6d552510db9a08493b2dbec)<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li><a href="http://blog.linjian.org/articles/read-our-major-4/" title="阅读我们的学科——计算机专业学习浅谈：四、理性思辨，体味计算机哲学">阅读我们的学科——计算机专业学习浅谈：四、理性思辨，体味计算机哲学</a></li><li><a href="http://blog.linjian.org/articles/read-our-major-3/" title="阅读我们的学科——计算机专业学习浅谈：三、运筹帷幄，掌握编程的思想">阅读我们的学科——计算机专业学习浅谈：三、运筹帷幄，掌握编程的思想</a></li><li><a href="http://blog.linjian.org/articles/read-our-major-2/" title="阅读我们的学科——计算机专业学习浅谈：二、把握全局，学习计算机导论">阅读我们的学科——计算机专业学习浅谈：二、把握全局，学习计算机导论</a></li><li><a href="http://blog.linjian.org/articles/code-a-good-book/" title="《CODE》（《编码的奥秘》）是本不错的书">《CODE》（《编码的奥秘》）是本不错的书</a></li><li><a href="http://blog.linjian.org/articles/to-try-our-best-to/" title="尽己所能">尽己所能</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.linjian.org/articles/read-our-major-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>《CODE》（《编码的奥秘》）是本不错的书</title>
		<link>http://blog.linjian.org/articles/code-a-good-book/</link>
		<comments>http://blog.linjian.org/articles/code-a-good-book/#comments</comments>
		<pubDate>Thu, 22 Dec 2005 02:13:26 +0000</pubDate>
		<dc:creator>Jian Lin</dc:creator>
				<category><![CDATA[学习随感]]></category>
		<category><![CDATA[书评]]></category>
		<category><![CDATA[科普]]></category>
		<category><![CDATA[编码]]></category>
		<category><![CDATA[计算机]]></category>

		<guid isPermaLink="false">http://10.61.0.60/wordpress/?p=27</guid>
		<description><![CDATA[　　今天在图书馆偶然发现了这本《CODE》（机械工业出版社，中文版译名《编码的奥秘》）。一眼瞅到它仅仅是因为书名与我的班主任的一本新书——《编程的奥秘》相似罢了。拿下来翻了翻，被它有趣的插图吸引，于是顺手借来，花半天时间粗读了一遍，发现它真是本不错的书。 　　书的作者Charles Petzold是著名的《Programming Windows》的作者。全书风趣幽默，生动活泼，充满生活中的实例和直观的插图。虽以“编码”为题，却是以“编码”为主线，深入浅出地讲解了逻辑代数、离散数学、数字电路、微机原理、汇编语言、编译原理和操作系统等计算机原理方面的基础知识。与计算机专业课本相比，没有艰涩的定义和描述，充分地把抽象的内容形象化了。它可以被定位为大众化的计算机科普书籍，然而与一般的国内计算机科普读物相比，它的信息量、专业程度绝对是高一个层次的。因此很适合对计算机有一定应用基础，有兴趣了解一点计算机机理的朋友。同时也可作为学习数字电路、微机原理等课程的启发性引论。 　　对于计算机专业学生，我觉得此书同样非常值得一看。就个人体会，举一二例：在看到二进制的加减实现那块，虽然自己原先清楚那些概念和方法，但是基于死板的公式和法则的，没有一个直观的体会。而在《CODE》中，分别釆用实物、简单电路、十进制数进行类比，逐步揭示了补码、加法器等机理，可谓温故而知新。阅读书中对汇编语言在各个章节循序渐进的引入，才发现原来汇编那些“古怪”的逻辑竟是如此的自然。而书中对数字电路的阐述完全是基于计算机实际应用的，从逻辑电路到触发器、存储器，直至微处理芯片，每一步在讲解电路原理的同时都辅以如何达到应用目的，让人不会觉得空洞和抽象。 　　此书比较注重内容的历史连贯性，各个章节都提及了相关技术的发展史，让我们认识到数字技术与计算机的发明及应用是一个逐级推进的历史过程。同时一些趣闻轶事也使我们开怀一笑。另一个特点是书中的不少东西是可以亲自实践的（通过实物或软件仿真），比如一些简单数字电路的实现。这很可能激发一些朋友自己造一块CPU的冲动。 　　高手高就高在把深奥的理论知识平民化了。总之，我觉得如果你是计算机专业学生，读了《CODE》，也许会发现原来还有一些简单的道理自己并不清楚，有茅塞顿开之感。而对不了解计算机的人来说，你将会豁然开朗——原来计算机并不神秘！ 原文链接：http://blog.linjian.org/articles/code-a-good-book/，作者：林健。 本作品采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。 (Digital fingerprint: 993d4981d6d552510db9a08493b2dbec)相关文章阅读我们的学科——计算机专业学习浅谈：一、广泛了解，从科普书籍开始带有特殊符号的 SCIM 五笔码表探访唐家岭，反思“蚁族”化学出身的计算机达人心中有×，所见万物皆是×]]></description>
			<content:encoded><![CDATA[<p>　　今天在图书馆偶然发现了这本《CODE》（机械工业出版社，中文版译名《编码的奥秘》）。一眼瞅到它仅仅是因为书名与我的班主任的一本新书——《编程的奥秘》相似罢了。拿下来翻了翻，被它有趣的插图吸引，于是顺手借来，花半天时间粗读了一遍，发现它真是本不错的书。</p>
<p>　　书的作者Charles Petzold是著名的《Programming Windows》的作者。全书风趣幽默，生动活泼，充满生活中的实例和直观的插图。虽以“编码”为题，却是以“编码”为主线，深入浅出地讲解了逻辑代数、离散数学、数字电路、微机原理、汇编语言、编译原理和操作系统等计算机原理方面的基础知识。与计算机专业课本相比，没有艰涩的定义和描述，充分地把抽象的内容形象化了。它可以被定位为大众化的计算机科普书籍，然而与一般的国内计算机科普读物相比，它的信息量、专业程度绝对是高一个层次的。因此很适合对计算机有一定应用基础，有兴趣了解一点计算机机理的朋友。同时也可作为学习数字电路、微机原理等课程的启发性引论。</p>
<p>　　对于计算机专业学生，我觉得此书同样非常值得一看。就个人体会，举一二例：在看到二进制的加减实现那块，虽然自己原先清楚那些概念和方法，但是基于死板的公式和法则的，没有一个直观的体会。而在《CODE》中，分别釆用实物、简单电路、十进制数进行类比，逐步揭示了补码、加法器等机理，可谓温故而知新。阅读书中对汇编语言在各个章节循序渐进的引入，才发现原来汇编那些“古怪”的逻辑竟是如此的自然。而书中对数字电路的阐述完全是基于计算机实际应用的，从逻辑电路到触发器、存储器，直至微处理芯片，每一步在讲解电路原理的同时都辅以如何达到应用目的，让人不会觉得空洞和抽象。</p>
<p>　　此书比较注重内容的历史连贯性，各个章节都提及了相关技术的发展史，让我们认识到数字技术与计算机的发明及应用是一个逐级推进的历史过程。同时一些趣闻轶事也使我们开怀一笑。另一个特点是书中的不少东西是可以亲自实践的（通过实物或软件仿真），比如一些简单数字电路的实现。这很可能激发一些朋友自己造一块CPU的冲动。</p>
<p>　　高手高就高在把深奥的理论知识平民化了。总之，我觉得如果你是计算机专业学生，读了《CODE》，也许会发现原来还有一些简单的道理自己并不清楚，有茅塞顿开之感。而对不了解计算机的人来说，你将会豁然开朗——原来计算机并不神秘！</p>
<hr />原文链接：<a href="http://blog.linjian.org/articles/code-a-good-book/">http://blog.linjian.org/articles/code-a-good-book/</a>，作者：<a href="http://blog.linjian.org/">林健</a>。
<br />本作品采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/">知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议</a>进行许可。
<br />(Digital fingerprint: 
 993d4981d6d552510db9a08493b2dbec)<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li><a href="http://blog.linjian.org/articles/read-our-major-1/" title="阅读我们的学科——计算机专业学习浅谈：一、广泛了解，从科普书籍开始">阅读我们的学科——计算机专业学习浅谈：一、广泛了解，从科普书籍开始</a></li><li><a href="http://blog.linjian.org/articles/scim-wubi-quwei/" title="带有特殊符号的 SCIM 五笔码表">带有特殊符号的 SCIM 五笔码表</a></li><li><a href="http://blog.linjian.org/articles/tangjialing-ants/" title="探访唐家岭，反思“蚁族”">探访唐家岭，反思“蚁族”</a></li><li><a href="http://blog.linjian.org/articles/chemistry-computer/" title="化学出身的计算机达人">化学出身的计算机达人</a></li><li><a href="http://blog.linjian.org/articles/think-what-see-what/" title="心中有×，所见万物皆是×">心中有×，所见万物皆是×</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.linjian.org/articles/code-a-good-book/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>尽己所能</title>
		<link>http://blog.linjian.org/articles/to-try-our-best-to/</link>
		<comments>http://blog.linjian.org/articles/to-try-our-best-to/#comments</comments>
		<pubDate>Thu, 15 Sep 2005 13:11:48 +0000</pubDate>
		<dc:creator>Jian Lin</dc:creator>
				<category><![CDATA[学习随感]]></category>
		<category><![CDATA[团队]]></category>
		<category><![CDATA[学习]]></category>
		<category><![CDATA[编程]]></category>
		<category><![CDATA[计算机]]></category>

		<guid isPermaLink="false">http://10.61.0.60/wordpress/?p=26</guid>
		<description><![CDATA[尽己所能 ──凭想像写一点不成熟的想法给同年级有志计算机方向的同学 　　开学这就大二了…… 　　我和老师、同学谈话，往往听到大家对北理计算机领域和校园网络方面的一些抱怨。的确，北理的计算机教学研究氛围不如某些兄弟学校，小团体多而杂，缺乏核心技术团队。网络方面各部门各自为政，没有统一的网络教学管理平台，给教师和学生带来很多不便；存在大量重复的网络服务，却没多少是自主知识产权的。 　　不少计算机专业同仁都有志于改变现状。在校园网方面，提出建立统一的网络教学管理平台、通知发布系统，建立校内门户站点，提供多样的服务等等。在软件开发方面，各个团队更是不断地在校园内或论坛上帖广告宣传自己的主张，拉拢人才。这反映了大家对我校计算机事业的强烈支持和热切期望，但这么多人一古脑地搞，似乎又有点不妥。网络方面名曰“统一”，但谁不想当这个老大？“统一”在技术上的问题暂不说，如何说服大家相信你的系统可靠且高效？行政层容易搞通吗？用户的习惯容易改变吗？软件团队方面，大家一谈技术就提soff，仿佛都有拉拢soff的心思。但北理计算机水平达到soff程度的又有几个？想团结人才，凭什么底子？放假前总能看到一堆招临时程序员的广告，一位打工回来的同学说得到的一是钱，二是怨气──没有人看中你的技术。即便说得到了团队合作经验，在商业利益的驱动下，也掺和着那种不光彩现象的影子。种种现状，使我们不得不思考我们的畅想的可行性。 　　靠一两个团队改变学校的氛围是有难度的，以名和利为直接目的更是干不成大事。我想我们还是从现实出发，做一些力所能及的事情吧！ 　　学习是第一要务。不少新人一说项目开发就提钱，不看看自己的本钱。学习分理论学习和实践学习，关于这个的讨论就多了，这里就不说了。只是想强调一下，我们在学校的很多实践，特别是自己觉得得意的那些小程序，其效率、可靠性、安全性远远是达不到实际企业应用项目的要求（想想我们的选课系统吧）。如果说要从程序员干起，走技术──管理──转行的经典路线，现在不如从企业级开发着手，做些技术上达到企业级质量要求的东西。当然这应该也是基于团队的。虽说不会像在学校内搞网站那样提高你的人气，但这个毕竟实用一些──企业不会看你那些花哨的东西，人家要的是上来就能干活的人。 　　分清楚什么是用来学习研究的，什么是用来干活赚钱的，两者都不要轻视，应采取相应的学习策略。大学计算机专业课大都是“学习研究型”的，该深入的就要深入，这是计算机专业人员起码的技术素质，是我们学习“干活赚钱型”知识的基础。对于.NET等不被某些技术牛人所看在眼里的高效开发体系，对快速企业级开发很适应，它功能强大且很好上手，不要求我们了解太多的底层原理，可以说是“干活赚钱型”工具。深入地掌握一两门这类技术，至少可以毕业不待业。 　　最后说点题外话。大家都清楚的，计算机专业学生很多都是游戏型人才。对自己所学的专业不感兴趣很正常，不想搞计算机就抓紧时间搞点别的有用的东西，别用游戏消磨时间了！以后不可能再有大学这样自由的学习环境了，还是那句老话：该干啥干啥。 原文链接：http://blog.linjian.org/articles/to-try-our-best-to/，作者：林健。 本作品采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。 (Digital fingerprint: 993d4981d6d552510db9a08493b2dbec)相关文章阅读我们的学科——计算机专业学习浅谈：三、运筹帷幄，掌握编程的思想复习C++，看了点书GNU bash实现机制与源代码简析阅读我们的学科——计算机专业学习浅谈：四、理性思辨，体味计算机哲学阅读我们的学科——计算机专业学习浅谈：二、把握全局，学习计算机导论]]></description>
			<content:encoded><![CDATA[<p>尽己所能<br />
──凭想像写一点不成熟的想法给同年级有志计算机方向的同学</p>
<p>　　开学这就大二了……</p>
<p>　　我和老师、同学谈话，往往听到大家对北理计算机领域和校园网络方面的一些抱怨。的确，北理的计算机教学研究氛围不如某些兄弟学校，小团体多而杂，缺乏核心技术团队。网络方面各部门各自为政，没有统一的网络教学管理平台，给教师和学生带来很多不便；存在大量重复的网络服务，却没多少是自主知识产权的。</p>
<p>　　不少计算机专业同仁都有志于改变现状。在校园网方面，提出建立统一的网络教学管理平台、通知发布系统，建立校内门户站点，提供多样的服务等等。在软件开发方面，各个团队更是不断地在校园内或论坛上帖广告宣传自己的主张，拉拢人才。这反映了大家对我校计算机事业的强烈支持和热切期望，但这么多人一古脑地搞，似乎又有点不妥。网络方面名曰“统一”，但谁不想当这个老大？“统一”在技术上的问题暂不说，如何说服大家相信你的系统可靠且高效？行政层容易搞通吗？用户的习惯容易改变吗？软件团队方面，大家一谈技术就提soff，仿佛都有拉拢soff的心思。但北理计算机水平达到soff程度的又有几个？想团结人才，凭什么底子？放假前总能看到一堆招临时程序员的广告，一位打工回来的同学说得到的一是钱，二是怨气──没有人看中你的技术。即便说得到了团队合作经验，在商业利益的驱动下，也掺和着那种不光彩现象的影子。种种现状，使我们不得不思考我们的畅想的可行性。</p>
<p>　　靠一两个团队改变学校的氛围是有难度的，以名和利为直接目的更是干不成大事。我想我们还是从现实出发，做一些力所能及的事情吧！</p>
<p>　　学习是第一要务。不少新人一说项目开发就提钱，不看看自己的本钱。学习分理论学习和实践学习，关于这个的讨论就多了，这里就不说了。只是想强调一下，我们在学校的很多实践，特别是自己觉得得意的那些小程序，其效率、可靠性、安全性远远是达不到实际企业应用项目的要求（想想我们的选课系统吧）。如果说要从程序员干起，走技术──管理──转行的经典路线，现在不如从企业级开发着手，做些技术上达到企业级质量要求的东西。当然这应该也是基于团队的。虽说不会像在学校内搞网站那样提高你的人气，但这个毕竟实用一些──企业不会看你那些花哨的东西，人家要的是上来就能干活的人。</p>
<p>　　分清楚什么是用来学习研究的，什么是用来干活赚钱的，两者都不要轻视，应采取相应的学习策略。大学计算机专业课大都是“学习研究型”的，该深入的就要深入，这是计算机专业人员起码的技术素质，是我们学习“干活赚钱型”知识的基础。对于.NET等不被某些技术牛人所看在眼里的高效开发体系，对快速企业级开发很适应，它功能强大且很好上手，不要求我们了解太多的底层原理，可以说是“干活赚钱型”工具。深入地掌握一两门这类技术，至少可以毕业不待业。</p>
<p>　　最后说点题外话。大家都清楚的，计算机专业学生很多都是游戏型人才。对自己所学的专业不感兴趣很正常，不想搞计算机就抓紧时间搞点别的有用的东西，别用游戏消磨时间了！以后不可能再有大学这样自由的学习环境了，还是那句老话：该干啥干啥。</p>
<hr />原文链接：<a href="http://blog.linjian.org/articles/to-try-our-best-to/">http://blog.linjian.org/articles/to-try-our-best-to/</a>，作者：<a href="http://blog.linjian.org/">林健</a>。
<br />本作品采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/">知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议</a>进行许可。
<br />(Digital fingerprint: 
 993d4981d6d552510db9a08493b2dbec)<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li><a href="http://blog.linjian.org/articles/read-our-major-3/" title="阅读我们的学科——计算机专业学习浅谈：三、运筹帷幄，掌握编程的思想">阅读我们的学科——计算机专业学习浅谈：三、运筹帷幄，掌握编程的思想</a></li><li><a href="http://blog.linjian.org/articles/cpp-review-books/" title="复习C++，看了点书">复习C++，看了点书</a></li><li><a href="http://blog.linjian.org/articles/gnu-bash-analysis/" title="GNU bash实现机制与源代码简析">GNU bash实现机制与源代码简析</a></li><li><a href="http://blog.linjian.org/articles/read-our-major-4/" title="阅读我们的学科——计算机专业学习浅谈：四、理性思辨，体味计算机哲学">阅读我们的学科——计算机专业学习浅谈：四、理性思辨，体味计算机哲学</a></li><li><a href="http://blog.linjian.org/articles/read-our-major-2/" title="阅读我们的学科——计算机专业学习浅谈：二、把握全局，学习计算机导论">阅读我们的学科——计算机专业学习浅谈：二、把握全局，学习计算机导论</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.linjian.org/articles/to-try-our-best-to/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
