欢迎来到antinucleon的窝!!这里随手记录了antinucleon的点点滴滴

2010年8月17日星期二

突然有一种似曾相识的感觉

那就是MIT。

曾经让人魂牵梦萦的地方啊。

高中时,那是我神圣的梦想。而如今呢?

被国内各种制度恶心着,而梦想就这样自暴自弃了?难道就破罐子破摔了?

看到她手里握着的MIT的ph.d证明,一脸幸福的笑容,我能理解。

我应该找回曾经的梦想,而不是被制度而恶心。

没有什么是不可以完成的。

没有什么是不可以舍去的。

Time the study pain is temporary, has not learned the pain is life-long.


2010年8月16日星期一

随手一笔

此刻的境况
如同解方程组
至少是三元的

花费很大的精力
求解x,y,z……
未掌握权值a,b,c……

于是
没有得出解  

 

我们并不是在表述某种存在,而是在努力寻找存在的原因

细节的细节就不再是细节本身

真实永远取决于观察主体

不要在生活中寻找你要的东西,而要努力感受生活中到底发生了什么

 

Time the study pain is temporary, has not learned the pain is life-long.

 

 

ps.原版权属于Itgirl和pcman,弦音绕梁,同知同觉~~~~~

 

继续干活

 


上海的老鼠就是猛



~rt

2010年8月8日星期日

【存档】【转载】C++ 书籍导读(12) - 总结

以前很难找到一本能够真实反映ANSI C++的书。C++ 的好的译著是从2001年
下半年开始的,现在几乎是全盛时期。本文将对这些C++ 的书籍做一个回顾,以
帮助入门的读者快速定位这些书籍:

  下面出现的书,除特别注明的,都在本FAQ(7)、(8)的书单里面。

  我认为第一类读者属于那些没有计算机编程基础的人,当然这并不影响他把
C++ 作为学习的目标,但是为了能够顺利地学习,必须重视学习计算机的基础知
识。可以推荐的书目包括:James P.Cohoon的《C++程序设计》、 Deitel父子的
C++大学教程(第二版)。 学习能力强、要求高的读者可以阅读讲解更加细致的
《C++编程金典(第3版)》;

  第二类读者是有计算机基础知识,学习过编程的人。属于初级水平,可以阅
读的书包括:《C++ Primer Plus》、《C++编程金典》、《C++ Primer》、《C++
编程思想》; 学习能力强,要求比较高的读者可以选择 Bjarne Stroustrup 的
《C++程序设计语言(特别版)》;

  通过各种途径学习过 C++的人,可以在比较高的起点系统地学习 C++,典型
的书就是:Bjarne Stroustrup《C++程序设计语言(特别版)》。我认为这是所有
的C++ 学习者最终应该阅读的一本书。

  一个初级读者,除学习系统的教科书外,还需要对自己的编程环境有深入的
了解,才可能动手进行实践。其中Petzold的《Windows 编程(第五版)》(北大出
版社)、《Unix高级编程》 (人民邮电出版社)以及其他讲述Windows 编程、Linux
Unix编程环境的相关的书目可以帮助达到这一目的。这些书不在本 FAQ范围之内,
请大家到 Programming 和其他相关的版查阅更多的信息。

  一个中高级读者,除学习系统的教科书外,还可以阅读一些参考书。可推荐
的介绍 STL 的书籍包括:《C++标准程序库--自修教程与参考手册》、《 C++
STL(中文版)》和《STL 源码剖析》; 另外,《数据结构算法与应用 - C++语
言描述 》很好地介绍了 C++用于数据结构的使用方法;

  《Effective C++中文版 2nd Edition》、《More Exceptional C++中文版》
以条目的方式介绍了现代C++ 编程中常见的问题。对于熟悉 C++的用法和概念有
一定帮助。《C++精髓——软件工程方法》则属于比较系统地对 C++ 的运用进行 
论述和分析。尽管该书对 STL 的篇幅略显单薄,但仍不失为一本值得阅读的好
书;

  《C++语言的设计和演化》出自Bjarne Stroustrup之手,阅读这个历史,可
以领悟 C++ 发展过程中各个特性的始末由来,知其然,又知其所以然。 是精通
C++ 的必读书籍。

  新书还会不断涌现,本 FAQ将根据实际情况进行适当增加或调整。希望初学
者从本 FAQ 中能够获得一些帮助。更多的信息需要自己去体会 ,到书店亲自看
一看,读一读,看看这本书是不是适合你。

有关 C++ 的绝大多数书目可以在下列网上找到:

