昨晚到购书中心去逛了一下

如题。去工作之后已经几个月没逛过书店了,昨晚(16号)趁在家去购书中心逛了逛。

随便逛了逛技术书的部分。原本今晚去逛的目标是观摩一下《冒号课堂》和《Orange'S》,顺便也想看看其它,特别是编程语言相关。看到刚哥的疯狂系列还是很坚挺 =_=|||
可惜在4楼没找到《Orange'S》,或许该去5楼再看看。其实之前就翻过一下,感觉还有点意思,想关注一下。
在家里买书再搬去杭州太麻烦,所以要买的还是等节后回去再出手。

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

这次翻阅了以下几本。记录的只是我根据翻阅书中极小部分留下的第一印象,不代表对书的整体评论。

1、 《什么是数学——对思想和方法的基本研究》
早该补补我那薄弱的数学基础了。这本书准备节后回去买本在睡觉前读。从目录看来,至少前面一小部分读起来应该还不会太吃力,要是能重新点燃我对数学的兴趣那是最好……
而且相对平时读的技术书来说这本真便宜,买了不读也不会太心疼orz(不行不行,买了还是要读)

2、 《代码整洁之道》
Robert C. Martin写的《Clean Code: A Handbook of Agile Software Craftsmanship》的中文翻译版。这种涉及代码风格的书肯定少不了作者的经验和个性所带来的主观性,但正是这经验是值得了解的。不知道这本书有没有影印版呢,有的话或许会买一本来读。
翻到一段是讲try/catch的,书中提出的应该把try/catch与主逻辑分离的这点我相当赞同。另外翻到一段是讲一元函数、二元函数之类的,读到那里我就想到Smalltalk、Objective-C等语言的selector语法中的keyword,或者别的一些语言的关键字参数语法,都比光秃秃的C、C++、Java等语言的参数列表语法要更有意义些。

3、 《易学C#》
随手翻了翻。从目录看中规中矩,看到目录里有关于string与String的区别的部分,翻过去看具体内容写得还行。不过近期除了 《The C# Programming Language (3rd Edition)》以外其它C#书都不太有机会引起我的兴趣,所以这本也不太关心。

4、 《Java程序员,上班那点事儿》
也是我不太关心的类型的书。翻到Java跟C的比较的部分读了下,感觉不是特别满意。

本书既然是去年出版的,用Java 6的JRE应该能比1.4.2的更能跟上时代的步伐?如果说用1.4.2是因为很多企业都还在用这个版本,那就应该用server VM来测试才好(默认是用client VM),测试内容也应更有服务器端程序的特征比较合适;很难想像企业会不升级JRE版本并且坚持使用其中的client VM。

在对比Java程序与C程序的内存占用量时,书中使用了Windows的任务管理器来查看数据。且不说任务管理器给出的数据不精确,“内存占有量”中2组特性应该分开来考察:clean与dirty,shared与private;其中只有private dirty的占用量是特别值得关注的。
从Java 5开始,Sun的HotSpot client VM在使用serial collector支持“class data sharing”,会把一些系统Jar文件(如rt.jar)在运行时经过解析后的数据保存到classes.jsa归档文件中;以后在同样配置下运行的多个Java程序就可以把classes.jsa内存映射进来,同时共享一份系统库的数据,既节省了空间也提高了启动速度。这部分空间就是shared clean的。IBM的JVM从Java 5开始支持Shared Classes特性,比Sun的实现更积极的共享类数据。从Java 6开始IBM的JVM 更进一步支持 AOT data sharing,类似于.NET的 NGEN,可以将字节码编译为本地代码并缓存起来,以后每次运行都可以共享。
从截图看,本书是在Windows XP上通过默认配置的任务管理器来查看内存占用量的。这里显示的是"working set",是包括了共享与私有内存占用量在内的。JVM固有的开销确实比单一个 CRT大,但由于较新版的JVM有数据共享机制,同时运行的多个Java进程未必真的会占用那么多内存。这点如果能在书中有所提及就好了。

