Library
Bavo De Ridder
Collection Total:
126 Items
Last Updated:
Jun 11, 2011
Modern Compiler Implementation in C
Andrew W. Appel Last year you may have seen the Modern Compiler Implementation in C: Basic Techniques (1997) which was the preliminary edition of our new 1998 textbook, Modern Compiler Implementation in C. The new, expanded version of this textbook describes all phases of a modern compiler: lexical analysis, parsing, abstract syntax, semantic actions, intermediate representations, instruction selection via tree matching, dataflow analysis, graph-coloring register allocation, and runtime systems. It includes good coverage of current techniques in code generation and register allocation, as well as functional and object-oriented languages, that are missing from most books. In addition, more advanced chapters are now included so that it can be used as the basis for two-semester or graduate course. The most accepted and successful techniques are described in a concise way, rather than as an exhaustive catalog of every possible variant. Detailed descriptions of the interfaces between modules of a compiler are illustrated with actual C header files. The first part of the book, Fundamentals of Compilation, is suitable for a one-semester first course in compiler design. The second part, Advanced Topics, which includes the advanced chapters, covers the compilation of object-oriented and functional languages, garbage collection, loop optimizations, SSA form, loop scheduling, and optimization for cache-memory hierarchies. A unique feature of the book is a well designed compiler implementation project in Java, including front-end and 'high-tech' back-end phases, so that students can build a complete working compiler in one semester. Accompanying support software is available.
The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition
Frederick P. Brooks No book on software project management has been so influential and so timeless as The Mythical Man-Month. Now 20 years after the publication of his book, Frederick P. Brooks, Jr. (best known as the "father of the IBM System 360") revisits his original ideas and develops new thoughts and advice both for readers familiar with his work and for readers discovering it for the first time.
Java Web Services
David A. Chappell, Tyler Jewell Java Web Services gives the experienced Java developer a way into the Web Services world. It helps you to understand what's going on, what the technologies mean and how they relate, and shows Java developers how to put them to use to solve real problems. You'll learn what's real and what isn't; what the technologies are really supposed to do, and how they do it. Java Web Services shows you how to use SOAP to perform remote method calls and message passing; how to use WSDL to describe the interface to a web service or understand the interface of someone else's service; and how to use UDDI to advertise (publish) and look up services in each local or global registry. Java Web Services also discusses security issues, interoperability issues, integration with other Java enterprise technologies like EJB; the work being done on the JAXM and JAX-RPC packages, and integration with Microsoft's .NET services. The web services picture is still taking shape; there are many platforms and APIs to consider, and many conflicting claims from different marketing groups. And although web services are inherently language-independent, the fit between the fundamental principles on which Java and web services are based means that Java will almost certainly be the predominant language for web services development. If you're a Java developer and want to climb on the web services bandwagon, or if you only want to "kick the tires" and find out what web services has to offer, you will find this book indispensable.
Developing Enterprise Web Services: An Architect's Guide
Sandeep Chatterjee, James Webber Build Web services with enterprise-class reliability, performance, and value. Web services are transforming IT, and represent a powerful new way to reduce cost and drive top-line growth throughout the enterprise. This book takes a no-nonsense view of architecting and constructing enterprise-class Web services and applications. The authors expertly assess the current state of the Web services platform, offering best practices and new architectural patterns for leveraging the advantages of Web services-and mitigating the risks. This work helps build Web services and applications that meet enterprise requirements for security, mobility, transactions, QoS, workflow, portlets, management, and more. It helps you avoid the "bottomless pit" of application rewriting and maintenance overhead, and architect applications to stay reliable even if some Web services go off-line. It features acale applications to support the inclusion of Web services from multiple partners, and secure private information within Web services environments. It helps you develop high-value mobile Web service applications, and includes a detailed case study. Whether you're an architect, developer, project leader, or manager, this book will help you deliver on the promise of Web services in your real-world enterprise environment.
Surviving Object-Oriented Projects
Alistair Cockburn Surviving Object-Oriented Projects is an extraordinary compendium of useful strategies for organizing object-oriented projects. Independent of language or programming environment, it explains how to build good OO software despite all the conflicting forces at work. For all those OO projects that have set sail with no more than high concepts and a shiny new language, this book is the compass that will see them safely through."- Jeremy Raw, Independent Consultant Today, many organizations claim competitive market advantages resulting from the application of object-oriented technology and approaches in their software development efforts. As the use of object technology has become increasingly widespread and mainstream, a growing number of project managers are faced with a daunting task: keeping the object technology project on track and within budget. These project managers are burdened by the weight of knowing that the survival and ultimate success of the project hinges on their insight when planning the project and their responses to events that lie ahead. Unfortunately, hidden costs, unpleasant surprises and unrealistic expectations lie in wait for the unprepared manager. Although much has been written about object technology and the benefits of this paradigm, there is still a shortage of compiled knowledge about what to expect and to plan for during project implementation. This book provides information that managers need to combat the unforeseen challenges that await them, allowing them to survive and ultimately succeed with an object-oriented project. To provide practical advice and guidelines for successfully managing an object-oriented project, the author borrows from the seasoned wisdom of numerous experts and successful consultants while also drawing on his personal experience and extensive knowledge. Surviving Object-Oriented Projects: A Manager's Guide points out potential hazards and names workable solutions by addressing the important issues of scheduling, budgeting, staffing, and cost justification. Key points are supported and illustrated through short case studies taken from real object-oriented projects, and an appendix collects these workable guidelines and solutions into brief "crib sheets"- ideal for handy reference.
Maven: The Definitive Guide
Sonatype Company, Company Sonatype For too long, developers have worked on disorganized application projects, where every part seemed to have its own build system, and no common repository existed for information about the state of the project. Now there's help. The long-awaited official documentation to Maven is here.

