Wednesday, August 6, 2008

Teach Yourself Perl 5 in 21 Days (Sams Teach Yourself)

Teach Yourself Perl 5 in 21 Days (Sams Teach Yourself)


Book Description
Sams Teach Yourself Perl 5 in 21 Days is the ideal book for beginner and intermediate level users who want to gain a solid understanding of this programming language. Using step-by-step tutorials, you'll learn everything you need to know about this popular programming language. Discover how to manipulate text, generate reports, and perform system tasks. Through practical, hands-on instructions, logically organized lessons, and helpful Q&A sections, you'll master Perl functions and concepts and be developing robust programs in no time. Plus, Do/Don't boxes show you how to avoid potential programming pitfalls, illustrations explain constructs such as associative arrays, and tables serve as handy references.

* No previous programming experience is required
* Explores the old and new features of Perl and Perl 5
* Teaches Internet programming with Perl 5
* CD-ROM includes all project files developed by the author, plus Perl 4.0 and Perl 5.0 to get you programming on the Internet right away

Download Link 1
Download Link 2

Tuesday, August 5, 2008

Teach Yourself Perl in 21 Days

Teach Yourself Perl in 21 Days

Perl
Sams Pub.
This tutorial and reference starts with the basics and then builds upon them. Through various teaching elements, users learn how to manipulate text, generate reports, and perform system tasks using the Perl language. "Assumes no prior programming knowledge or experience. Covers topics such as scalar values, string functions, reading and writing files, debugging, system variables, associative arrays, and subroutines. Uses Q&A sections, step-by-step instructions, daily". Covers Perl Programming.

Download Link 1
Download Link 2

Web Client Programming with Perl

Web Client Programming with Perl

perl
Product Description
On the World Wide Web, people are accustomed to using graphical browsers such as Netscape Navigator or Mosaic as their only interface for visiting remote sites, accessing up-to-date documents, and filling out forms. But graphical browsers can be limiting: the very interactivity that makes them so intuitive to use also makes them clumsy for automating tasks. If you want to get the latest weather report every few hours, track a Federal Express package online, or use a dictionary server repeatedly throughout the day, using your browser to perform the same task over and over can become cumbersome. As with any repetitive task, these applications are best done by writing a script.

Web Client Programming with Perl shows you how to extend scripting skills to the Web. This book teaches you the basics of how browsers communicate with servers and how to write your own customized Web clients to automate common tasks. It is intended for those who are motivated to develop software that offers a more flexible and dynamic response than a standard Web browser.

Using this book, you'll learn how to:

* Automate repetitive queries on the Web
* Detect broken hyperlinks on your site
* Write simple "robots" that traverse hyperlinks across a site, and across the Web in general

This book will be of interest to:

* Web administrators who need to automate repetitive tasks or reduce maintenance time
* UNIX shell programmers who want to interface their scripts to the Web
* Commercial software developers and consultants who need reference material for technical Web specifications and proof-of-concept examples

Most of the examples in this book use Perl, a versatile and portable language that is already familiar to many CGI programmers and UNIX power users. The book does not teach Perl, but the techniques used in the book should be easily followed by anyone with some programming background and can be adapted to whatever language you choose.

Download Link 1
Download Link 2

Wicked Cool Perl Scripts : Useful Perl Scripts That Solve Difficult Problems

Wicked Cool Perl Scripts : Useful Perl Scripts That Solve Difficult Problems

Most Perl programmers have been frustrated at one time or another because the system just wouldn't do what they wanted it to do. There was that one simple and obvious utility that was missing that would make life so much easier: A tool to get a stock quote, show off a photograph collection, or even display a collection of favorite comics. Wicked Cool Perl Scripts is about writing those utilities quickly and easily. A collection of handy utilities that solves difficult problems, Wicked Cool Perl Scripts is a great resource for the savvy Perl programmer.

Download Link 1
Download Link 2
Download Link 3

Monday, August 4, 2008

Python Programming On Win32: Help for Windows Programmers

Python Programming On Win32: Help for Windows Programmers


Product Description
Python is growing in popularity; based on download statistics, there are now over 450,000 people using Python, and more than 150,000 people using Python on Windows. Use of the language has been growing at about 40% per year since 1995, and there is every reason to believe that growth will continue. Despite Python's increasing popularity on Windows, Python Programming on Win32 is the first book to demonstrate how to use it as a serious Windows development and administration tool. Unlike scripting on Unix, Windows scripting involves integrating a number of components, such as COM or the various mail and database APIs, with the Win32 programming interface. While experienced Windows C++ programmers can find their way through the various objects, most people need some guidance, and this book is it. It addresses all the basic technologies for common integration tasks on Windows, explaining both the Windows issues and the Python code you need to glue things together. Topics include:

* The Python language and the PythonWin extensions
* Building a GUI with COM
* Adding a Macro language
* Distributing the application
* Client-side COM for output and data access
* Integration with mail and other internet protocols
* Managing users and drives

This is a vital and unique book. Python Programming on Win32 is an excellent presentation of Windows application development and a solid illustration of how to use Python in the Windows environment.

Download Link 1
Download Link 2

Python Programming with the Java(TM) Class Libraries: A Tutorial for Building Web and Enterprise Applications with Jython

Python Programming with the Java(TM) Class Libraries: A Tutorial for Building Web and Enterprise Applications with Jython


Book Info
Tutorial begins with coverage of some of the basics of Python programming. Using plenty of skill-building exercises and interactive programming sessions to help those new to programming develop an understanding of concepts and practical techniques. Softcover.

From the Back Cover

Characterized by ease of use, richness of expression, and concise syntax, Python has remained a premier programming language for more than a decade, and is used by novices and professionals alike. In particular, its close relationship to Java™ makes the two languages, when used in combination, ideal for Web and distributed enterprise application development.

