-
Object-Oriented Programming With ANSI-C
Object-oriented programming is the current cure-all — although it has been around for much more then ten years. At the core, there is little more to it then finally applying the good programming principles which we have been taught for more then twenty years. C++ (Eiffel, Oberon-2, Smalltalk ... take your pick) is the New Language (ed: this book was published in 1993) because it is object-oriented — although you need not use it that way if you do not want to (or know how to), and it turns out that you can do just as well with plain ANSI-C. Only object-orientation permits code reuse between projects — although the idea of subroutines is as old as computers and good programmers always carried their toolkits and libraries with them. This book is not going to praise object-oriented programming or condemn the Old Way. We are simply going to use ANSI-C to discover how object-oriented programming is done, what its techniques are, why they help us solve bigger problems, and how we harness generality and program to catch mistakes earlier. Along the way we encounter all the jargon — classes, inheritance, instances, linkage, methods, objects, polymorphisms, and more — but we take it out of the realm of magic and see how it translates into the things we have known and done all along. Intended Audience: I had fun discovering that ANSI-C is a full-scale object-oriented language. To share this fun you need to be reasonably fluent in ANSI-C to begin with — feeling comfortable with structures, pointers, prototypes, and function pointers is a must. Working through the book you will encounter all the newspeak — according to Orwell and Webster a language "designed to diminish the range of thought" — and I will try to demonstrate how it merely combines all the good programming principles that you always wanted to employ into a coherent approach. As a result, you may well become a more proficient ANSI-C programmer. -
C语言核心技术
C程序员在编写程序时手头一定要有这本书。在这本书中,C 语言专家 Peter Prinz和Tony Crawford为你提供大量的编程参考信息。全书叙述清晰,语句简洁,分析深刻。本书主题包括: C 语言的语法、GNU编译器选项、标准链接库函数、GDB和make、预处理指令、C99特色和扩充。 本书内容丰富,总共包含21章,能够让你深刻了解C 语言关键概念,比如类型转换、动态内存管理、指针处理等。想知道 GNU make 或 GNU 调试器的细节吗?本书开辟专门的章节来讲解。一书在手,程序开发会更加顺利!Peter 和 Tony 所编写的这本书会成为C语言程序员必备的工作利器! 作者简介: Peter Prinz是积极的研讨会组织者和关键课程开发者,向成百上千的Unix和windows系统开发者授课。作为德国IT公司Authensis AG的主要开发者和合伙人,他拥有计算机电话通信软件的丰富开发经验。Peter也是多本有关c/c++软件开发图书的合著者,其中大多数图书是与Ulla Kirch-Prinz合著的,其中就包括0'Reilly出版的《C Pocket Reference》。 -
计算机算法的设计与分析
本书是一部设计与分析领域的经典著作,着重介绍了计算机算法设计领域的基本原则和根本原理。书中深入分析了一些计算机模型上的算法,介绍了一些和设计有效算法有关的数据结构和编程技术,为读者提供了有关递归方法、分治方法和动态规划方面的详细实例和实际应用,并致力于更有效算法的设计和开发。同时,对NP完全等问题能否有效求解进行了分析,并探索了应用启发式算法解决问题的途径。另外,本书还提供了大量富有指导意义的习题。 本书可以作为高等院校计算机算法设计与分析课程的本科生或研究生教材,也可以作为计算机理论研究人员、计算机算法设计人员的参考书。 -
Windows编程启示录
为什么Windows的工作方式是这样的?. 为什么“关闭计算机(Shut Down)”选项要放在开始菜单中? 为什么会设计一个“开始(Start)”按钮? 我怎么才能进入到对话框的消息循环中? 为什么GetWindoeText函数会有着奇怪的行为? 为什么注册表文件会被叫作“蜂房”? 如果我们追溯Windows的历史,就会发现在Windows中许多奇怪的事情都有着合乎逻辑的解释。在理解了这些事情之后,你不仅能够获得开发能力的大大提高,同时也能够避免遭受更多的挫折。Remond Chen在Micorsoft的Windows开发团队中工作了十余年,他将为你揭开那些有必要知道的“Windows内幕”。 Chen风趣的写作风格、深入的洞察力以及引人深思的幽默,使他成为了世界上最优秀的技术博客作者之一(博客地址:http: //blogs.msdn.com/oldnewthing/)。在本书中,他不仅给我们带来了许多幕后的故事,宝贵的技术建议,还带来了许多启发性的轶事;这些都将帮助你最大程度地理解Windows。.. 在本书中,你将了解以下的内容: ·我们如何设计像自动售货机那样有效的用户界面。 ·深入理解窗口和对话框的管理机制。 ·为什么性能优化与我们在直觉上的理解很不一样。 ·COM对象和Visual C++编译器的薄弱之处。 ·向后兼容的关键技术细节——Windows的做法以及这样做的原因。 ·大多数开发人员所不知道的Windows程序安全漏洞。 ·如何使你的程序更好地在Windows系统中运行,做一个Windows系统的“良好市民”。 -
深入浅出面向对象分析与设计
你是否早已对市面上那些只有在成为专家以后,读起来才有感觉的 OOA&D 书籍感到厌倦?你可能早就听说过 OOA&D 书籍能帮助你写出伟大的软件 — 让老板高兴、客户满意的软件。. 但如何办到呢? 《深入浅出面向对象分析和设计》将告诉你如何分析、设计以及撰写真正面向对象的软件:容易重利用、好维护、可扩展的软件;不再使你心碎的软件;让你增添新功能而不会破坏旧机制的软件。在本书中,你将学到: ·使用诸如封装(encapsulation)与委派(delegation)的 OO 原则建立灵活的应用程序。 ·使用开闭原则(Open-Closed Principle)与单一责任原则(Single-Responsibility Principle)提升程序的重利用性。 ·学习如何将 OO 原则、设计模式及各种开发方法,通通整合到 OOA&D 项目的生命周期里。 ·运用 UML、用例及用例图来确保所有利害关系人都能清楚地进行沟通,协助你交付正确的软件,达到每个人的要求。... -
Beginning Python
Beginning Python: From Novice to Professional is the most comprehensive book on the Python ever written. Based on Practical Python, this newly revised book is both an introduction and practical reference for a swath of Python-related programming topics, including addressing language internals, database integration, network programming, and web services. Advanced topics, such as extending Python and packaging/distributing Python applications, are also covered. Ten different projects illustrate the concepts introduced in the book. You will learn how to create a P2P file-sharing application and a web-based bulletin board, and how to remotely edit web-based documents and create games. Author Magnus Lie Hetland is an authority on Python and previously authored Practical Python. He also authored the popular online guide, Instant Python Hacking, on which both books are based.