http://www.china-pub.com/ 或
http://www.china-pub.com/search/power_search/
powersearch_step2.asp?name=C%2B%2B&andor=and&zyandor=and

http://www.huachu.com.cn/ 或
http://www.huachu.com.cn/itbook/booklist.asp?tsmc=C%2B%2B&andor=and

--

�手中握住繁� 心情�也�得荒� 才��世上一切都��幻  
�青春剩下日� ��就要�成白� 不�的只有那首歌  在心中�回的唱 


※ 来源:・BBS 水木清华站 smth.edu.cn・[FROM: 211.150.204.8]


【存档】【转载】C++ 书籍导读(11) 重点(3) - C++ 程序设计

本来这样的介绍已经多余。为 FAQ完整起见,还是把本书列入。本文以下部分
均摘录自《C++ 程序设计》的译者序,作者刘瑞挺。把该书作为重点,是因为
该书对于那些没有接触过计算机编程的人来说是比较好的入门书。主译刘瑞挺
曾经在电子工业出版社工作,后任《个人电脑》中文版主编。

    这是一本令人称赞的好书,原书的全名是《C++程序设计,编程与面向对象
设计导论》(C++ Program Design,An Introduction to Programming and 
Object-OrientedDesign)。  它是美国弗吉尼亚大学的考思(James P. Cohoon)
教授和戴卫森(JackW.Davidson)教授为计算机科学教育而开发的第一门课程
(CSl),该教材对全校各个专业都十分合适。但它同样可以用于其他课程。例如
纽约城市大学的麦克拉肯(Daniel D.McCracken)教授就使用本书作为软件设计
实验室课程的教材。

    那么,这本书有什么特点呢?我认为它有“四个面向”的特点:即面向非计
算机专业、面向对象程序设计、面向软件实践基础、面向读者自学提高。

    第一,这是一本面向非计算机专业的计算机入门教科书,虽然它也可以作
为计算机专业的教材。我们知道,在整个专业教育中,有95%的人是从事非计
算机专业的,而这些专业都毫无例外地存在着应用计算机的广阔天地。作者认
为,在今天的信息时代,无论哪个专业的人都应该学会一点程序设计,而作者
选择的编程语言正是C++。这种选择的依据是:在各种领域的应用软件设计中,
C++已经成为不可或缺的工具:在各行各业的招聘面谈中,能否熟练掌握C++语
言已经成为择优录取的重要条件。过去,人们以为只有计算机专家才会C++,只
有计算机专业才需要学习C++,而非计算机专业的人根本用不着学C++,这种观
点已经与现实世界大相径庭。这是作者在设计这门课程时,进行了大量社会调
查后得出的结论。

    第二,这本书充分强调面向对象的程序设计,而根本不涉及面向过程的程
序设计。正如C++不是计算机专业的专利那样,面向对象程序设计也不是计算机
专业的特权。许多人误以为面向对象的概念十分抽象,什么封装啦、继承啦,
太难懂了。其实,这完全是一个误导。我们知道,面向对象这个革命性的计算
概念是今天大多数高级语言的基石,C++的基石是面向对象,Java的基石也是面
向对象。面向对象编程技术的缔造者、电脑未来学家艾兰・凯(Alan Kay)在
Xerox的PARC研究中心时,创造了一种编程语言Smalltalk,它是面向对象的起
源。凯喜欢把它比喻为一个生物学系统,例如人体系统。人体是由数以万亿计
的细胞组成的,每个细胞都要执行自己的特定任务。每个细胞并不知道其他细
胞内部发生的事情,但它们能互相沟通,并且协作完成更加复杂的任务。每个
细胞用细胞膜封装起来,彼此却能通信联系,并且通过遗传来继承前辈的功
能。因此,面向对象与面向过程是两种完全对立的方法。过去的一些书,总是
先大讲特讲面向过程,而后再少讲略讲面向对象,以为这是全面系统的教学方
法。殊不知,这种折衷恰好冲淡了面向对象的精髓。而本书则开门见山地树立
对象概念,反反覆覆地巩固对象概念,使读者能真正学会这种优秀的编程思想
与方法。

    第三,本书非常重视实践环节。它提供的EzWindows看来是一个大赢家,对
学生有很大的启发性,使他们看到响应鼠标点击就能实现作图,这正是他们编
程的方式。本书还为最后的项目提供了良好的跳板,通常在课程最后花3周甚至
4周的时间,让两个学生一组工作。在CD—ROM光盘上,存有学生所需的全部代
码和EzWindows库函数,这节省了学习的时间。本书的每个细节,从组织到编程
技巧,都为今后的软件工程课奠定了牢固的基础。

    第四,本书的写作风格特别适合于自学,更不必说当作听课的教材了。它