This tutorial begins with coverage of some of the basics of Python programming. Using plenty of skill-building exercises and interactive programming sessions, this book will help those new to programming develop an understanding of concepts and practical techniques. For experienced programmers, the book demonstrates Python's breadth of capabilities and shows the ways that Python interfaces with Java APIs for professional application development.

Python Programming with the Java™ Class Libraries: A Tutorial for Building Web and Enterprise Applications with Jython covers important topics such as:

* Fundamental programming concepts, including statements, expressions, interpreters, and compilers
* Python basics, including operators, string formatting, namespaces, classes, errors, and exceptions
* Object-oriented programming concepts
* File input/output
* Python's intrinsic functions
* Formatting, parsing, and manipulating strings
* Interfacing with the Java APIs and working with Java Streams
* Using Python and Java Swing to create GUIs
* Working with SQL and JDBC™
* Python and Java applets

In addition, the book contains instructions for downloading and installing the Python language and the Java Development Kit (JDK). Terminology, definitions, explanations, and numerous code samples make this book a useful learning experience.

Whether you are a sophisticated computer user new to programming or a serious application developer, Python Programming with the Java™ Class Libraries will give you insight into the power of Python and the know-how to put it to work.

Download Link 1

Download Link 2

Python Scripting for Computational Science

Python Scripting for Computational Science


Book Description
The goal of this book is to teach computational scientists and engineers how to develop tailored, flexible, and efficient working environments built from small programs (scripts) written in the easy-to-learn, very high-level language Python. The focus is on examples and applications of relevance to computational science: gluing existing applications and tools, e.g. for automating simulation, data analysis, and visualization; steering simulations and computational experiments; equipping programs with graphical user interfaces; making computational Web services; creating interactive interfaces with a Maple/Matlab-like syntax to numerical applications in C/C++ or Fortran; and building flexible object-oriented programming interfaces to existing C/C++ or Fortran libraries. In short, scripting with Python makes you much more productive, increases the reliability of your scientific work and lets you have more fun - under Unix, Windows and MacIntosh.

Download Link 1
Download Link 2

Rapid GUI Programming with Python and Qt

Rapid GUI Programming with Python and Qt


Product Description
The Insider's Best-Practice Guide to Rapid PyQt 4 GUI Development

Whether you're building GUI prototypes or full-fledged cross-platform GUI applications with native look-and-feel, PyQt 4 is your fastest, easiest, most powerful solution. Qt expert Mark Summerfield has written the definitive best-practice guide to PyQt 4 development.

With Rapid GUI Programming with Python and Qt you'll learn how to build efficient GUI applications that run on all major operating systems, including Windows, Mac OS X, Linux, and many versions of Unix, using the same source code for all of them. Summerfield systematically introduces every core GUI development technique: from dialogs and windows to data handling; from events to printing; and more. Through the book's realistic examples you'll discover a completely new PyQt 4-based programming approach, as well as coverage of many new topics, from PyQt 4's rich text engine to advanced model/view and graphics/view programming. Every key concept is illuminated with realistic, downloadable examples—all tested on Windows, Mac OS X, and Linux with Python 2.5, Qt 4.2, and PyQt 4.2, and on Windows and Linux with Qt 4.3 and PyQt 4.3.

Coverge includes

* Python basics for every PyQt developer: data types, data structures, control structures, classes, modules, and more

* Core PyQt GUI programming techniques: dialogs, main windows, and custom file formats

* Using Qt Designer to design user interfaces, and to implement and test dialogs, events, the Clipboard, and drag-and-drop

* Building custom widgets: Widget Style Sheets, composite widgets, subclassing, and more

* Making the most of Qt 4.2's new graphics/view architecture

* Connecting to databases, executing SQL queries, and using form and table views

* Advanced model/view programming: custom views, generic delegates, and more

* Implementing online help, internationalizing applications, and using PyQt's networking and multithreading facilities

About the Author

Mark Summerfield works as an independent trainer and consultant specializing in C++, Qt, Python, and PyQt. He was Trolltech’s documentation manager from 2000 to 2004, was the founding editor of Qt Quarterly, Trolltech’s customer newsletter, and coauthored C++ GUI Programming with Qt 3 and C++ GUI Programming with Qt 4.

Download Link 1
Download Link 2
Download Link 3

Sams Teach Yourself Django in 24 Hours

Sams Teach Yourself Django in 24 Hours


Product Description

In just 24 lessons of one hour or less, you will be able to build full-featured production websites using Django, the powerful web development framework based on Python.

Designed for experienced website developers who have at least some familiarity with the Python programming language, this book uses a straightforward, step-by-step approach. Each lesson builds on the previous ones, enabling you to learn the essentials of implementing the Django framework on a website from the ground up.

Step-by-step instructions carefully walk you through the most common Django tasks.

Q&As, quizzes, and exercises at the end of each lesson help you test your knowledge.

Notes and tips point out shortcuts and solutions.

Learn how to…

* Install and configure the Django web development framework
* Cleanly separate data, logic, and view layers
* Implement site interfaces with build templates and views
* Utilize templates and views to store, access, and retrieve data
* Use the Django forms library
* Define custom tags and filters to minimize coding
* Secure sites with registration, authorization, logins, and permissions
* Manage sessions and cookies
* Implement middleware for request and response handling
* Create sitemaps to inform search engines of your content
* Internationalize your site
* Optimize performance with caching
* Deploy Django in multiple configurations
* Maintain sites with Django’s administrator interface

Introduction 1

Part I: Creating the Website Framework

Hour 1: Understanding Django 7

