Non-Qt Books: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
(Added new book)
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Category:Learning::Links and Material]]
{{LangSwitch}}
{{LangSwitch}}
__NOTOC__
__NOTOC__
This is a compilation of books related to, but not specific to Qt, published in English. For books in other languages use the language switch. For Qt-specific books see [[Books]].  
This is a compilation of books related to, but not specific to Qt, published in English. For books in other languages use the language switch. For Qt-specific books see [[Books]].  


== C++ ==
== C++ ==
=== C++ Windows Programming ===
{|
|[[Image:C++ Windows Programming.png|thumbnail|left]]
|
:* Author: Stefan Björnander
:* Published: September 2016
:* ISBN: 978-1786464224
:"This book illustrates and demonstrates C++ best practices and the Small Windows object-oriented class library to ease your development of interactive Windows applications. Learn how to build four real-world applications which focus on the general problems faced when developing graphical applications. Get essential troubleshooting guidance on drawing, spreadsheet, and word processing applications.  "
|}


=== Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14 ===
=== Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14 ===
Line 36: Line 46:
|}
|}


=== Effective C++: 55 Specific Ways to Improve Your Programs and Designs ===
=== Effective STL: 50 Specific Ways to Improve the Use of the Standard Template Library ===
{|
|[[Image:Effective_stl.png |thumbnail|left]]
|
:* Author: Scott Meyers
:* Published: July 2008
:* ISBN: 978-0201749625, 0201749629
:"Effective STL is filled with proven wisdom that comes only from experience. Its clear, concise, penetrating style makes it an essential resource for every STL programmer."
|}
 
=== Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition) ===
{|
{|
|[[Image:Effective_c++.png|thumbnail|left]]
|[[Image:Effective_c++.png|thumbnail|left]]
Line 74: Line 94:
:* ISBN: 978-0131225527, 0131225529
:* ISBN: 978-0131225527, 0131225529
:"For sophomore/junior level courses in Advanced C++ Programming offered in Computer Science departments. This text fills the need for a practical C++ topics book beyond the introductory level. No other text covers the topics needed to prepare students for production C++ programming. It streamlines the process of learning the C++ language, presenting material a simple step at a time, which allows the reader to digest each concept before moving on, and provides them with a solid foundation in C++."
:"For sophomore/junior level courses in Advanced C++ Programming offered in Computer Science departments. This text fills the need for a practical C++ topics book beyond the introductory level. No other text covers the topics needed to prepare students for production C++ programming. It streamlines the process of learning the C++ language, presenting material a simple step at a time, which allows the reader to digest each concept before moving on, and provides them with a solid foundation in C++."
|}
=== C++ Templates: The Complete Guide ===
{|
|[[Image:C++_templates.png|thumbnail|left]]
|
:* Author: Nicolai M. Josuttis, David Vandevoorde
:* Published: November 2002
:* ISBN: 978-0201734843, 0201734842
:"This book will be the next C++ classic. Although templates have been part of C++ for well over a decade, they still lead to misunderstanding, misuse, and controversy. At the same time, they are increasingly found to be powerful instruments for the development of cleaner, faster, and smarter software. This has made templates one of the hottest topics in the C++ community. This book will be both a complete reference as well as a tutorial. It will emphasize the practical use of templates, and will include real-world examples. Every working C++ programmer will need a copy of this book for his or her library."
|}
=== More Exceptional C++: 40 New Engineering Puzzles, Programming Problems, and Solutions ===
{|
|[[Image:More_exceptional_c++.png|thumbnail|left]]
|
:* Author: Herb Sutter
:* Published: January 2002
:* ISBN: 978-0201704341, 020170434X
:"More Exceptional C++ offers many new puzzles focused on generic programming and the C++ Standard Template Library, including important techniques such as traits and predicates, as well as key considerations in using standard containers and algorithms -- many of them never covered elsewhere. More Exceptional C++ contains a detailed new section (and two appendices) on optimization in single- and multithreaded environments. It also provides important new insights on crucial topics first introduced in Exceptional C++, including exception safety, generic programming, and memory management."
|}
|}


