欢迎来到相识电子书!

标签:程序设计

  • Code Reading

    作者:迪欧米迪斯

    2004年美国Jolt大奖入围作品。 如果你是个程序员的话,那么你就需要本书。可能导致我们阅读代码的原因是:我们不得不去修复它其中所包含的错误;或是对它进行遍查(inspect);或者是改善它。我们阅读代码的方式可能和工程师检查机械的方式一样——找出它的工作原理。或者我们阅读代码的目的是对代码进行清理——找出其中可以被重用的部分。阅读代码有着它自身的技巧,并需要我们能够在重要场合对采用何种技术有着判断能力。在这本不可或缺的书中,Diomidis Spinellis使用了超过600个来自现实世界中的例子来向我们展示如何鉴别好的(或坏的)代码:如何去阅读它,从中去找寻什么,以及如何利用这种技巧来提升我们自身编写的代码的品质。记住这个事实:如果我们养成了阅读好代码的习惯,我们就能写出更高品质的代码。
  • C 语言的科学和艺术

    作者:罗伯茨

    《C 语言的科学和艺术(英文版)》是一本计算机科学的经典教材,强调软件工程和优秀的程序设计风格。此外,学生还可以从书中学习到ANSI C的基础知识,这些内容已经成为计算行业的标准。作者的写作风格使得书中深奥的概念变得易于理解和引人入胜。 《C 语言的科学和艺术(英文版)》集中讨论库和抽象的用法,这是当代程序设计技术中最基本的知识。作者使用库来隐藏C语言的复杂性,更加突出主题。使学生可以较好地掌握每一个主题的精髓。然后,进一步给出每个库的底层实现,较好地展示了库自身的抽象威力。
  • 程序设计方法(中文版)

    作者:Matthias Fellise

    《程序设计方法》以Scheme语言为基础介绍计算和程序设计的一般理论和实践。《程序设计方法》由8个部分和7个独立的章节(第8、13、18、24、29、33、38章)组成。8个部分主要讨论程序设计,独立章节则介绍一些与程序设计和计算相关的话题。《程序设计方法》第1至第3部分介绍了基于数据驱动的程序设计基础。第4部分介绍了程序设计中的抽象问题。第5部分和第6部分是与递归及累积相关的内容。《程序设计方法》的最后两部分说明了设计程序的意义,阐述了如何应用前6个部分所描述的程序设计诀窍,以及使用赋值语句必须特别小心的一些问题。 《程序设计方法》可作为高等院校计算机科学与技术专业“程序设计导论”和“计算导论”的教材和教学参考书,也可作为函数式语言和Scheme语言的入门教材。
  • 编译原理与实践

    作者:Kenneth C.Louden

    This exciting new book combines a detailed study of modern theories of compiler design with a complete description (with source code)of a working compiler for a small language.The book reflects the author's conviction that practical aspects of compiler design cannot be understood without a grasp of theory,and that theory cannot be truly comprehended by undergraduate students without seeing it put into actual practice.Unifying the text's discussion of concepts is a complete working compiler written in C and developed using the techniques discussed in each chapter. Extensive exercise sets at the end of each chapter focus student's attention on specific programming problems.
  • 编译原理及实践

    作者:Kenneth C.Louden

    《编译原理及实践》系统介绍了经典的编译理论和技术,同时也包含了面向对象语言等当前较新语言的编译技术。本书更可贵之处在于提供了较完整的适用于教学实践的样例语言,是一本理论和实践内容相结合的、不可多得的好书。 《编译原理及实践》可用作大专院校教材、教师参考书以及编译器研究人员的参考资料。
  • The Craft of Prolog

    作者:Richard O'Keefe

    Hacking your program is no substitute for understanding your problem. Prolog is different, but not that different. Elegance is not optional. These are the themes that unify Richard O'Keefe's very personal statement on how Prolog programs should be written. The emphasis in The Craft of Prolog is on using Prolog effectively. It presents a loose collection of topics that build on and elaborate concepts learned in a first course. These may be read in any order following the first chapter, "Basic Topics in Prolog," which provides a basis for the rest of the material in the book.Richard A. O'Keefe is Lecturer in the Department of Computer Science at the Royal Melbourne Institute of Technology. He is also a consultant to Quintus Computer Systems, Inc.Contents: Basic Topics in Prolog. Searching. Where Does the Space Go? Methods of Programming. Data Structure Design. Sequences. Writing Interpreters. Some Notes on Grammar Rules. Prolog Macros. Writing Tokenisers in Prolog. All Solutions.
  • Python高级编程

    作者:Tarek Ziadé

    《Python高级编程》通过大量的实例,介绍了Python语言的最佳实践和敏捷开发方法,并涉及整个软件生命周期的高级主题,诸如持续集成、版本控制系统、包的发行和分发、开发模式、文档编写等。《Python高级编程》首先介绍如何设置最优的开发环境,然后以Python敏捷开发方法为线索,阐述如何将已被验证的面向对象原则应用到设计中。这些内容为开发人员和项目管理人员提供了整个软件工程中的许多高级概念以及专家级的建议,其中有些内容的意义甚至超出了Python语言本身。 《Python高级编程》针对具备一定Python基础并希望通过在项目中应用最佳实践和新的开发技术来提升自己的Python开发人员。
  • Linux C编程一站式学习

    作者:宋劲杉

    本书有两条线索,一条线索是以Linux平台为载体全面深入地介绍C语言的语法和程序的工作原理,另一条线索是介绍程序设计的基本思想和开发调试方法。本书分为两部分:第一部分讲解编程语言和程序设计的基本思想方法,让读者从概念上认识C语言;第二部分结合操作系统和体系结构的知识讲解程序的工作原理,让读者从本质上认识C语言。. 本书适合做零基础的初学者学习C语言的第一本教材,帮助读者打下牢固的基础。有一定的编程经验但知识体系不够完整的读者也可以对照本书查缺补漏,从而更深入地理解程序的工作原理。本书最初是为北京亚嵌教育研究中心的嵌入式Linux系统工程师就业班课程量身定做的教材之一,也适合作为高等院校程序设计基础课程的教材。本书对于C语言的语法介绍得非常全面,对C99标准做了很多解读,因此也可以作为一本精简的C语言语法参考书。...
  • Perl语言入门

    作者:Randal L.Schwartz,To

    《Perl语言入门(第5版)》也就是大家所称道的“小骆驼书”,是Perl程序设计人员最为仰赖的启蒙读物之一。自1993年以来,这本《Perl语言入门(第5版)》就成为热卖的Perl语言教学材料,而此次新版又涵盖了Perl 5.10的最新变化。《Perl语言入门(第5版)》的诸位作者自1991年起就开始在Stonehenge Consulting从事Perl教学工作,多年的课堂教学实践和积累下来的点滴经验,形成了《Perl语言入门(第5版)》特有的教学节奏,以及务实的知识点取舍。随文而至的习题,可以让你及时巩固各种概念,强化理解和吸收。《Perl语言入门(第5版)》容涵盖: ·Perl的变量类型 ·子程序 ·文件的操作 ·正则表达式 ·字符串的操作 ·列表与排序 ·进程的管理 ·智能匹配 ·第三方模块的使用 有些人只是想要完成任务,Perl语言为此而生。Perl的最初目标只是为了协助Unix系统管理员完成日常繁琐的文本数据处理工作。时至今日,Perl已发展成为一套功能齐备的程序语言,几乎可以在任何操作系统上完成各种任务——从简单的命令行工具到Web应用开发,及至生物信息学、金融数据分析等等不一而足。其他书籍可能会着重于教会你使用Perl语言来编程,可《Perl语言入门(第5版)》不同,我们是想要你成为一名真正的Perl程序员。
  • 架构之美

    作者:Till Adam

    本书围绕5个主题领域来组织本书的内容:概述、企业应用、系统、最终用户应用和编程语言。本书让最优秀的设计师和架构师来描述他们选择的软件架构,剥开架构的各层,展示他们如何让软件做到实现功能、可靠、易用、高效率、可维护、可移植和优雅。
  • 冒号课堂

    作者:郑晖

    《冒号课堂》以课堂对话的形式,借六位师生之口讲述编程要义。上篇对编程范式作了入门性的介绍,并对一些流行的编程语言进行了简评;下篇侧重阐发软件设计思想,其中在范式上以OOP为主,在语言上以C++、Java和C#为主。全书寓庄于谐,深入浅出,既可开阔眼界,又能引发思考,值得编程爱好者品读。
  • Elements of Programming

    作者:Alexander A. Stepano

    Elements of Programming provides a different understanding of programming than is presented elsewhere. Its major premise is that practical programming, like other areas of science and engineering, must be based on a solid mathematical foundation. The book shows that algorithms implemented in a real programming language, such as C++, can operate in the most general mathematical setting. For example, the fast exponentiation algorithm is defined to work with any associative operation. Using abstract algorithms leads to efficient, reliable, secure, and economical software. This is not an easy book. Nor is it a compilation of tips and tricks for incremental improvements in your programming skills. The book’s value is more fundamental and, ultimately, more critical for insight into programming. To benefit fully, you will need to work through it from beginning to end, reading the code, proving the lemmas, doing the exercises. When finished, you will see how the application of the deductive method to your programs assures that your system’s software components will work together and behave as they must. Following key definitions, the book describes a number of algorithms and requirements for types on which they are defined that exemplify its abstract mathematical approach. The code for these descriptions—also available on the Web—is written in a small subset of C++ meant to be accessible to any experienced programmer. This subset is defined in a special language appendix coauthored by Sean Parent and Bjarne Stroustrup. Whether you are a software developer, or any other professional for whom programming is an important activity, or a committed student, you will come to understand what the book’s experienced authors have been teaching and demonstrating for years—that mathematics is good for programming, that theory is good for practice.
  • Google Android开发入门与实战

    作者:姚尚朗,靳岩

    本书内容上覆盖了用Android开发的大部分场景,从Android基础介绍、环境搭建、SDK介绍、Market使用,到应用剖析、组件介绍、实例演示等方面。从技术实现上,讲解了5个Android平台下的完整综合实例及源代码分析,分别是RSS阅读器、基于Google Map的个人GPS、豆瓣网(Web 2.0)客户端、在线音乐播放器、手机信息助手。 本书注重对实际动手能力的指导,在遵循技术研发知识体系的严密性同时,在容易产生错误、不易理解的环节配以了详实的开发情景截图,并将重要的知识点和经验技巧以“小实验”、“小知识”的活泼形式呈现给读者。在程序实例的讲解方面,将实例安插在Android开发的精髓知识章节,这为初学者学习与实践结合提供了很好的指导。. 本书配套有300多分钟的全程开发视频光盘,指导读者快速、无障碍地学通Android实战开发技术。.. 本书适合具备一定软件开发经验,想快速进入Android开发领域的程序员;具备一些手机开发经验的开发者和Android开发爱好者学习用书;也适合作为相关培训学校的Android培训教材。 特点: * 第一本国内开发团队原创的Android图书 * 完全基于Android最新的SDK1.5 * 著名台湾技术专家高焕堂、Google Android工程师何峰、InfoQ站长霍泰稳鼎力推荐! * 全书除了大量小型案例之外还包含了5个Android平台下的完整商业实例及源码分析,分别是RSS阅读器、基于GoogleMap的个人GPS、豆瓣客户端、在线音乐播放器、手机信息助手 * 随书附赠的光盘中包含389分钟的详细教学视频以及Android开发必备开发资源,部分教学视频免费下载地址:http://www.eoeandroid.com/viewthread.php?tid=328 * 读者对于此书内容的疑问可以访问http://www.eoeandroid.com社区,作者团队将会及时解答
  • C++语言99个常见编程错误

    作者:Stephen C. Dewhurst

    本书是C++语言大师Stephen C. Dewhurst在多年教授C++课程中所遇到的常见错误的心得笔记之基础上编写而成的。本书所有章节都是从一个众所周知的、在日常编码或设计实践中经常遭遇的问题入手,先指出其不足,再对其背后思想中存在的合理与不合理之处深入剖析;最后取其精华弃其糟粕,给出一个简洁、通用、美轮美奂的方案,指出有关如何规避或纠正它们的建议,从而有助于C++软件工程师们避免重蹈前辈们的覆辙。
  • 卓有成效的程序员

    作者:Neal Ford

    《卓有成效的程序员》就是讲述如何在开发软件的过程中变得更加高效。同时,《卓有成效的程序员》的讲述将会跨语言和操作系统:很多技巧的讲述都会伴随多种程序语言的例子,并且会跨越三种主要的操作系统,Windows(多个版本),Mac OS X以及 *-nix (Unix或者Linux)。 《卓有成效的程序员》讨论的是程序员个体的生产力,而不是团队的生产力问题,所以它不会涉及方法论(好吧,可能总会在这里或那里谈论到一些,但肯定不会深入讨论)。同时《卓有成效的程序员》也不会讨论生产力对整个团队的影响。我的使命,是让作为个体的程序员通过掌握恰当的工具和思想变得更加高效。
  • JavaScript

    作者:克罗克福特

    《JavaScript:The Good Parts(影印版)》一书中,Crockford深度分析了一堆好的意图和盲目的错误,为你提供了所有JavaScript的地道优良部分的细节,包括:·语法·继承·方法;·对象·数组·风格;·函数·正则表达式·美丽的特性大多数编程语言包含优良和拙劣的部件,但对JavaScript而言后者的比重较大,因为它在匆忙中开发和发布,还没能够得到精炼。这本权威的书剔除了大多数可怕的JavaScript特性,展现了JavaScript的另一部分,这一部分比JavaScript语言作为一个整体更加稳定、更具有可读性以及可维护性——可以用这个部分创建真正可展的合高效的代码。 作者Douglas Crockford(他被很多开发社区认为是JavaScript专家)提出了足够多的好想法,让JavaScript成为一个杰出的面向对象编程语言。不幸的是,这些好想法(比如函数、弱类型、动态对象和表达能力很强的对象文字注释)被掺杂了些坏想法(比如基于全局变量的编程模型)。 当Java Applet陨落的时候,JavaScript成为了Web编程的缺省语言,但它的流行程度跟它作为一个编程语言的质量完全没有关系。
  • Python Tutorial

    作者:Guido Van Rossum,Fre

    最权威的 Python 教程,由 Python 作者 Guido van Rossum 主笔,有少许学院味道。中文电子版由刘鑫、李梦夷翻译。英文原稿网址:http://docs.python.org/tut/简体中文版网址:http://wiki.woodpecker.org.cn/moin/March_Liu/PyTutorial
  • 程序设计语言原理

    作者:(美)賽巴斯塔(Sebesta,R.W.

    本书从为什么学习程序设计语言入手,深入细致地讲解了命令式语言的主要结构及其设计与实现,内容涉及变量、数据类型、表达式和赋值语句、控制语句、子程序、数据抽象机制、支持面向对象程序设计(继承和动态方法绑定)、并发和异常处理等方面。最后两章介绍了函数式程序设计语言和逻辑程序设计语言。 本书内容丰富,剖析透彻,被美国和加拿大多所高等院校采用作为教材。本书既可用做高等院校计算机及相关专业本科生程序设计语言课程的教材和参考书,也可供程序设计人员参考。
  • 程序员修炼之道

    作者:[美]享特

    《程序员修炼之道》适合各层次软件开发人员阅读,也适合高等院校计算机专业学生和教师阅读。
  • 编写高质量代码

    作者:李健

    本书是C++程序员进阶修炼的必读之作,包含的全部都是C++编码的最佳实践,从语法、编码规范和编程习惯、程序架构和设计思想等三大方面对C++程序和设计中的疑难问题给出了经验性的解决方案,为C++程序员编写更高质量的C++代码提供了150条极为宝贵的建议。每个问题都来自于实践,都极具代表性,本书不仅以建议的方式正面为每个问题给出了被实践证明为十分优秀的解决方案,而且还从反面给出了被实践证明为不好的解决方案,从正反两个方面进行了分析和对比。 全书在逻辑上一共分为三个部分:语法部分涵盖C++从C语言继承而来的一些极为重要但又极容易被误解和误用的一些语法特性,从C语言到C++的改变,以及内存管理、类、模板、异常处理、STL等方面的内容;编码习惯和编程规范部分则主要讨论了如何提高程序的正确性、可读性、程序性能和编码效率方面的问题;程序架构和思想部分则从更高的高度对C++程序设计思维和方法进行了审视,给出了一些颇具价值的观点和最佳实践。 这是一本关于如何提高C++程序设计效率与质量的工具书,希望书中的每条建议都能引起你的思考,对于有难度的内容,建议大家消化理解,切勿死记硬背,同时也希望大家能悟出更好的解决方案。希望本书中的每条建议所传递的思想和理念能够渗透到大家的编码实践中,进而帮助大家真正具备编写高质量C++代码的能力。