分享

这本书改变了我的人生

 dfd6kl 2010-06-04
不要误会,本书与成功学无关。

  最初知道 Python,是因为《程序员》上关于这门语言的连载文章。据说作者“恶魔吹着笛子来”就是Javaeye上有名的T1大人。从那时起,我开始对这门语言 有很大的兴趣,开始找各种相关的资料。

  基本上,如果让我谈及自己的职业生涯或者人生。总绕不开 Python 这门编程语言,以及 Python Tutorial 的翻译经历。不过就离题比较远了。

  回到主题上,Python是一门值得学习的语言。限于大环境,我们广大的程序员学习编程技术时,往往是从两个并不理想的途径入手,一个是类似 TC、TP这样的,基于过时的平台环境,知识书籍也很多年没有更新的工具;另一种是完全采用产业界常见的技术,忽略其购买成本和知识体系的内容,走进高校 的宿舍,我们可以看到,学生们的电脑中总是充斥着各种“完美破解”、“完美汉化”的VS和MyEclipse等IDE。学习者对于计算机体系结构、对于基 础的算法知识都不够重视。对于软件项目组织和架构的大局观被IDE和框架完全割裂。

  这并不是工具的错误,而是生产和学习被倒置带来的问题。很多在实践中有价值的工具和技术,并不适合作为初学的教材。例如C#和.net CLR中,有很多有趣的技术,作为前C#程序员,我强烈推荐每一个学习者和从业者都读一下Jeferry的《.net 框架程序设计》,但是很多学习者却是守在IDE前拖了多年控件,却一直没有关注过语言和运行时的知识。

  我并不是要贬低谁,我自己也是过了几年才意识到这种学习方法带来的弊病。很幸运的是在我体会到瓶颈所在时,遇到了Python。这门语言足够 简单,但是也非常强大。适合做初学者的学习工具。又具有很大的实用价值。Python作为通用语言,不依赖于特定的框架、IDE、应用场景和编程范式。从 练习的小程序、系统管理的小工具,到通用产品,web网站甚至大型的分布式服务都可以胜任。它高度透明的运行时环境,优雅的动态结构,以及面向数据结构的 强大语法,都有助于学习者建立良好的知识体系和思维方式。

  另一个非常棒的地方在于Python有一份很好的入门教程,出自语言设计者本人,循序渐进,由浅入深。而且,它的电子版可以直接在 Python官网阅读,也可以自由下载。国内不方便购买实体书的读者,也可以下载中英对照版本(http://wiki.woodpeck
er.org.cn/moin/March_Liu/PyTutorial)。 之所以保留英文,是因为我自觉英文水平有限,难免有错误,读者如果感觉有难以理解的内容,可以对照原文。

  Python 是我最重要的工作语言,但却是我买书最少的,我唯一依赖的 Python Tutorial 是网上下载,自己翻译的,还有一本陈儒先生的《Python 源码剖析》属于外延书籍,并非针对入门者的。可以说只需要 Python Tutorial,就足以让学习者成为合格的 Python 程序员(当然,如果你要胜任一个开发岗位,总要学习相关的各种技术,例如做Web要懂JS、HTML、数据库;做系统管理要懂管道、文件、网络Shell 等等)。

  很多在互联网上求助的Python学习者,其实只要认真读一下Python Tutorial,其问题就根本不存在。这本可以免费阅读的教程比很多商业出版物更系统全面。尤其是作者比绝大多数的技术书作者更了解Python,更了 解如何用好这门语言。

  我推荐读者除了基本的语法知识,应该认真学习一下列表推导式、生成器和各种基本数据结构的用法,这是Python不同于其它语言的魅力所在。 相对于静态OO语言,它提供更多的针对数据结构的函数式规则定义语法,以及内置的高级数据结构,这使得我们可以从更高的视角去处理信息;相对于纯FP语 言,它提供更友好的程序设计方式和灵活强大的OO能力,使Python成为一门更友好易学的实用语言。

  Python Tutorial 中没有提及关于元类等高级 OO 知识。这些技术在我学习使用Python的前六七年中一直没有使用过。当然它们对于编写一些高度通用或可扩展的程序,还是很有意义的,元类编程的知识,可 以在网上搜索 shhg 撰写的一些中文文章;或者 limodou 的 Ulipad 项目,其源码是很好的元类技术实践。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多