Line 146: Line 186:
|}
|}


=== Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions ===
{|
|[[Image:Exceptional_c++.png|thumbnail|left]]
|
:* Author: Herb Sutter
:* Published: November 1999
:* ISBN: 978-0201615623, 0201615622
:"Exceptional C++ shows by example how to go about sound software engineering in standard C++. Do you enjoy solving thorny C++ problems and puzzles? Do you relish writing robust and extensible code? Then take a few minutes and challenge yourself with some tough C++ design and programming problems. The puzzles and problems in Exceptional C++ not only entertain, they will help you hone your skills to become the sharpest C++ programmer you can be. Many of these problems are culled from the famous Guru of the Week feature of the Internet newsgroup comp.lang.c++.moderated, expanded and updated to conform to the official ISO/ANSI C++ Standard."
|}
=== Practical C++ Programming ===
{|
|[[Image:Practical_c++_programming.png|thumbnail|left]]
|
:* Author: Steve Oualline
:* Published: August 1995
:* ISBN: 978-1-56592-139-9, 1-56592-139-9
:"Fast becoming the standard language of commercial software development, C++ is an update of the C programming language, adding object-oriented features that are very helpful for today's larger graphical applications. ''Practical C++ Programming'' is a complete introduction to the C++ language for the beginning programmer, and also for C programmers transitioning to C++. Unlike most other C++ books, this book emphasizes a practical, real-world approach, including how to debug, how to make your code understandable to others, and how to understand other people's code."
|}
== JavaScript ==
=== JavaScript: The Definitive Guide (6th Edition) ===
{|
|[[Image:Javascript_the_definitive_guide.png|thumbnail|left]]
|
:* Author: David Flanagan
:* Published: May 2011
:* ISBN: 978-0596805524, 0596805527
:"Since 1996, JavaScript: The Definitive Guide has been the bible for JavaScript programmers—a programmer's guide and comprehensive reference to the core language and to the client-side JavaScript APIs defined by web browsers. The 6th edition covers HTML5 and ECMAScript 5. Many chapters have been completely rewritten to bring them in line with today's best web development practices. New chapters in this edition document jQuery and server side JavaScript. It's recommended for experienced programmers who want to learn the programming language of the Web, and for current JavaScript programmers who want to master it."
|}
=== JavaScript: The Good Parts ===
{|
|[[Image:Javascript_the_good_parts.png|thumbnail|left]]
|
:* Author: Douglas Crockford
:* Published: May 2008
:* ISBN: 978-0-596-51774-8, 0-596-51774-2
:"Most programming languages contain good and bad parts, but JavaScript has more than its share of the bad, having been developed and released in a hurry before it could be refined. This authoritative book scrapes away these bad features to reveal a subset of JavaScript that's more reliable, readable, and maintainable than the language as a whole—a subset you can use to create truly extensible and efficient code."
|}
== OpenCV ==
=== Learning OpenCV: Computer Vision with the OpenCV Library (2nd Edition) ===
{|
|[[Image:Learning_opencv.png|thumbnail|left]]
|
:* Author: Adrian Kaehler, Gary Bradski
:* Published: October 2015
:* ISBN: 978-1449314651, 1449314651
:"The second edition is updated to cover new features and changes in OpenCV 2.0, especially the C++ interface. Computer vision is everywhere—in security systems, manufacturing inspection systems, medical image analysis, Unmanned Aerial Vehicles, and more. OpenCV provides an easy-to-use computer vision framework and a comprehensive library with more than 500 functions that can run vision code in real time. Whether you want to build simple or sophisticated vision applications, Learning OpenCV is the book any developer or hobbyist needs to get started, with the help of hands-on exercises in each chapter."
|}