Written by Maven creator Jason Van Zyl and his team at Sonatype, Maven: The Definitive Guide clearly explains how this tool can bring order to your software development projects. Maven is largely replacing Ant as the build tool of choice for large open source Java projects because, unlike Ant, Maven is also a project management tool that can run reports, generate a project website, and facilitate communication among members of a working team.

To use Maven, everything you need to know is in this guide. The first part demonstrates the tool's capabilities through the development, from ideation to deployment, of several sample applications — a simple software development project, a simple web application, a multi-module project, and a multi-module enterprise project.

The second part offers a complete reference guide that includes:

The POM and Project RelationshipsThe Build LifecyclePluginsProject website generationAdvanced site generationReportingPropertiesBuild ProfilesThe Maven RepositoryTeam CollaborationWriting PluginsIDEs such as Eclipse, IntelliJ, ands NetBeansUsing and creating assembliesDeveloping with Maven Archetypes

Several sources for Maven have appeared online for some time, but nothing served as an introduction and comprehensive reference guide to this tool — until now. Maven: The Definitive Guide is the ideal book to help you manage development projects for software, web applications, and enterprise applications. And it comes straight from the source.
Mono: A Developer's Notebook
Edd Dumbill, Niel M. Bornstein The Mono Project is the much talked-about open source initiative to create a Unix implementation of Microsoft's .NET Development Framework. Its purpose is to allow Unix developers to build and deploy cross-platform .NET applications. The project has also sparked interest in developing components, libraries and frameworks with C#, the programming language of .NET.

The controversy? Some say Mono will become the preferred platform for Linux development, empowering Linux/Unix developers. Others say it will allow Microsoft to embrace, extend, and extinguish Linux. The controversy rages on, but—like many developers—maybe you've had enough talk and want to see what Mono is really all about.

There's one way to find out: roll up your sleeves, get to work, and see what Mono can do. How do you start? You can research Mono at length. You can play around with it, hoping to figure things out for yourself. Or, you can get straight to work with Mono: A Developer's Notebook—a hands-on guide and your trusty lab partner as you explore Mono 1.0.

Light on theory and long on practical application, Mono: A Developer's Notebook bypasses the talk and theory, and jumps right into Mono 1.0. Diving quickly into a rapid tour of Mono, you'll work through nearly fifty mini-projects that will introduce you to the most important and compelling aspects of the 1.0 release. Using the task-oriented format of this new series, you'll learn how to acquire, install, and run Mono on Linux, Windows, or Mac OS X. You'll work with the various Mono components: the Common Language Runtime, the class libraries (both .NET and Mono-provided class libraries), and the Mono C# compiler. No other resource will take you so deeply into Mono so quickly or show you as effectively what Mono is capable of.