Hour 2: Creating Your First Website 19

Hour 3: Adding Models and Objects to Your Website 37

Hour 4: Creating the Initial Views 63

Part II: Implementing the Website Interface

Hour 5: Using Data from the Database in Views 81

Hour 6: Configuring Web Page Views 103

Hour 7: Implementing Django Templates to Create Custom Views 117

Hour 8: Using Built-in Template Tags to Enhance Views 139

Hour 9: Using Built-in Template Filters to Enhance Views 155

Hour 10: Adding Forms to Views 185

Hour 11: Using Views to Add and Update Data in the Database 209

Hour 12: Utilizing Generic Views 231

Hour 13: Advanced View Configurations 269

Part III: Implementing a Full-Featured Website

Hour 14: Managing Site Users 295

Hour 15: Adding Website Security 313

Hour 16: Managing Sessions and Cookies 333

Hour 17: Customizing Models in the Admin Interface 347

Hour 18: Customizing the Admin Interface 365

Part IV: Implementing Advanced Website Components

Hour 19: Implementing Middleware 383

Hour 20: Internationalization and Localization 407

Hour 21: Creating Sitemaps 423

Hour 22: Implementing Multiple Websites 437

Hour 23: Configuring Caching 451

Hour 24: Deploying Django 465

Appendixes

Appendix A: Django Resources 477

Appendix B: Django Form Field Objects 481

Appendix C: Formatting Dates and Times 491

Index 493

About the Author

Brad Dayley is a senior software engineer in Novell’s Product Development Group. He has 16 years of experience in designing, developing, and implementing software from the kernel level through web development. He is the author of several books on server and network management as well as programming languages. When he is not developing software or writing books, he can be found biking, hiking, and/or Jeeping somewhere in the remote regions of the western United States with his wife, DaNae, and four sons.

Download Link 1
Download Link 2
Download Link 3

Text Processing in Python

Text Processing in Python


From the Back Cover

Text Processing in Python is an example-driven, hands-on tutorial that carefully teaches programmers how to accomplish numerous text processing tasks using the Python language. Filled with concrete examples, this book provides efficient and effective solutions to specific text processing problems and practical strategies for dealing with all types of text processing challenges.

