自己的一些读书体会

    在学习一个新技术时,自然要读大量的书籍,然而怎样选择却是一个问题。在大学里我也走了弯路了,但庆幸的事,我没有偏离太远。

    先来讲讲自己的一些读书经历吧。
    从学习JAVA说起。JAVA是大三下学期学的,是选修课,学得很粗浅。当时JAVA给我印象最深的是完全面向对象的编程方式,特别是进行窗体开发时:窗体,菜单,按钮,文本框等等,都成为了完全的对象,再也不用C+API那么繁琐了,更比MFC面向对象的不伦不类强多了(JAVA的强大不只于此,是在学习.NET的过程逐渐理解的)。虽然接触过Delphi,但学习不深,在是大一时自学的。后来主要用C++,写得都是些算法类的Console Application,以学校ACM网站的题最多,虽然很大地提高了自己的编程能力。但自己却从来没有写出一些真正有点使用价值的程序,最多也就是扫雷和一个词法分析器。JAVA让我看到写出更高效程序的希望,于是兴冲冲买来了Thinking in JAVA 3rd英文影印版。后来对JAVA却没有更多的投入,书也没有看完。
    大三的暑假我看了Charles Petzold的Programming Windows with C#。当时看这本书主要是被作者和书名所吸引了,实际这本书有些名不符实,它主要是讲GDI+编程。它我让看到C#和JAVA相似的强大开发能力,它生成的程序的执行速度和优秀IDE的支持让我抛弃了JAVA(现在看来当时见识短浅,但那时只会用记事本写JAVA代码)。由于时间少书厚(1000多页英文)这本书也没有在假期读完,开学后更多忙于学习和招聘,而且大四下学期对C++及ACM投入了更多的精力。这本书主要提供了手册般权威的参考,在平时经常用到。
    大四的寒假为了准备毕业设计,我开始大量寻找.NET书籍,有了读Programming Windows with C#的经验(读这种像字典一般的书很累又费时),我先到网上找了各种各样的书评,最后确定先读Jeffrey Richter的Applied Microsoft .NET Framework Programming(经典)。现在看来这是一个非常正确的选择。花了20天左右的时间,这本书读完了。在学习的过程中也不少困难。第一是这本书更多介绍底层的知识,略为复杂;第二是我从来没有完整学过C#语法,对书中的代码及C#相关的知识点理解不够。所以这本书是和Tom Archer / Andrew Whitechapel的Inside C#, Second Edition(又一本看了不后悔的书)一起读的。之后在毕业设计过程中又阅读了一些Microsoft Press的.NET类图书,特别阅读了另外一部经典图书Jeff Prosise的Programming Microsoft .NET,它又是一本名不符实的书,主要是讲ASP.NET的,同时也对.NET的所有方面进行了讲解,特别是WinForm,ADO.NET,XML,Thread,Remoting的介绍也很好。
    离校后我又看完了Effective C#,提高了设计能力特别是开发思想。另一本Microsoft Extreme Programming Adventures in CSharp已经快读完了。

    大四下学期这半年是我自己感觉提高最快的半年,这和毕业设计是分不开的,它最重要的作用就是开拓了眼界,并且让我处在一个更容易开拓眼界的位置。这半年来对英文原版书籍的阅读是一个愉快的经历,有不少体会:
    1.读电子书十分必要。电子书的流行速度要比纸质书快多了,虽然从amazon也能购买到最新的图书,但money是个很重要的问题,如果从国内出版社买可能得等好几年,或者根本没有。即使买了,也很容易买到让人后悔的烂书。看电子书可以让人以极低的代价大量阅读图书以做出评判,选择其中最优秀的,而且速度不比Amazon慢多少。如果碰到十分喜欢的书,再去买纸质的也可以。
    2.看英文原版一方面是出于流行速度的考虑,毕竟中文版或影印版的发行要慢多了;另一方面,必须培养阅读英文技术书籍的习惯;最重要的事,有些中文书籍翻译质量很差,要么是七拼八凑,可以归于烂书。
    3.要适合自己的层次。a)虽然是学习新技术,但以前掌握的知识可以迁移到新技术上,所以可以直接读一些略微深一些的书。读Applied Microsoft .NET Framework Programming就是如此,它相对于语言居次的书更层次更高一些,我在对C#掌握不全的情况读它仍然收获很大。b)读深一些的书可以拓宽知识面,即使遇到个别不懂的,将来也可以重读。c)图书中相似的知识很多,找准一个合适的难度可以节省时间,例如在读完Applied Microsoft .NET Framework Programming后,我只花了不到一天时间就把Microsoft Visual C# .NET Step by Step这种级别的书读完了。如果完全由浅入深读,在读到深一层的书时,当中仍会有大量已经掌握的知识,精读浪费时间而且容易让人疲倦感,如果只是浏览又容易忽略当中重要的信息,使人左右为难。
    4.时机很难得,工作了这样大量的阅读时间就少多了,而且不得不占用周末时间,很痛苦的一件事。
    5.先看书还是先动手,选择很难。二者各有各的优点,只能是尽量同时兼顾了。
    6.最后,多看书评。

Advertisements
This entry was posted in 图书. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s