细腻而不失于简练,翔实而不落于烦琐,连贯而不陷于空泛,使人读来爱不释
手。第2版就有大量很好的练习,从相当简单的评论是非,到大多数学生要花若
干小时的编程项目。第3版又增加了许多自我检测题,使读者能验证自己掌握的
程度。作者在前言里或者个人谈话中,都没有要求讲授或自学全书的内容,在
弗吉尼亚大学的第一门课程即是如此。教师可以根据自己的特殊需要,自由选
择想要强化的内容。作者在前言里给出他们在弗吉尼亚上第一门课的安排,本
教材作为CSl可以有许多不同的处理方式,也可以有许多种自学的方法。的确,
本书能以完全不同的方式使用。显然,人们喜欢这本书。经验证明,它使教学
获得乐趣,而且听不到学生的抱怨,这是十分罕见的现象。


--

�手中握住繁� 心情�也�得荒� 才��世上一切都��幻  
�青春剩下日� ��就要�成白� 不�的只有那首歌  在心中�回的唱 


※ 来源:・BBS 水木清华站 smth.edu.cn・[FROM: 211.150.204.8]

【存档】【转载】C++书籍导读(10)重点(2): C++ Primer

本来这样的介绍已经多余。为 FAQ完整起见,还是把本书列入。本文以下部分
均摘录自《C++ Primer》的译者序,作者潘爱民。本人认为该书是具有计算机
基础,并了解一门编程语言的人入门C++的较好的书,水平中等(译者认为是
中等偏深)。

    这是我心仪已久的一本书。我相信很多读者也有同样的感受。

    在所有的编程语言中,C++可以说是最为复杂的。它既是一门传统的编程语
言,也是一门新的编程语言。说它是一门传统语言,是因为C++诞生已将近20年的
历史了,特别是最近10年来C++得到了快速的发展。C++是计算机软件领域中覆盖
面最为广阔的编程语言。并且,与C++相关的智力投入也是其他任何一门语言所无
法比拟的。人们对于C++的研究已经远远超出了对于一门编程语言所应有的关注。
所以,现在的C++已经非常成熟,有大量的资源(文档、书籍、源代码等等)可供
我们使用。说C++是一门新的编程语言,是因为在1998年C++由ISO( 
International  Standards  Organization)完成了标准化,从此C++领域有了统
一的标准,所有的编译器都将向标准靠拢(或者说,与标准兼容),这有利于我
们写出可移植的C++代码来。同时C++标准也统一了C++标准库,为C++用户提供了
最为基本的基础设施。C++经历了多年的发展,终于有了一个相对稳定的版本,所
以,我们应该用一种新的眼光来看待C++,而不再简单地把C++认为是C语言的超
集。本书正是新版本C++的写照,通过本书,你可以重新审视C+十语言,这是我
翻译过程中最为真切的体会,它纠正了我过去对于C++语言的一些误解。虽然我从
1993年开始就一直在使用C++,但是直到阅读了这本书之后,我才从真正意义上全
面地认识了C++语言。

    本书的权威性无需我多说,看看本书原著的前言,了解了两位作者的背景之
后,你就可以知道,这本书是经验和标准的完美结合。Stanley Lippman从1984年
开始一直从事C++方面的工作,在C++的实现与应用方面有着丰富的经验。本书前
两个版本的成功也证明了他在阐释 C++语言方面的独到之处。Josee Lajoie从
1990年开始成为C++标准委员会的一名成员,并且承担了很重要的职务。由于她的
参与,毫无疑问,本书一定是与标准兼容的。

    讲述C++的书非常多,并且不乏优秀和经典之作。在如此众多的C++书籍中,
本书仍具有不可替代的地位,我想主要的原因在于本书具有以下几个特色:

      (l)内容广阔。从本书的规模(厚度)就可以看出这一点,C++语言融入
了大量优秀的特性,其内容的丰富程度已经远非C语言所能及。在所有的C++书籍
中,本书的覆盖面是最为广阔的,从最基本的C++程序设计,到面向对象程序设
计,以及基于模板的程序设计,面面俱到,而且讲解细致入微,值得仔细品味。

     (2)许多实际的范例程序。纯粹的技术讲解总是非常枯燥的,但是阅读本
书并不感觉枯燥,因为作者在介绍每一部分内容的时候都结合一个实际的例子,
读者通过这些例子能够很容易地掌握相应的技术要点,并且看到每一种技术的实
际用法,这是本书之所以引人入胜的重要原因之一。

     (3)叙述内容的安排。C++是一门多风格的程序设计语言(multi-paradigm 
Programming language),不仅支持面向对象程序设计,也支持其他的程序设计

