《深入理解程序设计》试读:1.1 欢迎加入编程大军
1.1 欢迎加入编程大军
我热爱编程,编写不但能运行而且风格良好的程序是我最喜欢的挑战。编程如同写诗。它不仅是向计算机传递信息,也是向修改和使用程序的人传递信息。有了程序,你就能用一套规则构建自己的世界,按自己对问题的理解和自己构思的解决方案来创造自己的世界。高明的程序员可以用诗篇或散文般简明的程序来构建世界。
作为最伟大的程序员之一,Donald Knuth这样向我们描述编程:编程并非告诉计算机如何做某件事,而是告诉人们程序员如何指示计算机做某件事。这里的关键在于:程序不仅仅是给计算机看的,更是给人看的。当你转向其他项目后,你的程序将由其他人修改和更新。因此,编程并非只需要和计算机交流,更意味着要和接替你的程序员沟通。程序员不仅是问题的解决者,同时也是诗人和教师。作为程序员,你的目标是以协调、优雅的方式解决手边的问题,并把自己的解决方案传授给未来的程序员。希望本书至少能有这个荣幸:向你传授一些让使用计算机变得令人兴奋的诗意和魔力。
多数入门编程书籍让我感到非常失望。读完这类书之后,我们仍然会问“计算机到底是怎么工作的”,并且不能获得圆满的答案。这些书遇到那些艰深的主题往往就语焉不详,即使这些主题非常重要。在本书中,我将会引导你理解这些难懂的问题,因为这是成为编程高手的唯一途径。我的目标是让那些对编程一无所知的人懂得如何像程序员那样思考、编程和学习。当然,读过本书之后,你不可能掌握与编程有关的一切,但将会对所有这一切是如何相互配合的有所了解。认真阅读本书后,你应该能够做到以下几点:
了解程序的工作原理以及一个程序如何与其他程序交互;
学会阅读他人的程序并了解其工作原理;
快速学习新的编程语言;
快速学习先进的计算机科学概念。
当然,我无法在这本书中将与编程有关的一切传授给你。因为计算机科学是个宽广的领域,尤其在涉及计算机编程理论与实践相结合时更是如此。然而,我会尝试让你打好基础,这样,以后你就能比较容易地向任何感兴趣的方向发展。
教授编程特别是汇编语言编程,与“先有鸡还是先有蛋”的问题颇有几分类似。在这里,有很多东西需要学习,要马上学会这一切确实有点勉为其难。但由于各部分知识是相互联系的,所以学习编程时,你只要一以贯之地耐心对待你自己和计算机,就会较快地学有所成。在学习本书的过程中,对第一次阅读时未能理解的内容,请再读一遍。如果仍然不明白,也许暂时记住它,稍后再去回顾和理解会更好。因为通常情况下,必须在对编程有更多接触后,那些概念才会变得更易理解。不要气馁,这个过程尽管漫长而艰难,但一切努力都是值得的。
本书每章的末尾都有三组复习题:第一组用于回想,检查你是否记得在该章学到的知识;第二组涉及实际应用,检验你是否能运用学到的知识解决问题;最后一组是为了检验你能否拓展视野、举一反三。最后一组题目中的有些问题要等学习了后面的章节才能回答,但它们会让你带着问题学习后续的内容。有些问题需要研究本书之外的资料才能找到答案,还有一些问题要求简单分析你的选择,对最佳方案加以说明。需要指出的是,许多问题的答案并无对错之分,但这并不意味着它们不重要。学习编程中所涉及的问题、学习如何通过调研找到答案、学习编程时如何考虑未来的变数,这些都是程序员工作的重要组成部分。
如果有实在无法解答的问题,读者可借助本书的邮件列表[email protected]讨论书中内容并获得帮助。(通过此邮件列表,读者可提出与本书有关的任何问题。)你可以通过访问http://mail.nongnu.org/mailman/listinfo/pgubook-readers来订阅此列表。

作者: [美] Jonathan Bartlett
副标题: 使用Linux汇编语言
原作名: Programming from the ground up
isbn: 7115337888
书名: 深入理解程序设计
页数: 208
译者: 郭晴霞
定价: 49.00
出版社: 人民邮电出版社
装帧: 平装
出版年: 2014-1