书中有一处Java与C的内存占用量对比测试中,Java与C代码都创建了同样元素个数的char数组;但这本身就是不公平了,Java的char是UTF-16编码的字符,每个char是一个UTF-16 code point,每个code point占2字节;C的char则不关心编码方式,1个char就是1字节。作者在这里可能疏忽了。

后面有一处对比Java与C程序性能的地方,给我留下印象的是书中拿 谭老开涮了。虽说书中引用谭老的那段话也不是没问题,不过书中用的例子似乎也不太好。或许看看实际生成的代码是怎样的会更便于比较。如果其中一方有某部分被优化掉了那测试的结果的意义就小了。

唔,话说印象中书中的“C语言”代码里是用new关键字来动态分配空间的……大概是在C与C++的区分上写得不严谨吧。

其它部分写得如何不清楚,不过这本书我多半不会买来读了,也罢。

5、 《你必须知道的261个Java语言问题》
“语言问题”……正是我比较关注的部分。不过这本书的书名,“你必须知道的”这个短语让我不禁联系到各种“宝典”;我对这短语有抵触感。Anyway,这只是个人喜好问题。

翻阅了一小段,“FAQ1.04 Android与Java语言有什么关系?”这部分。前半看起来还行,不过给我留下印象的是最后一段(貌似是最后一段?),提到Android没有使用JME,并且专门在括号里解释JME是 Java Monkey Engine。这是没说错,Android确实是没有内建JME,不过……因为这段后面提到了Dalvik,我猜这里本来是要说Android没有采用 Java ME的现成技术吧?有点囧嗯…… =_=||||
另外翻到后面讲float/double的精度问题,书中建议用BigDecimal来保证精度,这个是正确的,讲到BigDecimal与double间的转换也挺细致的。不知道其余的部分写得如何呢?

6、 《Windows并发编程指南》
Joe Duffy的 《Concurrent Programming on Windows》的中文翻译版。这本要是有影印版就好了,没有的话我看看是不是买本原版回来读。
翻阅了讲CLR与纤程的部分,一下就被吸引住了。虽然CLRv2中不支持纤程的这段故事以前就在别的地方读过,但本书的描述比以前读的更详细也更易懂。这段的翻译读起来还挺顺畅的,就买这本翻译版应该也没问题。总之这本书的某版本是买定了。

7、 《编程语言:原理与范型(第2版)(影印版)》
以前不记得是在谁的blog上看到推荐这本,是老赵的还是谁的blog的回复里,所以这本书也是一直想关注。
关于编程语言概论的书,我之前读的次数比较多的是 《程序设计语言:实践之路(第2版)》《程序设计语言概念(影印版)》《程序设计语言概念(第七版 影印版)》(前面是两本书,只是影印版用了相同的中文名)。这三本书给我的感觉都不错,特别是实践之路那本的覆盖范围之广给了我极大的震撼。手上另外还有一本 《程序设计语言理论基础》还没怎么读,惭愧。
原理与范型这本书跟前面提到的几本覆盖的面差不多,内容到底如何我得仔细读了才可以判断。这本书的有趣之处在于采用了一种原创的Clite语言贯穿于整本书来讲解各种概念。这种做法跟 虎书的Tiger语言很相似。要买本来读读。

8、 《自动机理论与应用(影印版)》
这本书跟我之前读过的另外一本, 《语言与机器》,在范围上有重叠。不过从目录上看这本的描述更加详细些。或许会买本回来仔细读。不过这本又是贵书啊 TvT

9、 《动态语言知识更新研究》
这本是最意外的。因为这本书混在一堆程序书中间,我还以为这本是讲“动态语言”的。翻开来才发现正确的分词应该是“动态|语言知识更新|研究”,讲的是跟自然语言处理相关的。翻了翻,感觉只能用“没看懂”来形容。这显然不是本泛泛读就能读懂的书。看到诸如“语料库”之类的名称既亲切又陌生,那些外语专业的同学对这些概念应该很熟悉吧。这本书先mark住,以后对自然语言处理感兴趣的时候翻出来看看。