思想。本书的叙述结构正体现了C++的这种特点,作者从程序设计思想的角度分别
讲述了C++的各种语言要素,便读者比较容易抓住C++语言的本质特征。

      (4)与编译器无关,遵从C++标准。本书的内容并不特定于某一个C++编译
器实现,而是适用于所有与C++标准兼容的编译器。作者在讲解过程中也指出了编
译器的一些内部考虑,例如,编译器如何在各种上下文环境中解析重载函数,如
何处理除式类型转换,等等,这些内容有利于加深读者对C++的理解。

      (5)配套的练习。在每一节讲解之后,作者给出了一些练习,这些练习反
映了这一节的中心内容,读者通过这些练习可以巩固所学的知识。所以,本书也
可以被用作教材,用于系统全面地学习C++语言。

    虽然本书书名《C++Primer》的中文含义是"C++初级读本",但是它绝对不
是一本很轻松的入门教材,特别是关于名字空间、函数重载解析过程、模板机制
和泛型算法(generic algorithms)等内容并不是一个 C++初学者能够很快掌握
的。如果你以前没有看过其他的C++书籍,那么可能需要反复阅读多遍才能掌握本
书讲述的内容:如果你已经有了C++的基础(比如,已经看过其他的C++入门书
籍),那么阅读本书可以让你快速掌握C++的要点:如果你是一名有多年C++实践
经验的程序员,那么阅读本书可以让你重新理解C++。总之,这是一本很好的学习
和参考书籍,值得你反复阅读。但是,正如书名所指示的,它不是一本高级书
籍。按照我个人理解,它的技术水准应该在中等偏深一点的层次上。

      本书的翻译工作由我和张丽共同完成,张丽完成了初稿的翻译工作,我做
了第二遍翻译检查工作,书中每一句话我都认真检查过,个别地方还修改了原著
的一些错误。C++中有些术语还没有统一的中文说法,对于这些术语的处理,我们
尽可能地做到符合中文的语言习惯,读者可以参考本书最后所附的英汉对照索
引。这份索引是由中国电力出版社的诸位编辑手工制作完成的。他们是刘江、朱
恩从、陈维宁、程璐、关敏、刘君、夏平、宋宏、姚贵胜、常虹、乔晶、阎宏。
感谢他(她)们的辛勤劳动。

      在翻译过程中,不断收到读者来信或者来电询问这本书的出版情况。我理
解读者对于一本好书的迫切心情,我的想法是,有关C++的书籍和资料如此之多,
所以,学习C++不一定非要阅读这本书,但是它可以加快你学习的步伐,并且帮助
你深入而全面地理解C++。既然你已经看到了这本书,那就不要错过吧。

      这本书不会让你失望的,我坚信这一点。

--

�手中握住繁� 心情�也�得荒� 才��世上一切都��幻  
�青春剩下日� ��就要�成白� 不�的只有那首歌  在心中�回的唱 


※ 来源:・BBS 水木清华站 smth.edu.cn・[FROM: 211.150.204.8]

【存档】【转载】 C++书籍导读 (9)重点(1): C++程序设计语言

本来这样的介绍已经多余。为 FAQ完整起见,还是把本书列入。本文以下部分
均摘录自《C++程序设计语言(特别版)》的译者序,作者裘宗燕,为北京大学
数学学院信息科学系教授。

Bjaner Stroustrup的《The C++ Programming Language》是有关C++语言的第
一部著作。毫无疑问,它是关于C++语言及其程序设计的最重要著作,在此领
域中的地位是无可替代的。《The C++ Programming Language》一书伴随着
C++语言的发展演化而不断进步,经过第1版(1985)、第2版(1991),第3版
(1998),本书的原本是第3版经过补充和修订后的“特别版(2000)”(对
应于国内引进的影印本)。对于这个中译本,我想说的第一句话就是“来的太
晚了”。 

要学习C++语言和程序设计,要将C++应用于程序设计实践,本书自然是必读之
书。这个“特别版”以标准化的C++语言为基础,讨论了C++的各种语言特征和
有效使用这一语言的程序设计技术。书中也用了很大篇幅,在标准库以及一般
软件开发的环境下,讨论了使用C++语言编程和组织程序的许多高级技术。本
书内容覆盖了C++语言及其程序设计的各个方面,其技术深度与广度是举世公
认的。 