The new Developer's Notebooks series from O'Reilly covers important new tools for software developers. Emphasizing example over explanation and practice over theory, they focus on learning by doing—you'll get the goods straight from the masters, in an informal and code-intensive style that suits developers. If you've been curious about Mono, but haven't known where to start, this no-fluff, lab-style guide is the solution.
The Pragmatic Programmer: From Journeyman to Master
Andrew Hunt, David Thomas If I'm putting together a project, it's the authors of this book that I want. . . . And failing that I'd settle for people who've read their book." — Ward Cunningham

Straight from the programming trenches, The Pragmatic Programmer cuts through the increasing specialization and technicalities of modern software development to examine the core process—taking a requirement and producing working, maintainable code that delights its users. It covers topics ranging from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse. Read this book, and you'll learn how to

Fight software rot;Avoid the trap of duplicating knowledge;Write flexible, dynamic, and adaptable code;Avoid programming by coincidence;Bullet-proof your code with contracts, assertions, and exceptions;Capture real requirements;Test ruthlessly and effectively;Delight your users;Build teams of pragmatic programmers; andMake your developments more precise with automation.

Written as a series of self-contained sections and filled with entertaining anecdotes, thoughtful examples, and interesting analogies, The Pragmatic Programmer illustrates the best practices and major pitfalls of many different aspects of software development. Whether you're a new coder, an experienced programmer, or a manager responsible for software projects, use these lessons daily, and you'll quickly see improvements in personal productivity, accuracy, and job satisfaction. You'll learn skills and develop habits and attitudes that form the foundation for long-term success in your career. You'll become a Pragmatic Programmer.
The Unified Software Development Process
Ivar Jacobson, Grady Booch, James Rumbaugh Presents a complete guide to the Unified Process from the original designers. Demonstrates how the notation and process compliment one another, using UML models to illustrate the new process in action. Clearly describes the semantics and notation of the different higher-level constructs used in the models. DLC: Computer software—Development.
Extreme Programming Installed
Ron Jeffries, Ann Anderson, Chet Hendrickson Explains the core principles of Extreme Programming and details each step of the development cycle. Teaches readers how to work with an on-site customer, define requirements with user stories, estimate the time and cost of each story, and perform constant integration and frequent iterations. Softcover. DLC: Computer software—Development.
C Programming Language
Brian W. Kernighan, Dennis M. Ritchie Presents a complete guide to ANSI standard C language programming. Written by the developers of C, this new version helps readers keep up with the finalized ANSI standard for C while showing how to take advantage of C's rich set of operators, economy of expression, improved control flow, and data structures. This 2nd edition has been completely rewritten with additional examples and problem sets to clarify the implementation of difficult language constructs. 7 x 9 1/4.
Java Design: Objects, UML, and Process
Kirk Knoernschild Focuses on the software process and how UML, Java technology, and object-oriented programming can be used effectively. Describes how these complementary technologies can be used together as a system of checks and balances to ensure successful creation of high-quality software. Softcover.
Ruminations on C++: A Decade of Programming Insight and Experience
Andrew Koenig, Barbara E. Moo Covers a broad range of C++ ideas and techniques, from detailed code examples to design principles and philosophy. Covers both object-oriented programming and generic programming. Paper. DLC: C++ (Computer program language)
C++ Primer
Stanley B. Lippman Newly revised and updated to cover Release 3.0 of C++, this book provides comprehensive coverage of the most important new addition to the C++ language—templates. Will be useful both as a learning tool and as a reference for C++.
EJB Design Patterns: Advanced Patterns, Processes, and Idioms
Floyd Marinescu A lot of programming involves solving the same kinds of basic problems. Well, what if a community of experts got together and pooled their knowledge to come up with the best programming practices for solving these problems? You would have what are known as design patterns.
Author Floyd Marinescu, a leading expert on EJB, worked with the members of the EJB community of TheServerSide.com to put their collective knowledge together to build a library of design patterns, strategies, and best practices for EJB design and development. This treasure-trove of proven best practices will allow developers to quickly solve difficult programming assignments. Unlike other patterns books, this book goes beyond high-level designs to the actual code for implementing them, saving developers countless hours of time and effort when building scalable, reliable, and maintainable EJB systems.
Pragmatic Version Control: Using Subversion
Mike Mason This book covers the theory behind version control and how it can help developers become more efficient, work better as a team, and keep on top of software complexity. Version control, done well, is your "undo" button for the project: nothing is final, and mistakes are easily rolled back.

