:santagrin: This book was suggested by
Jure Repinc
Terms and Conditions:
Alan Ezust wrote:This document is still under development. Distribution of the work or derivative of the work is prohibited unless prior permission is obtained from the copyright holder to the license reference or copy.
Book excerpts:
C++ had been in use for many years before it was standardized in 1989, which makes it a relatively mature language compared to others that are in popular use today. It is a very important language for building fast, efficient, mission-critical systems. C++ is also one of the most flexible languages around, giving developers many choices of programming styles for use in high-level GUI code as well as low-level device drivers.
For a few years in the early 90s, C++ was the most popular object oriented (OO) language in use, and many computer science (CS) students were introduced to object-oriented programming (OOP) via C++.
Starting around 1996, Java gained favor over C++ as the first OO language for students to learn, for a number of reasons. These benefits of Java can be achieved with C++ used in conjunction with Qt 4:
- Qt provides a comprehensive set of GUI classes that run faster, look better, and are more flexible than Java's Swing classes.
- Signals and slots are easier to use than
(Action|Event|Key)Listener interfaces in Java.
- Qt 4 has a plugin architecture that makes it possible to load code into an application without recompiling or relinking.
- Qt 4 provides
foreach, which makes iteration through collections simpler to read and write.
Using C++ with Qt comes very close to Java in ease of use, comprehensiveness, and convenience. It significantly exceeds Java in the areas of speed and efficiency, making everything from processing-intensive server applications to high-speed graphics-intensive games possible.
Intended Audience:
There are many C++ books out there that either teach C++ or teach Qt. Many of these C++ books use a variety of different programming styles, and they emphasize some topics that we do not use very often with Qt, while the Qt books assume prior C++ knowledge.
This book, by contrast, assumes no C or C++ programming experience, and it covers the language features of C++ that readers need to know in order to use Qt 4 classes as early as possible in the examples and assignments. It can be used as a textbook for teaching C++ and design patterns, with an emphasis on open-source code reuse.
By the end of the book, the reader should have a deep understanding of both the language and libraries, as well the design patterns used in developing software with them.