Text Processing in Python begins with an introduction to text processing and contains a quick Python tutorial to get you up to speed. It then delves into essential text processing subject areas, including string operations, regular expressions, parsers and state machines, and Internet tools and techniques. Appendixes cover such important topics as data compression and Unicode. A comprehensive index and plentiful cross-referencing offer easy access to available information. In addition, exercises throughout the book provide readers with further opportunity to hone their skills either on their own or in the classroom. A companion Web site (http://gnosis.cx/TPiP) contains source code and examples from the book.

Here is some of what you will find in thie book:

* When do I use formal parsers to process structured and semi-structured data? Page 257
* How do I work with full text indexing? Page 199
* What patterns in text can be expressed using regular expressions? Page 204
* How do I find a URL or an email address in text? Page 228
* How do I process a report with a concrete state machine? Page 274
* How do I parse, create, and manipulate internet formats? Page 345
* How do I handle lossless and lossy compression? Page 454
* How do I find codepoints in Unicode? Page 465

About the Author

David Mertz came to writing about programming via the unlikely route of first being a humanities professor. Along the way, he was a senior software developer, and now runs his own development company, Gnosis Software ("We know stuff!"). David writes regular columns and articles for IBM developerWorks, Intel Developer Network, O'Reilly ONLamp, and other publications.

Download Link 1
Download Link 2

The Book of Zope

The Book of Zope

Zope
From Library Journal
A background in PythonDa free, open-source programming language for web applicationsDis essential for developers using the Zope web application server. Although beginners will find a thorough introduction in The Book of Zope, it is an optional purchase for institutions owning The Zope Book (Computer Media, LJ 11/1/01). Python offers beginning programmers a gentler albeit less thorough entr e into the language than Python Essential Reference (Computer Media, LJ 8/01). Larger libraries where more advanced web development titles circulate should consider both.
Copyright 2002 Reed Business Information, Inc.

Product Description
Zope, the leading Open Source Web application server, helps teams of developers create and manage dynamic, Web-based business applications like Intranets and portals. Zope makes it easy to add features such as site search, news, personalization, and e-commerce. The Book of Zope is a comprehensive introduction to Zope, covering installation; DTML programming; concepts such as users, roles, and permissions; ZClasses; ZCatalog; databases; programming Zope with Python; debugging; and the use of external data sources. Zope runs on Windows and almost all Unix-based platforms, and includes its own Web server, transactional object-oriented database, search engine, Web page templating system, Web development and management tool, and comprehensive extension support.

Download Link 1
Download Link 2
Download Link 3

The Definitive Guide to Django: Web Development Done Right

The Definitive Guide to Django: Web Development Done Right

Django
Product Description

Django, the Python–based equivalent to the Ruby on Rails web development framework, is presently one of the hottest topics in web development today. In The Definitive Guide to Django: Web Development Done Right, Adrian Holovaty, one of Django’s creators, and Django lead developer Jacob Kaplan–Moss show you how they use this framework to create award–winning web sites. Over the course of three parts, they guide you through the creation of a web application reminiscent of chicagocrime.org.

The first part of the book introduces Django fundamentals like installation and configuration. You’ll learn about creating the components that power a Django–driven web site. The second part delves into the more sophisticated features of Django, like outputting non–HTML content (such as RSS feeds and PDFs), plus caching and user management. The third part serves as a detailed reference to Django’s many configuration options and commands. The book even includes seven appendixes for looking up configurations options and commands. In all, this book provides the ultimate tutorial and reference to the popular Django framework.

About the Author
Adrian Holovaty, a web developer/journalist, is one of the creators and core developers of Django. He works at washingtonpost.com, where he builds database web applications and does "journalism as computer programming." Previously, he was lead developer for World Online in Lawrence, Kansas, where Django was created.

When not working on Django improvements, Adrian hacks on side projects for the public good, such as chicagocrime.org, which won the 2005 Batten Award for Innovations in Journalism. He lives in Chicago and maintains a weblog at www.Holovaty.com.

Jacob Kaplan-Moss is one of the lead developers of Django. At his day job, he's the lead developer for the Lawrence Journal-World, a locally owned newspaper in Lawrence, Kansas, where Django was developed. At the Journal-World, Jacob hacks on a number of sites including lawrence.com, LJWorld.com, and KUsports.com, and he is continually embarrassed by the multitude of media awards those sites win. In his spare time&emdash;what little of it there is&emdash;he fancies himself a chef.

Download Link 1
Download Link 2

Web Component Development with Zope 3

Web Component Development with Zope 3


Review

"The book can be considered the definitive guide to Zope 3. If the reader is looking for a book containing a set of tutorials on creating and using Web applications, this is a great choice."

Pectu Dana, Timisoara, Romania; ACM Computing Reviews, September 2006

"This book is at once thorough, brief, and concise. This is by far the best technical books i've read on any subject.

I have been interested in Zope for almost a year now, but even as a seasoned programmer I was intimidated by its labrythian complexity. I struggled for weeks reading the free Zope material and learning almost nothing. This book presents the material in an accessable manner while shying away from the horrible puns and awful jokes present in so many technical books. This book would be a bargin at twice its price."

D. Morrione, Hemet, CA, amazon.com

Product Description

New Zope 3 is a web applications server written in Python that allows developing complex web applications rapidly and collaboratively. Zope 3 is the successor to the successful version 2.

After an introduction to the key concepts of Zope, a sample application is built and extended subsequently. The book is targeted towards developers familiar with the web and web technologies. Special sections for Zope 2 developers cover the basic differences to the predecessor. The concepts of Zope 3 and its component architecture are explained thoroughly, continually accompanied by a demo application.

Download Link 1
Download Link 2
Download Link 3

Sunday, August 3, 2008

wxPython in Action

wxPython in Action


Product Description
Because they are often large and complex, GUI programming tool kits can be hard to use. wxPython is a combination of the Python programming language and the wxWidgets toolkit, which allows programmers to create programs with a robust, highly functional graphical user interface, simply and easily. wxPython combines the power of an exceptionally complete user interface toolkit with an exceptionally flexible programming language. The result is a toolkit that is unique in the ease with which complex applications can be built and maintained.

wxPython in Action is a complete guide to the wxPython toolkit, containing a tutorial for getting started, a guide to best practices, and a reference to wxPython's extensive widget set. After an easy introduction to wxPython concepts and programming practices, the book takes an in-depth tour of when and how to use the bountiful collection of widgets offered by wxPython. All features are illustrated with useful code examples and reference tables are included for handy lookup of an object's properties, methods, and events. The book enables developers to learn wxPython quickly and remains a valuable resource for futurework.

Download Link 1
Download Link 2

AppleScript: The Comprehensive Guide to Scripting and Automation on Mac OS X, Second Edition

AppleScript: The Comprehensive Guide to Scripting and Automation on Mac OS X, Second Edition



Product Description

This is the second edition of Hanaan Rosenthals critically-acclaimed AppleScript book. It goes the extra mile to teach you AppleScriptexplaining advanced topics without leaving you behind.

AppleScript is the high-level scripting language that resides on the Mac platform. It can be used to add functionality to the Mac operating system, automate tasks, add functions, and generally make things easier. AppleScript has always been very useful, and with Mac OS X, you can take AppleScript further than before.

This book begins with the basics like handling variables, loops, and commands. Then it proceeds with more advanced concepts like debugging, AppleScripting with databases, manipulating PDFs with SMILE, and automating media workflow. In a nutshell, this book:

* Takes you on a journey from novice to professional AppleScripter.
* Is completely comprehensive; nothing is left to the imagination.
* Is up-to-date through AppleScript 1.10/Mac OS X Tiger.

If you are a Mac user who wants to know the real meaning of having full control over your machine, get into AppleScripting. And pick up this book because it really is the only guide you need to master the art of AppleScripting!

About the Author
Hanaan Rosenthal is the founder of Custom Flow Solutions, and developed his first drawing program and published a programming newsletter at the age of 11.

He became a digital media and prepress consultant in 1991, specializing in Mac publishing. In 1996 he took on his first full-blown AppleScript automation project and never looked back. Since then he has helped reshape the workflow of numerous publishing companies and departments creating systems that save their owners millions of dollars and thousands of man-hours annually. His clients include Fidelity Investments, Wellington Management, The Boston Globe, and Showtime Networks.

Download Link 1
Download Link 2

AppleScript: The Missing Manual

AppleScript: The Missing Manual

AppleScript Manual
Product Description
From newspapers to NASA, Mac users around the world use AppleScript to automate their daily computing routines. Famed for its similarity to English and its ease of integration with other programs, AppleScript is the perfect programming language for time-squeezed Mac fans. As beginners quickly realize, however, AppleScript has one major shortcoming: it comes without a manual. No more. You don't need a degree in computer science, a fancy system administrator title, or even a pocket protector and pair of nerdy glasses to learn the Mac's most popular scripting language; you just need the proper guide at your side. AppleScript: The Missing Manual is that guide. Brilliantly compiled by author Adam Goldstein, AppleScript: The Missing Manual is brimming with useful examples. You'll learn how to clean up your Desktop with a single click, for example, and how to automatically optimize pictures for a website. Along the way, you ll learn the overall grammar of AppleScript, so you can write your own customized scripts when you feel the need. Naturally, AppleScript: The Missing Manual isn't merely for the uninitiated scripter. While its hands-on approach certainly keeps novices from feeling intimidated, this comprehensive guide is also suited for system administrators, web and graphics professionals, musicians, scientists, mathematicians, engineers, and others who need to learn the ins and outs of AppleScript for their daily work. Thanks to AppleScript: The Missing Manual, the path from consumer to seasoned script has never been clearer. Now you, too, can automate your Macintosh in no time.

About the Author
Adam Goldstein got his programming start in Kindergarten, when he first played around with Logo on an old Apple II. Through middle school, Adam wrote useless but amusing HyperCard programs. Nowadays, he runs GoldfishSoft, a shareware company that makes games and utilities for Mac OS X. Adam was a technical editor for O'Reilly's best-selling Mac OS X: The Missing Manual, and an editor for Mac OS X Panther Power User. When he's not writing books or code, Adam attends MIT.

Download Link 1

Download Link 2

Danny Goodman's Applescript Handbook

Danny Goodman's Applescript HandbookApplescript

Book Description

Make your Mac do what you want your Mac to do. This bestselling guide to Applescript by author Danny Goodman gives you everything you need to know to create scriptable applications. This edition includes in-depth coverage of the scriptable Finder, FileMaker Pro, QuarkXPress, Microsoft Excel, Hypercard, Microsoft Word, WordPerfect, MacWrite Pro and TouchBase. AppleScript is an important facet of the new Apple OS 8.5.

Download Link 1

Download Link 2

Saturday, August 2, 2008

C++ Solutions: Companion to the C++ Programming Language

C++ Solutions: Companion to the C++ Programming Language



Association of C & C++ Users
"A very interesting book with good quality solutions and associated discussion. If you use the C++Primer or have it as a set text for a programming course, this book is well worth having as a supporting text. Highly recommended!"

Book Description
C++ Solutions, provides insightful, logical, and easy-to-follow solutions to selected exercises found in The C++ Programming Language, Third Edition, by Bjarne Stroustrup. The exercises are explained in detail and are extensively annotated with cross-references to Stroustrup's book. Developers acquire a thorough understanding of ANSI/ISO C++ by working through examples. Vandevoorde solves a broad subset of illustrative and realistic exercises to facilitate this process. He also includes hints to help programmers find their own solutions, and additional exercises to provide deeper insights into modern software design. Highlights

* In-depth coverage of C++ language concepts, syntax, and features for each chapter
* Numerous detailed examples that build intuition about performance issues
* Adherence to the final ANSI/ISO C++ specifications
* Sample code and programs available on-line

Download Link 1
Download Link 2
Download Link 3

C++: A Dialog: Programming with the C++ Standard Library

C++: A Dialog: Programming with the C++ Standard Library

Programming C++
Book Description
Simply the best way for beginners to learn standard C++.

C++: A Dialog is the easiest, most effective way for beginners to learn C++ programming.

Steve Heller teaches C++ from scratch, through a one-on-one conversation with an intelligent beginner who asks the questions you'd ask. Heller's unique dialog format is brilliantly designed to clarify the concepts you might otherwise find confusing, so you can quickly learn today's most powerful and valuable C++ development techniques.

Heller takes you from the absolute fundamentals through the construction of a complete inventory application, including a simple but effective user interface. Along the way, you won't just learn C++ features: you'll see exactly how professional programmers bring them together and put them to work.

Unlike many beginners' books, C++: A Dialog uses industry-standard C++ and the latest standard librariesgiving you skills you can use with any standard C++ toolset, in any programming environment. You even get all the example code and a standard C++ compiler on CD-ROM so you can write and compile your own standard C++ programs on any 32-bit Microsoft Windows platform.

CD-ROM INCLUDED

The accompanying CD-ROM contains the commercial-grade Borland C++ 5.5 compiler and its associated libraries, which supports the latest ANSI/ISO C++ standards, including the STL (Standard Template Library) framework and C++ templates.

From the Back Cover

Simply the best way for beginners to learn standard C++.

C++: A Dialog is the easiest, most effective way for beginners to learn C++ programming.

Steve Heller teaches C++ from scratch, through a one-on-one conversation with an intelligent beginner who asks the questions you'd ask. Heller's unique dialog format is brilliantly designed to clarify the concepts you might otherwise find confusing, so you can quickly learn today's most powerful and valuable C++ development techniques.

Heller takes you from the absolute fundamentals through the construction of a complete inventory application, including a simple but effective user interface. Along the way, you won't just learn C++ features: you'll see exactly how professional programmers bring them together and put them to work.

Unlike many beginners' books, C++: A Dialog uses industry-standard C++ and the latest standard libraries—giving you skills you can use with any standard C++ toolset, in any programming environment. You even get all the example code and a standard C++ compiler on CD-ROM so you can write and compile your own standard C++ programs on any 32-bit Microsoft Windows platform.
CD-ROM INCLUDED

The accompanying CD-ROM contains the commercial-grade Borland C++ 5.5 compiler and its associated libraries, which supports the latest ANSI/ISO C++ standards, including the STL (Standard Template Library) framework and C++ templates.

Download Link 1
Download Link 2

C++ Strategies and Tactics (Addison-Wesley Professional Computing Series)

C++ Strategies and Tactics (Addison-Wesley Professional Computing Series)


From the Inside Flap
In the hands of an expert, C++ helps designers and programmers build systems that are modular, maintainable, and fast. To the novice, however, the size of the language can be intimidating. There are a lot of features in C++ and it takes some experience to learn which ones are appropriate for any situation.

This book is intended to enhance and expedite that learning process. Most successful C++ programmers cannot recite chapter and verse from the language rules; instead, they have acquired a set of idioms and techniques that have worked well for them. Our goal is to help the C++ novice learn those idioms that have been most useful in practice. We also point out some of the most common pitfalls.

We do not try to cover the entire language and we leave the ultra-precise definitions of language semantics to the reference manuals. Instead, we concentrate on helping the reader build programs that can be understood by someone who is not a C++ language lawyer. We not only discuss techniques for making programs elegant and fast; we also show how to make them easier to understand and maintain.

Acknowledgements Almost none of the ideas and programming idioms in this book are my invention. My goal has been to present, in a way that allows novice C++ programmers to learn them quickly, what I consider to be the most important strategies and tactics I have learned from others in the eight years I have been using C++. Some of these lessons were learned by studying actual development projects as they moved from C to C++; others came from discussions with talented individuals.

Many of the best ideas on templates and library design, including the ideas behind many of the container classes in this book, came from classes in the USL Standard Components that were originally designed by Martin Carroll, Andrew Koenig, and Jonathan Shopiro. I claim exclusive ownership of any errors in my versions. Andrew Koenig was a valuable resource as the local C++ language lawyer. The participants in the "C++ Strategies and Tactics" seminars I presented at several conferences helped inspire this book and refine its ideas. Other important ideas came from Tom Cargill, John Carolan, Jim Coplien, Mark Linton, Gerald Schwarz, and of course Bjarne Stroustrup, who also invented the C++ programming language that made the book possible in the first place.

Brian Kernighan read several drafts of this book, and his excellent feedback has been a lot of help. I would also like to thank David Annatone, Steve Buroff, Tom Cargill, Bill Hopkins, Cay Horstman, Lorraine Juhl, Peter Juhl, Stan Lippman, Dennis Mancl, Scott Meyers, Barbara Moo, Lorraine Weisbrot Murray, Bjarne Stroustrup, Clovis Tondo, Steve Vinoski, and Christopher Van Wyk for their comments on early drafts of this book. Lorraine Weisbrot Murray also contributed the encouragement, understanding, support, and love that helped make the entire effort feasible.

Rob Murray

From the Back Cover

In chess, learning the rules for how the pieces move is simply the first step; to master the game, you must understand the strategies and tactics that guide each move. The same applies to C++. Knowing the right strategies helps you avoid the traps and work more effectively. Luminary Rob Murray helps beginning to intermediate C++ programmers take that next step by sharing his experience and advice.

Practical code examples are used throughout to illuminate useful programming strategies and warn against dangerous practices. To further ensure comprehension, each chapter ends with a list of the key ideas introduced in that chapter, along with questions to stimulate thought and discussion.

You'll begin by learning how to choose the right abstractions for your design, taking care to preserve the distinction between abstraction and implementation. You'll then look at the process of turning an abstraction into one or more C++ classes, with discussions ranging from high-level design strategies to low-level interface and implementation details.

Single and multiple inheritance are explored in depth, beginning with a discussion of where they fit in a design and followed by detailed examples that show how the concepts are used in practice. A separate chapter covers the techniques of building classes from which others can derive, and discusses the benefits - and costs - involved.

Rob Murray offers unprecedented insight into the new templates feature, beginning with the basics and walking you through several real-world examples. The author also describes a variety of specific techniques to make your programs faster, more reusable, and more robust. Exceptions are another new C++ feature; Murray gives advice on when they should - and should not - be used. The book concludes with a look at the process of moving a project from C to C++, exploring the human issues as well as the technical ones.

Download Link 1
Download Link 2

C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond (C++ In-Depth Series)

C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond (C++ In-Depth Series)



Book Description
"C++ Template Metaprogramming" sheds light on the most powerful idioms of today's C++, at long last delivering practical metaprogramming tools and techniques into the hands of the everyday programmer.

Since the introduction of templates, C++ programmers have discovered surprising and powerful ways to perform computation at compile-time. While the excitement generated by these capabilities among C++ experts has reached the community at large, their practical application remains out-of-reach for many programmers. Literature on C++ template metaprogramming has focused primarily on details of low-level "tricks" at the expense of strong idioms and abstractions, and without illuminating the path from metaprogramming to expressive interfaces and efficient, maintainable software.

This book delivers both "big picture" ideas and practical tools. It explains what metaprogramming is, why it matters, and how the unique combination of features in C++ make it an especially powerful language for metaprogramming. It also presents the Boost Metaprogramming Library, a powerful open source framework of high-level compile-time components based on familiar STL idioms, which makes C++ metaprogramming easy, expressive, and fun.

From the Back Cover
Abrahams and Gurtovoy have written something close to a classic… marvelous fun to read…

Read the complete book review by Jack J. Woehr, Dr. Dobbs Journal, June 03, 2005


"If you're like me, you're excited by what people do with template metaprogramming (TMP) but are frustrated at the lack of clear guidance and powerful tools. Well, this is the book we've been waiting for. With help from the excellent Boost Metaprogramming Library, David and Aleksey take TMP from the laboratory to the workplace with readable prose and practical examples, showing that "compile-time STL" is as able as its runtime counterpart. Serving as a tutorial as well as a handbook for experts, this is the book on C++ template metaprogramming."
–Chuck Allison, Editor, The C++ Source

C++ Template Metaprogramming sheds light on the most powerful idioms of today's C++, at long last delivering practical metaprogramming tools and techniques into the hands of the everyday programmer.

A metaprogram is a program that generates or manipulates program code. Ever since generic programming was introduced to C++, programmers have discovered myriad "template tricks" for manipulating programs as they are compiled, effectively eliminating the barrier between program and metaprogram. While excitement among C++ experts about these capabilities has reached the community at large, their practical application remains out of reach for most programmers. This book explains what metaprogramming is and how it is best used. It provides the foundation you'll need to use the template metaprogramming effectively in your own work.

This book is aimed at any programmer who is comfortable with idioms of the Standard Template Library (STL). C++ power-users will gain a new insight into their existing work and a new fluency in the domain of metaprogramming. Intermediate-level programmers who have learned a few advanced template techniques will see where these tricks fit in the big picture and will gain the conceptual foundation to use them with discipline. Programmers who have caught the scent of metaprogramming, but for whom it is still mysterious, will finally gain a clear understanding of how, when, and why it works. All readers will leave with a new tool of unprecedented power at their disposal–the Boost Metaprogramming Library.

The companion CD-ROM contains all Boost C++ libraries, including the Boost Metaprogramming Library and its reference documentation, along with all of the book's sample code and extensive supplementary material.

Download Link 1
Download Link 2

C++ Timesaving Techniques For Dummies

C++ Timesaving Techniques For Dummies

Product Description
* Seasoned C++ programmer Matthew Telles shows developers at any level of experience how to save hours by improving, refactoring, and debugging their code
* Some of the techniques covered include mastering asserts, creating a complete class, hiding a method of a base class, freeing blocks of memory, implementing a simple locking mechanism, creating debugging macros, checking for errors at run-time, finding and fixing memory leaks, and reducing code complexity
* The easy-to-follow, two-column Timesaving Techniques format makes mastering each timesaver a snap
* C++ is one of today's most widely used programming languages, with compilers offered by Microsoft, Borland, and Code Warrior
* This book is the perfect companion to C++ For Dummies, Fifth Edition (0-7645-6852-3)

Download Description
* Seasoned C++ programmer Matthew Telles shows developers at any level of experience how to save hours by improving, refactoring, and debugging their code
* Some of the techniques covered include mastering asserts, creating a complete class, hiding a method of a base class, freeing blocks of memory, implementing a simple locking mechanism, creating debugging macros, checking for errors at run-time, finding and fixing memory leaks, and reducing code complexity
* The easy-to-follow, two-column Timesaving Techniques format makes mastering each timesaver a snap
* C++ is one of today's most widely used programming languages, with compilers offered by Microsoft, Borland, and Code Warrior
* This book is the perfect companion to C++ For Dummies, Fifth Edition (0-7645-6852-3)

Download Link 1
Download Link 2
Download Link 3

Friday, August 1, 2008

C++: The Complete Reference

C++ The Complete Reference

C++: The Complete Reference


Book Description
Author Herb Schildt is the world's best-selling C++ author with more than 2 million books sold. The most complete coverage of the newly updated ANSI C++ Standard--including updated material on the STL, namespace naming methods, an new classes. An easy-to-follow, three-part organization: I) Description of the root of C++; II) Detailed coverage of C++'s OOP components and classes; III) Effective C++ software application development.