This book describes Subversion 1.3, the latest and hottest open source version control system, using a recipe-based approach that will get you up and running quickly and correctly. Learn how to use Subversion the right way-the pragmatic way.

With this book, you can: Keep all project assets safe—not just source code—and never run the risk of losing a great idea Know how to undo bad decisions—even directories and symlinks are versioned Learn how to share code safely, and work in parallel for maximum efficiency Install Subversion and organize, administer and backup your repository Share code over a network with Apache, svnserve, or ssh Create and manage releases, code branches, merges and bug fixes Manage 3rd party code safely Use all the latest Subversion 1.3 features including locking and path-based security, and much more!

Now there's no excuse not to use professional-grade version control.
Software Project Survival Guide
Steve McConnell The author of the classics "Code Complete" and "Rapid Development" throws a lifeline to the industry's huge and indispensable population of rookie managers and technical leads. This book is a roadmap to how an effective software project works—understandable even for those with limited project experience.
Object-Oriented Software Construction
Bertrand Meyer Recipient of the 1997 Jolt Award.

The developer of the acclaimed Eiffel programming language comes through with one of the clearest and most informative books about computers ever committed to paper. Object-Oriented Software Construction is the gospel of object-oriented technology and it deserves to be spread everywhere. Meyer opens with coverage of the need for an object-oriented approach to software development, citing improved quality and development speed as key advantages of the approach. He then explains all the key criteria that define an object- oriented approach to a problem. Meyer pays attention to techniques, such as classes, objects, memory management, and more, returning to each technique and polishing his readers' knowledge of it as he explains how to employ it "well." In a section on advanced topics, Meyer explores interesting and relevant topics, such as persistent objects stored in a database. He also offers a sort of "Do and Don't" section in which he enumerates common mistakes and ways to avoid them. Management information isn't the main point of Object-Oriented Software Construction, but you'll find some in its pages. Meyer concludes his tour de force with comparisons of all the key object-oriented languages, including Java. He also covers the potential of simulating object technology in non-object-oriented languages, such as Pascal and Fortran. The companion CD-ROM includes the full text of this book in hypertext form, as well as some tools for designing object-oriented systems. If you program computers, you need to read this book.
UML 2.0 in a Nutshell
Dan Pilone, Neil Pitman System developers have used modeling languages for decades to specify, visualize, construct, and document systems. The Unified Modeling Language (UML) is one of those languages. UML makes it possible for team members to collaborate by providing a common language that applies to a multitude of different systems. Essentially, it enables you to communicate solutions in a consistent, tool-supported language.

Today, UML has become the standard method for modeling software systems, which means you're probably confronting this rich and expressive language more than ever before. And even though you may not write UML diagrams yourself, you'll still need to interpret diagrams written by others.

UML 2.0 in a Nutshell from O'Reilly feels your pain. It's been crafted for professionals like you who must read, create, and understand system artifacts expressed using UML. Furthermore, it's been fully revised to cover version 2.0 of the language.

This comprehensive new edition not only provides a quick-reference to all UML 2.0 diagram types, it also explains key concepts in a way that appeals to readers already familiar with UML or object-oriented programming concepts.

Topics include: The role and value of UML in projectsThe object-oriented paradigm and its relation to the UMLAn integrated approach to UML diagramsClass and Object, Use Case, Sequence, Collaboration, Statechart, Activity, Component, and Deployment DiagramsExtension MechanismsThe Object Constraint Language (OCL)If you're new to UML, a tutorial with realistic examples has even been included to help you quickly familiarize yourself with the system.
Restful Web Services
Leonard Richardson, Sam Ruby "Every developer working with the Web needs to read this book." — David Heinemeier Hansson, creator of the Rails framework

"RESTful Web Services finally provides a practical roadmap for constructing services that embrace the Web, instead of trying to route around it." — Adam Trachtenberg, PHP author and EBay Web Services Evangelist

You've built web sites that can be used by humans. But can you also build web sites that are usable by machines? That's where the future lies, and that's what RESTful Web Services shows you how to do. The World Wide Web is the most popular distributed application in history, and Web services and mashups have turned it into a powerful distributed computing platform. But today's web service technologies have lost sight of the simplicity that made the Web successful. They don't work like the Web, and they're missing out on its advantages.