10、 《冒号课堂——编程范式与OOP思想》
之前有同学推荐过我读这本书,于是我也读过它的第一章样章。我原本并不很喜欢对话式的书,觉得这种体裁冗长;更喜欢的风格是用洗练的语言来陈述概念,可以的话配合形式化推导过程,然后用生动的例子来表现概念的形式。另外我对样章中读到的观点也并不全然认同。即便如此这本书还是给我留下了不错的印象。对话式的好处是可以有效引导读者思考,可以方便的留下仁者见仁智者见智的余地,即便是对其中观点不认同的读者也仍然容易获取信息,用在这里挺好的。
这次翻阅的是关于值与引用的部分。把上下文限定在C++、Java与C#的范围内,这部分写得与我自己的认识比较吻合,读起来感觉也很顺畅。我觉得Java和C#中“引用”自身也是值的这点或许重点强调下比较好,不然Java的pass-by-value就很难解释清楚。
这本有可能会买本来读,不过更有可能想办法鼓动身边的同学买一本让我借来读,书非借不能读嘛,哈哈 XDD

11、 《LEMON语法分析生成器——(LALR(1)类型)源代码情景分析》
看了下出版时间,是2006年出的。我以前到底有没有在书店见到过这本书,印象模糊。可以肯定的是我没读过这本。没来得及翻阅其中的内容。源码剖析类的书写好写坏都很容易,不过从源码剖析入手来讲解解析器生成器的书不多见,这本要是写得好的话那得找时间买本读读。有人读过不,感觉如何?

12、 《Objective-C 2.0程序设计(原书第2版)》
Stephen G. Kochan的 《Programming in Objective-C 2.0 (2nd Edition)》的中文翻译版。
iPhone的热潮对Objective-C的推广来说毫无疑问是一支强力推进剂。国内的图书市场也有所反应,近年来Objective-C的书多了起来。一直想买本Objective-C 2.0的入门书来读读,还没出手。我对Objective-C的兴趣起源有点怪:一是因为它走的是Smalltalk路线的OO,感觉更顺一些;二是要理解MacRuby的实现必须了解Foundation的一些细节,而我对MacRuby相当感兴趣。
这本书买不买一本来读呢?犹豫中。翻的时候正好看到了GC相关部分,书中建议似乎是不要依赖这GC,hmm,由于了解的信息不足对此无法评论。

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

感觉有些书如果原本就不是面向需要了解某些细节的读者的话,那些细节干脆只字不提更好,不然把基本概念解释错了反而更糟。要解释概念的话或许先多方求证一下会比较合适?

离开技术书的区域,顺便逛了逛游戏区。购书中心里卖的游戏照例有很多山寨物,像是PS2模拟器啊啥的,忽略掉。在游戏的货架上看到单机游戏中galgame占的比例更大了,都是汉化(并移植到PC)的。 KID倒之前的游戏比上次看多了很多,没记下全部游戏的列表,不过记得至少Close to、Monochrome、Remember 11、We/Are*、Separate Hearts、龍刻、12Riven、想い出に変わる君 ~Memories Off~、Memories Off #5、 Memories Off #5 encoreMemories Off 6,这些游戏都有。工画堂方面, Solfège也看到了,老一点的像是交响乐之雨也还在,angelic系列的天使恋曲也还在。这两厂的新游戏现在在大陆都还是娱乐通在代理么?心情复杂。把We/Are*等游戏移植到PC上来算是有功劳(但具体负责移植的不知道是哪些组呢,好久没关心过了),不知道移植/翻译质量如何呢。We/Are*的游戏名居然被翻译为《爱在2026》——虽说比台版的「終極生化少女」正常点——好囧。很久之前就出了的爱神餐馆(不过我见到的是1还是2……?)也还出现在货架上。
好久不玩galgame,感觉跟那个世界已经颇有一段距离,但也还没全然脱离干系 >_<|||

你可能感兴趣的:(游戏,android,Objective-C,C#,MacRuby)