Book Info
Provides a lasting resource for the C++ programmer that will help maximize programming efforts by covering the entire C++ language. Paper.

Download Link 1
Download Link 2
Download Link 3

C/C++ Programmer's Reference, Third Edition

C/C++ Programmer

C/C++ Programmer's Reference, Third Edition


Product Description
Like having a brain in your back pocket. Provides clear explanations of all C and C++ programming syntax, keywords, commands, functions, and class libraries. Since no programmer can remember the precise syntax of every C/C++ element, this quick-access guide assists programmers in implementing efficient solutions on demand.

Book Info
A fully updated best-selling classic, gives programmers a quick reference to syntax, keywords, libraries, and more. Softcover. Previous ed. c2000.

Download Link 1
Download Link 2

Core C++: A Software Engineering Approach

Core C++

Core C++: A Software Engineering Approach



Aimed at the Visual C++ newcomer, Core C++: A Software Engineering Approach provides a rich and sometimes densely packed tour of the language, with plenty of advice on the best ways to use this powerful programming language effectively. It's full to the brim with useful advice for creating and using classes effectively, and gaining an expert's understanding of the language.

The writing style and presentation of C++ in this book are outstanding. The explanations of key C++ concepts, from basic language features to class design to advanced C++ whistles and bells, are by turns colloquial, garrulous, and almost always enjoyable and understandable. While it's not uncommon for today's computer book to weigh in at over 1,000 pages, the raw word count here is quite exceptional. You're challenged repeatedly to think for yourself, and the intricacies of C++ are exposed thoroughly, from language features that are indispensable to what to avoid in your code.

