-
Masterminds of Programming
Description Masterminds of Programming features exclusive interviews with the creators of several historic and highly influential programming languages. Think along with Adin D. Falkoff (APL), James Gosling (Java), Bjarne Stroustrup (C++), and others whose vision and hard work helped shape the computer industry. You'll find advice you can apply to systems you're developing, even if you don't use the specific languages being discussed. Full Description Masterminds of Programming features exclusive interviews with the creators of several historic and highly influential programming languages. In this unique collection, you'll learn about the processes that led to specific design decisions, including the goals they had in mind, the trade-offs they had to make, and how their experiences have left an impact on programming today. Masterminds of Programming includes individual interviews with: * Adin D. Falkoff: APL * Thomas E. Kurtz: BASIC * Charles H. Moore: FORTH * Robin Milner: ML * Donald D. Chamberlin: SQL * Alfred Aho, Peter Weinberger, and Brian Kernighan: AWK * Charles Geschke and John Warnock: PostScript * Bjarne Stroustrup: C++ * Bertrand Meyer: Eiffel * Brad Cox and Tom Love: Objective-C * Larry Wall: Perl * Simon Peyton Jones, Paul Hudak, Philip Wadler, and John Hughes: Haskell * Guido van Rossum: Python * Luiz Henrique de Figueiredo and Roberto Ierusalimschy: Lua * James Gosling: Java * Grady Booch, Ivar Jacobson, and James Rumbaugh: UML * Anders Hejlsberg: Delphi inventor and lead developer of C# If you're interested in the people whose vision and hard work helped shape the computer industry, you'll find Masterminds of Programming fascinating. -
Pro JavaScript Design Patterns
As a web developer, you’ll already know that JavaScript™ is a powerful language, allowing you to add an impressive array of dynamic functionality to otherwise static web sites. But there is more power waiting to be unlocked--JavaScript is capable of full object-oriented capabilities, and by applying OOP principles, best practices, and design patterns to your code, you can make it more powerful, more efficient, and easier to work with alone or as part of a team. With Pro JavaScript Design Patterns, you’ll start with the basics of object-oriented programming in JavaScript applicable to design patterns, including making JavaScript more expressive, inheritance, encapsulation, information hiding, and more. With that covered, you can kick-start your JavaScript development in the second part of the book, where you’ll find detail on how to implement and take advantage of several design patterns in JavaScript, including composites, decorators, façades, adapters, and many more. Each chapter is packed with real-world examples of how the design patterns are best used and expert advice on writing better code, as well as what to watch out for. Along the way you’ll discover how to create your own libraries and APIs for even more efficient coding. * Master the basics of object-oriented programming in JavaScript, as they apply to design patterns. * Apply design patterns to your kick-start your JavaScript development. * Work through several real-world examples. -
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》。 -
Programming Collective Intelligence
Want to tap the power behind search rankings, product recommendations, social bookmarking, and online matchmaking? This fascinating book demonstrates how you can build Web 2.0 applications to mine the enormous amount of data created by people on the Internet. With the sophisticated algorithms in this book, you can write smart programs to access interesting datasets from other web sites, collect data from users of your own applications, and analyze and understand the data once you've found it. Programming Collective Intelligence takes you into the world of machine learning and statistics, and explains how to draw conclusions about user experience, marketing, personal tastes, and human behavior in general -- all from information that you and others collect every day. Each algorithm is described clearly and concisely with code that can immediately be used on your web site, blog, Wiki, or specialized application. This book explains: * Collaborative filtering techniques that enable online retailers to recommend products or media * Methods of clustering to detect groups of similar items in a large dataset * Search engine features -- crawlers, indexers, query engines, and the PageRank algorithm * Optimization algorithms that search millions of possible solutions to a problem and choose the best one * Bayesian filtering, used in spam filters for classifying documents based on word types and other features * Using decision trees not only to make predictions, but to model the way decisions are made * Predicting numerical values rather than classifications to build price models * Support vector machines to match people in online dating sites * Non-negative matrix factorization to find the independent features in a dataset * Evolving intelligence for problem solving -- how a computer develops its skill by improving its own code the more it plays a game Each chapter includes exercises for extending the algorithms to make them more powerful. Go beyond simple database-backed applications and put the wealth of Internet data to work for you. "Bravo! I cannot think of a better way for a developer to first learn these algorithms and methods, nor can I think of a better way for me (an old AI dog) to reinvigorate my knowledge of the details." -- Dan Russell, Google "Toby's book does a great job of breaking down the complex subject matter of machine-learning algorithms into practical, easy-to-understand examples that can be directly applied to analysis of social interaction across the Web today. If I had this book two years ago, it would have saved precious time going down some fruitless paths." -- Tim Wolters, CTO, Collective Intellect -
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系统的“良好市民”。 -
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.