然而,作者讨论的并不仅是C++语言及其程序设计。本书的讨论远远超出这一
范围,第四部分用了很大篇幅去讨论软件开发过程及其问题。即使是在介绍
C++语言及其程序设计的具体问题时,作者也常在程序结构、设计和软件开发
的大环境下,提出自己的许多认识。作者有很强的计算机科学与技术基础,在
系统软件开发方面极富经验,他所提出的观点和意见值得每个工作在这个领域
中的人重视。 

当然,重视并不是盲从。在Stroustrup的两本关于C++的重要著作(本书和
《C++语言的设计与演化》)中,都有这样一句话使我印象深刻:希望读者带
着一种健康的怀疑态度。看来这是作者深深铭刻在心的一种思想,也特别值得
国内每个从事信息技术,或者努力向这个方向发展的人注意。从来就没有什么
救世主,Stroustrup不是在传道,他只是在总结和论述自己在这个领域中工作
的经验。请不要将本书中的东西作为教条,那也一定是本书作者所深恶痛绝
的。 

许多人说本书比较难读,这种说法有一定道理。真正理解本书的一般性内容需
要花一些时间,融会贯通则更需要下功夫。理解本书的内容不仅需要去读它,
还需要去实践。问题是,花这个时间值吗?作者在讨论C++语言的设计时提出
了一个观点:你从C++语言中的收获大致与在学习实践这个语言的过程中所付
出的努力成正比;而且C++是一个可以伴随你成长的语言。同样的话也适用于
本书。如果你致力于将自己发展成一个职业的程序员,或者要在计算机方面的
技术领域中长期工作下去,我认为,你从本书中的收获大致也会与你所花的时
间成正比,这本书也是一本能够伴随你成长的书。 

当然,这本书也不是没有缺陷的。由于作者有着极其丰富的实践经验,因此,
当他想要论述一个问题、提出一个观点时,常会想到在自己长期实践中最适合
说明这个问题的事例,用几句简短的话引述有关的情况。由于作者对C++谙练
有加,因此,在讨论中有时会不知不觉地将某些并不显然的东西当作不言自明
的事情提出来。而对于许多初学者而言,这些都可能成为学习中的障碍。为了
帮助这部分读者,我也在书中一些地方加入了少量注释,解释一些背景性情
况。过多过滥的注释会增大书的篇幅、干扰读者阅读,绝不会是大家都喜欢的
方式。因此我在这样做的时候也很有节制,希望不会引起读者的反感。 

由于读者的水平有极大差异,一些人很熟的东西,另一些人可能就莫名其妙。
我无法解决所有问题,但也希望能为广大读者做一点服务性的工作。为了帮助
初学者入门,为使本书(包括其中文译本)能更好地在国内计算机领域中发挥
作用,也为了关心本书、学习本书的人们能够有一个交流经验、传播认识的场
所,我将在下面地址维护一个有关本书的信息、情况、认识和意见的网页: 

http://www.math.pku.edu.cn/teachers/qiuzy/cpp.htm

在其中收集有关的信息,记录朋友们(包括我自己)的认识与意见,提出的问
题和相应的认识,有关这一译本的勘误信息,原英文书的更正与更新信息等
等。欢迎诸位提供自己的见解和问题,提供有价值的线索。我没时间去创建与
维护一个“纯的”C++语言及其程序设计的讨论组(确实需要这样的场所,而
有关VC等的讨论组倒是太多了。如果有人愿做,我乐得坐享其成、积极参与并
尽可能提供帮助),只想抽空将接收到的和自己写的东西编辑公布。与我联系
可以发email:qzy@math.pku.edu.cn。我还将把有关《C++语言的设计与演
化》一书的相关信息也放在那里,供大家参考。 

还请读者注意,本书的原本是“特别版”的第1次印刷,即“第3版”的第11次
印刷,也是目前国内可买到的影印本的原书。在那以后,作者在重印时不断更
正书中的错误,并修改了少量的程序实例。最新的重印是第16次印刷,有关情
况可从作者的网页或上面网址找到。由于一些情况,本书无法按最新的重印本
翻译,但我还是参考了作者的网页,在译文中尽可能地采纳了有关勘误信息。
此外,在翻译过程中我也发现了一些错误。经与作者的email讨论取得了一致
意见,有关更正反映在本书里。由于这些原因,本书在个别地方的说法可能与
读者手头的英文原书有异。如果想确认有关情况,请查看原书的勘误信息。 
  


--

�手中握住繁� 心情�也�得荒� 才��世上一切都��幻  
�青春剩下日� ��就要�成白� 不�的只有那首歌  在心中�回的唱 


※ 来源:・BBS 水木清华站 smth.org・[FROM: 211.150.209.7]