You'll get pretty much everything that you need to learn C++ effectively, starting with basic keywords, data types, flow-control statements, and arrays. The guide to understanding object-oriented concepts, like coupling and cohesion, will help you design better classes. Even experienced programmers will appreciate the thorough coverage of memory-management techniques in C++ (including the five kinds of scopes for variables).

An important middle section provides a blueprint for the methods and functions that most C++ code should offer, including such methods as default and copy constructors, destructors, and overloaded assignment operators. (By following this idiom, you'll be able to write reusable C++ classes.) The book also illustrates class design with basic UML notation, excels at presenting the details of how to overload C++ operators to provide easier syntax for custom C++ classes, and provides excellent explanations of the pros and cons of composition and inheritance for getting classes to work together. A look at more advanced C++ features, like templates and exception handling, wraps things up. Along the way, you get a taste of UML notation and a thorough introduction to some of the best practices for writing C++ code effectively.

Core C++ is certainly no quick read, and, if you're in a rush to learn quickly, there are plenty of more concise treatments that are available. But, if you're ambitious and want to master the intricacies of C++ class design with some of its underlying design principles, this is an original and thorough package that offers unique strengths. --Richard Dragan

Topics covered:

# The software crisis
# Software project-management techniques
# Design-quality principles
# Introduction to the C++ language
# A minimum C++ application explained
# C++ data types
# Operators and flow control
# Arrays
# C/C++ structures
# Unions
# Enumerations and bit fields
# Memory-management techniques (including stack and heap allocation, dynamic allocation, avoiding memory leaks)
# File I/O with and without stream classes
# Basic C++ class design
# Parameter passing in C++ (options and best practices)
# Creating custom programmer-defined data types

# Cohesion
# Coupling
# Data encapsulation and information hiding
# Guidelines for C++ class design: constructors (default, conversion, and copy constructors), overloading the assignment operator, destructors
# In-depth guide to overloading C++ operators
# Introduction to UML class diagrams
# Aggregation and inheritance
# C++ class syntax
# Inheritance vs. composition
# Virtual methods and late binding
# Multiple inheritance
# Advanced operator overloading techniques
# C++ templates and exceptions
# Standard C++ type cast operators
# Review of material covered


Book Description
Teaches C++ by applying the best software engineering practices and methodologies to programming in C++. Shows the user how to build code that is more robust, easier to maintain and modify, and more valuable. Softcover. DLC: C++ (Computer programming language).

Download Link 1

Download Link 2

Cross-Platform Development in C++: Building Mac OS X, Linux, and Windows Applications

Development in C++

Cross-Platform Development in C++: Building Mac OS X, Linux, and Windows Applications


Product Description

Cross-Platform Development in C++ is the definitive guide to developing portable C/C++ application code that will run natively on Windows, Macintosh, and Linux/Unix platforms without compromising functionality, usability, or quality.

Long-time Mozilla and Netscape developer Syd Logan systematically addresses all the technical and management challenges associated with software portability from planning and design through coding, testing, and deployment. Drawing on his extensive experience with cross-platform development, Logan thoroughly covers issues ranging from the use of native APIs to the latest strategies for portable GUI development. Along the way, he demonstrates how to achieve feature parity while avoiding the problems inherent to traditional cross-platform development approaches.

This book will be an indispensable resource for every software professional and technical manager who is building new cross-platform software, porting existing C/C++ software, or planning software that may someday require cross-platform support.

Build Cross-Platform Applications without Compromise

Throughout the book, Logan illuminates his techniques with realistic scenarios and extensive, downloadable code examples, including a complete cross-platform GUI toolkit based on Mozilla’s XUL that you can download, modify, and learn from. Coverage includes

* Policies and procedures used by Netscape, enabling them to ship Web browsers to millions of users on Windows, Mac OS, and Linux
* Delivering functionality and interfaces that are consistent on all platforms
* Understanding key similarities and differences among leading platform-specific GUI APIs, including Win32/.NET, Cocoa, and Gtk+
* Determining when and when not to use native IDEs and how to limit their impact on portability
* Leveraging standards-based APIs, including POSIX and STL
* Avoiding hidden portability pitfalls associated with floating point, char types, data serialization, and types in C++
* Utilizing platform abstraction libraries such as the Netscape Portable Runtime (NSPR)
* Establishing an effective cross-platform bug reporting and tracking system
* Creating builds for multiple platforms and detecting build failures across platforms when they occur
* Understanding the native runtime environment and its impact on installation
* Utilizing wxWidgets to create multi-platform GUI applications from a single code base
* Thoroughly testing application portability
* Understanding cross-platform GUI toolkit design with Trixul

About the Author

Syd Logan is a software developer living and working in Southern California. A graduate of San Diego State University with B.S. and M.S. degrees in computer science, Syd was a member of the Netscape Client Product Development (CPD) team, where he held both engineering and management positions during the development of Netscape 6 and 7. After Netscape, Syd remained at AOL where he implemented VoIP and peer-to-peer video features as a member of the AOL Instant Messenger team. Syd’s previous publications include Developing Imaging Applications with XIELib and Gtk+ Programming in C (Prentice Hall, 1997 and 2001). His technical interests include machine learning, operating systems design, algorithms, and just about anything that has to do with C, C++, and Unix.

Download Link 1

Download Link 2

Data Structures and Problem Solving Using C++ (2nd Edition)


Data Structures and Problem Solving Using C++ (2nd Edition)

Book Description
Data Structures and Problem Solving Using C++ provides an introduction to data structures and algorithms from the viewpoint of abstract thinking and problem solving, as well as the use of C++. It is a complete revision of Weiss' successful CS2 book Algorithms, Data Structures, and Problem Solving with C++.

Throughout this edition, Mark Allen Weiss has included the latest features of the C++ programming language-making prevalent use of the Standard Template Library (STL) wherever appropriate. He has also included a new chapter covering Patterns, as well as new material on templates, vectors and push_back.

C++ allows the programmer to write the interface and implementation separately, to place them in separate files and compile separately, and to hide the implementation details. This book goes a step further: The interface and implementation are discussed in separate parts of the book. Part I (Objects and C++), Part II (Algorithms and Building Blocks), and Part III (Applications) lay the groundwork by discussing basic concepts and tools and providing some practical examples, but implementation of data structures are not shown until Part IV (Implementations). This separation of interface and implementation promotes abstract thinking. Class interfaces are written and used before the implementation is known, forcing the reader to think about the functionality and potential efficiency of the various data structures (e.g. hash tables are written well before the hash table is implemented).

Book Info
Introduces data structures and algorithms from the viewpoint of abstract thinking and problem solving and illustrates the use of the C++ programming language. DLC: C++ (Computer program language).

Download Link 1
Download Link 2