* "More Effective C", "Effective STL" Scott Meyers ([http://www.amazon.com/Scott-Meyers/e/B004BBEYYW Amazon])
=== OpenCV 2 Computer Vision Application Programming Cookbook ===
* "Exceptional C", "More Exceptional C" Herb Sutter ([http://www.amazon.com/Herb-Sutter/e/B001ILHLCK Amazon])
{|
* "C++ Templates" Vandevoorde & Josuttis ([http://www.amazon.com/products/dp/0201734842 Amazon])
|[[Image:Opencv2_cookbook.png|thumbnail|left]]
|
:* Author: Robert Laganière
:* Published: May 2011
:* ISBN: 9781849513241
:"If you have at least some basic knowledge of C++, this book will teach you how to write computer vision applications for the modern world. The recipe-based approach comes with explanations and screenshots for easy learning."
|}

Latest revision as of 10:21, 28 June 2017

En Ar Bg De El Es Fa Fi Fr Hi Hu It Ja Kn Ko Ms Nl Pl Pt Ru Sq Th Tr Uk Zh

This is a compilation of books related to, but not specific to Qt, published in English. For books in other languages use the language switch. For Qt-specific books see Books.

C++

C++ Windows Programming

C++ Windows Programming.png
  • Author: Stefan Björnander
  • Published: September 2016
  • ISBN: 978-1786464224
"This book illustrates and demonstrates C++ best practices and the Small Windows object-oriented class library to ease your development of interactive Windows applications. Learn how to build four real-world applications which focus on the general problems faced when developing graphical applications. Get essential troubleshooting guidance on drawing, spreadsheet, and word processing applications. "

Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14

Effective modern c++.png
  • Author: Scott Meyers
  • Published: December 2014
  • ISBN: 978-1491903995, 1491903996
"Coming to grips with C++11 and C++14 is more than a matter of familiarizing yourself with the features they introduce (e.g., auto type declarations, move semantics, lambda expressions, and concurrency support). The challenge is learning to use those features effectively—so that your software is correct, efficient, maintainable, and portable. That’s where this practical book comes in. It describes how to write truly great software using C++11 and C++14—i.e. using modern C++."

The C++ Programming Language (4th Edition)

The c++ programming language.png
  • Author: Bjarne Stroustrup
  • Published: May 2013
  • ISBN: 978-0321563842, 0321563840
"The new C++11 standard allows programmers to express ideas more clearly, simply, and directly, and to write faster, more efficient code. Bjarne Stroustrup, the designer and original implementer of C++, has reorganized, extended, and completely rewritten his definitive reference and tutorial for programmers who want to use C++ most effectively. The C++ Programming Language, Fourth Edition, delivers meticulous, richly explained, and integrated coverage of the entire language-its facilities, abstraction mechanisms, standard libraries, and key design techniques."

The C++ Standard Library: A Tutorial and Reference (2nd Edition)

The c++ standard library.png
  • Author: Nicolai M. Josuttis
  • Published: March 2012
  • ISBN: 978-0321623218, 0321623215
"The Best-Selling C++ Resource Now Updated for C++11 The C++ standard library provides a set of common classes and interfaces that greatly extend the core C++ language. The library, however, is not self-explanatory. To make full use of its components-and to benefit from their power-you need a resource that does far more than list the classes and their functions. The C++ Standard Library: A Tutorial and Reference, Second Edition, describes this library as now incorporated into the new ANSI/ISO C++ language standard (C++11)."

Effective STL: 50 Specific Ways to Improve the Use of the Standard Template Library

Effective stl.png
  • Author: Scott Meyers
  • Published: July 2008
  • ISBN: 978-0201749625, 0201749629
"Effective STL is filled with proven wisdom that comes only from experience. Its clear, concise, penetrating style makes it an essential resource for every STL programmer."

Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition)

Effective c++.png
  • Author: Scott Meyers
  • Published: May 2005
  • ISBN: 978-0321334879, 0321334876
"Every C++ professional needs a copy of Effective C++. It is an absolute must-read for anyone thinking of doing serious C++ development. If you've never read Effective C++ and you think you know everything about C++, think again." - Steve Schirripa, Software Engineer, Google"C++ and the C++ community have grown up in the last fifteen years, and the third edition of Effective C++ reflects this. The clear and precise style of the book is evidence of Scott's deep insight and distinctive ability to impart knowledge."

C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond

C++ template metaprogramming.png
  • Author: David Abrahams, Aleksey Gurtovoy
  • Published: December 2004
  • ISBN: 978-0321227256, 0321227255
"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."

C++ Coding Standards: 101 Rules, Guidelines and Best Practices

C++ coding standards.png
  • Author: Herb Sutter, Andrei Alexandrescu
  • Published: October 2004
  • ISBN: 978-0321113580, 9780321113580
"Consistent, high-quality coding standards improve software quality, reduce time-to-market, promote teamwork, eliminate time wasted on inconsequential matters, and simplify maintenance. Now, two of the world's most respected C++ experts distill the rich collective experience of the global C++ community into a set of coding standards that every developer and development team can understand and use as a basis for their own coding standards. The authors cover virtually every facet of C++ programming: design and coding style, functions, operators, class design, inheritance, construction/destruction, copying, assignment, namespaces, modules, templates, genericity, exceptions, STL containers and algorithms, and more."

Thinking in C++: Practical Programming, Volume Two

Thinking in c++vol2.png
  • Author: Bruce Eckel
  • Published: January 2004
  • ISBN: 978-0131225527, 0131225529
"For sophomore/junior level courses in Advanced C++ Programming offered in Computer Science departments. This text fills the need for a practical C++ topics book beyond the introductory level. No other text covers the topics needed to prepare students for production C++ programming. It streamlines the process of learning the C++ language, presenting material a simple step at a time, which allows the reader to digest each concept before moving on, and provides them with a solid foundation in C++."

C++ Templates: The Complete Guide

C++ templates.png
  • Author: Nicolai M. Josuttis, David Vandevoorde
  • Published: November 2002
  • ISBN: 978-0201734843, 0201734842
"This book will be the next C++ classic. Although templates have been part of C++ for well over a decade, they still lead to misunderstanding, misuse, and controversy. At the same time, they are increasingly found to be powerful instruments for the development of cleaner, faster, and smarter software. This has made templates one of the hottest topics in the C++ community. This book will be both a complete reference as well as a tutorial. It will emphasize the practical use of templates, and will include real-world examples. Every working C++ programmer will need a copy of this book for his or her library."

More Exceptional C++: 40 New Engineering Puzzles, Programming Problems, and Solutions

More exceptional c++.png
  • Author: Herb Sutter
  • Published: January 2002
  • ISBN: 978-0201704341, 020170434X
"More Exceptional C++ offers many new puzzles focused on generic programming and the C++ Standard Template Library, including important techniques such as traits and predicates, as well as key considerations in using standard containers and algorithms -- many of them never covered elsewhere. More Exceptional C++ contains a detailed new section (and two appendices) on optimization in single- and multithreaded environments. It also provides important new insights on crucial topics first introduced in Exceptional C++, including exception safety, generic programming, and memory management."

Modern C++ Design: Generic Programming and Design Patterns Applied

Modern c++ design.png
  • Author: Andrei Alexandrescu
  • Published: February 2001
  • ISBN: 978-0201704310, 0201704315
"In Modern C++ Design, Andrei Alexandrescu opens new vistas for C++ programmers. Displaying extraordinary creativity and virtuosity, Alexandrescu offers a cutting-edge approach to software design that unites design patterns, generic programming, and C++, enabling programmers to achieve expressive, flexible, and highly reusable code. The book introduces the concept of generic components, reusable design templates that enable an easier and more seamless transition from design to application code, generate code that better expresses the original design intention, and support the reuse of design structures with minimal recoding. The author then shows how to apply this approach to recurring, real-world issues that C++ programmers face in their day-to-day activity. All code is available on the Web, along with Alexandrescu's downloadable Loki C++ library, which provides powerful out-of-the-box functionality for virtually any C++ project. For experienced C++ programmers who have at least some familiarity with the Standard Template Library (STL)."

C++ The Complete Reference (5th Edition)

C++ the complete reference.png
  • Author: Herbert Schildt
  • Published: December 2000
  • ISBN: 978-0071634809, 0071634800
"C++ The Complete Reference, Fifth Edition is a thoroughly revised new edition covering the new International Standard for C++, known as C++0x, which incorporates many new and exciting features. This comprehensive guide offers full coverage of C++, the premier language of high-performance systems software development, and includes in-depth details on all of the new features and functionalities of C++0x."

Accelerated C++: Practical Programming by Example

Accelerated c++.png
  • Author: Andrew Koenig, Barbara Moo
  • Published: August 2000
  • ISBN: 978-0201703535, 020170353X
"Want to learn how to program in C++ immediately? Want to start writing better, more powerful C++ programs today? Accelerated C++'s uniquely modern approach will help you learn faster and more fluently than you ever believed possible. Based on the authors' intensive summer C++ courses at Stanford University, Accelerated C++ covers virtually every concept that most professional C++ programmers will ever use -- but it turns the "traditional" C++ curriculum upside down, starting with the high-level C++ data structures and algorithms that let you write robust programs immediately. Once you're getting results, Accelerated C++ takes you "under the hood," introducing complex language features such as memory management in context, and explaining exactly how and when to use them. From start to finish, the book concentrates on solving problems, rather than learning language and library features for their own sake. The result: You'll be writing real-world programs in no time -- and outstanding code faster than you ever imagined."

Thinking in C++: Introduction to Standard C++, Volume One (2nd Edition)

Thinking in c++.png
  • Author: Bruce Eckel
  • Published: March 2000
  • ISBN: 978-0139798092, 0139798099
"In the first edition of Thinking in C++, Bruce Eckel synthesized years of C++ teaching and programming experience into a beautifully structured course in making the most of the language. It became an instant classic, winning the 1995 Software Development Jolt Cola Award for best book of the year. Now, Eckel has thoroughly rewritten Thinking in C++ to reflect the final ANSI/ISO C++ standard."

Standard C++ IOStreams and Locales: Advanced Programmer's Guide and Reference

Standard c++ iostreams and locales.png
  • Author: Klaus Kreft, Angelika Langer
  • Published: January 2000
  • ISBN: 978-0201183955, 0201183951
"IOStreams and Locales are two of the most important, eagerly-awaited components of the ISO/ANSI C++ standard -- and this is the first book to cover them exclusively, and in great depth. The authors explain the problems that IOStreams and Locales solve; then present a wide range of examples and techniques, from simple to sophisticated. The authors introduce concepts, component architecture, standards-compliant code, and practical patterns of use. "

Design Patterns - Elements of Reusable Object-Oriented Software

Design patterns elements of reusable object-oriented software.png
  • Author: Erich Gamma
  • Published: 2000
  • ISBN: 978-7111211266, 8131700070
"Design Patterns is based on the idea that there are only so many design problems in computer programming. This book identifies some common program-design problems--such as adapting the interface of one object to that of another object or notifying an object of a change in another object's state--and explains the best ways (not always the obvious ways) that the authors know to solve them."

Practical C++ Programming

Practical c++ programming.png
  • Author: Steve Oualline
  • Published: August 1995
  • ISBN: 978-1-56592-139-9, 1-56592-139-9
"Fast becoming the standard language of commercial software development, C++ is an update of the C programming language, adding object-oriented features that are very helpful for today's larger graphical applications. Practical C++ Programming is a complete introduction to the C++ language for the beginning programmer, and also for C programmers transitioning to C++. Unlike most other C++ books, this book emphasizes a practical, real-world approach, including how to debug, how to make your code understandable to others, and how to understand other people's code."

Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions

Exceptional c++.png
  • Author: Herb Sutter
  • Published: November 1999
  • ISBN: 978-0201615623, 0201615622
"Exceptional C++ shows by example how to go about sound software engineering in standard C++. Do you enjoy solving thorny C++ problems and puzzles? Do you relish writing robust and extensible code? Then take a few minutes and challenge yourself with some tough C++ design and programming problems. The puzzles and problems in Exceptional C++ not only entertain, they will help you hone your skills to become the sharpest C++ programmer you can be. Many of these problems are culled from the famous Guru of the Week feature of the Internet newsgroup comp.lang.c++.moderated, expanded and updated to conform to the official ISO/ANSI C++ Standard."

Practical C++ Programming

Practical c++ programming.png
  • Author: Steve Oualline
  • Published: August 1995
  • ISBN: 978-1-56592-139-9, 1-56592-139-9
"Fast becoming the standard language of commercial software development, C++ is an update of the C programming language, adding object-oriented features that are very helpful for today's larger graphical applications. Practical C++ Programming is a complete introduction to the C++ language for the beginning programmer, and also for C programmers transitioning to C++. Unlike most other C++ books, this book emphasizes a practical, real-world approach, including how to debug, how to make your code understandable to others, and how to understand other people's code."

JavaScript

JavaScript: The Definitive Guide (6th Edition)

Javascript the definitive guide.png
  • Author: David Flanagan
  • Published: May 2011
  • ISBN: 978-0596805524, 0596805527
"Since 1996, JavaScript: The Definitive Guide has been the bible for JavaScript programmers—a programmer's guide and comprehensive reference to the core language and to the client-side JavaScript APIs defined by web browsers. The 6th edition covers HTML5 and ECMAScript 5. Many chapters have been completely rewritten to bring them in line with today's best web development practices. New chapters in this edition document jQuery and server side JavaScript. It's recommended for experienced programmers who want to learn the programming language of the Web, and for current JavaScript programmers who want to master it."

JavaScript: The Good Parts

Javascript the good parts.png
  • Author: Douglas Crockford
  • Published: May 2008
  • ISBN: 978-0-596-51774-8, 0-596-51774-2
"Most programming languages contain good and bad parts, but JavaScript has more than its share of the bad, having been developed and released in a hurry before it could be refined. This authoritative book scrapes away these bad features to reveal a subset of JavaScript that's more reliable, readable, and maintainable than the language as a whole—a subset you can use to create truly extensible and efficient code."

OpenCV

Learning OpenCV: Computer Vision with the OpenCV Library (2nd Edition)

Learning opencv.png
  • Author: Adrian Kaehler, Gary Bradski
  • Published: October 2015
  • ISBN: 978-1449314651, 1449314651
"The second edition is updated to cover new features and changes in OpenCV 2.0, especially the C++ interface. Computer vision is everywhere—in security systems, manufacturing inspection systems, medical image analysis, Unmanned Aerial Vehicles, and more. OpenCV provides an easy-to-use computer vision framework and a comprehensive library with more than 500 functions that can run vision code in real time. Whether you want to build simple or sophisticated vision applications, Learning OpenCV is the book any developer or hobbyist needs to get started, with the help of hands-on exercises in each chapter."

OpenCV 2 Computer Vision Application Programming Cookbook

Opencv2 cookbook.png
  • Author: Robert Laganière
  • Published: May 2011
  • ISBN: 9781849513241
"If you have at least some basic knowledge of C++, this book will teach you how to write computer vision applications for the modern world. The recipe-based approach comes with explanations and screenshots for easy learning."