This book puts the "Web" back into web services. It shows how you can connect to the programmable web with the technologies you already use every day. The key is REST, the architectural style that drives the Web. This book: Emphasizes the power of basic Web technologies — the HTTP application protocol, the URI naming standard, and the XML markup languageIntroduces the Resource-Oriented Architecture (ROA), a common-sense set of rules for designing RESTful web servicesShows how a RESTful design is simpler, more versatile, and more scalable than a design based on Remote Procedure Calls (RPC)Includes real-world examples of RESTful web services, like Amazon's Simple Storage Service and the Atom Publishing ProtocolDiscusses web service clients for popular programming languagesShows how to implement RESTful services in three popular frameworks — Ruby on Rails, Restlet (for Java), and Django (for Python)Focuses on practical issues: how to design and implement RESTful web services and clientsThis is the first book that applies the REST design philosophy to real web services. It sets down the best practices you need to make your design a success, and the techniques you need to turn your design into working code. You can harness the power of the Web for programmable applications: you just have to work with the Web instead of against it. This book shows you how.
Software Project Management: A Unified Framework
Walker Royce Presents new management framework uniquely suited to the complexities of modern software development. Exposes the shortcoming of many wellaccepted management priorities & equips software professionals with state-of-the-art knowledge derived from the authors 20 years successful experience with project management. DLC: Computer software - Development - Management.
XMPP: The Definitive Guide: Building Real-Time Applications with Jabber Technologies
Peter Saint-Andre, Kevin Smith, Remko Troncon This practical book provides everything you need to know about the Extensible Messaging and Presence Protocol (XMPP). This open technology for real-time communication is used in many diverse applications such as instant messaging, Voice over IP, real-time collaboration, social networking, microblogging, lightweight middleware, cloud computing, and more. XMPP: The Definitive Guide walks you through the thought processes and design decisions involved in building a complete XMPP-enabled application, and adding real-time interfaces to existing applications. You'll not only learn simple yet powerful XMPP tools, but you'll also discover, through real-world developer stories, how common XMPP "building blocks" can help solve particular classes of problems. With this book, you will:

Learn the basics of XMPP technologies, including architectural issues, addressing, and communication primitivesU Understand the terminology of XMPP and learn about the wealth of XMPP servers, clients, and code libraries Become familiar with the XMPP concepts and services you need to solve common problems Construct a complete business application or real-time service with XMPP

Every day, more software developers and service providers are using XMPP for real-time applications, and with the help of XMPP: The Definitive Guide, you can, too.
Operating System Concepts
Abraham Silberschatz, Peter B. Galvin
Advanced Programming in the UNIX
W. Richard Stevens Bestselling UNIX author Rich Stevens offers application and system programmers his professional, experienced-based guidance on using the system call interface with C. Since good examples are the key to a book like this, a simple shell program is developed in the first chapter and then expanded throughout the book to demonstrate the principles.
Programming Perl
Larry Wall, Randal L Schwartz This is the authoritative guide to the hottest new UNIX utility in years, coauthored by its creator, Larry Wall. Perl is a language for easily manipulating text, files, and processes. Perl provides a more concise and readable way to do many jobs that were formerly accomplished (with difficulty) by programming in the C language or one of the shells. Programming perl covers Perl syntax, functions, debugging, efficiency, the Perl library, and more, including real-world Perl programs dealing with such issues as system administration and text manipulation. Also includes a pull-out quick-reference card (designed and created by Johan Vromans).
REST in Practice: Hypermedia and Systems Architecture
Jim Webber, Savas Parastatidis, Ian Robinson Why don't typical enterprise projects go as smoothly as projects you develop for the Web? Does the REST architectural style really present a viable alternative for building distributed systems and enterprise-class applications?

In this insightful book, three SOA experts provide a down-to-earth explanation of REST and demonstrate how you can develop simple and elegant distributed hypermedia systems by applying the Web's guiding principles to common enterprise computing problems. You'll learn techniques for implementing specific Web technologies and patterns to solve the needs of a typical company as it grows from modest beginnings to become a global enterprise. Learn basic Web techniques for application integrationUse HTTP and the Web’s infrastructure to build scalable, fault-tolerant enterprise applicationsDiscover the Create, Read, Update, Delete (CRUD) pattern for manipulating resourcesBuild RESTful services that use hypermedia to model state transitions and describe business protocolsLearn how to make Web-based solutions secure and interoperableExtend integration patterns for event-driven computing with the Atom Syndication Format and implement multi-party interactions in AtomPubUnderstand how the Semantic Web will impact systems design