Free Programming Books

C++ was designed by Bjarne Stroustrup with its first release in 1983. Information technology is a statically typed, free-form, multi-paradigm, portable, compiled, full general-purpose programming language. It is regarded as an intermediate-level linguistic communication, as information technology has a combination of both loftier-level and depression-level linguistic communication features. C++ was designed for systems and applications programming, extending the C programming linguistic communication. Hence the name C++, the increment operator is written as ++.

C++ remains a popular programming linguistic communication. For example, it is heavily used in embedded systems, banking, and telecommunications.

Information technology is a superset of C that retains the efficiency and notational convenience of C, while providing facilities for stronger blazon checking, multiple inheritance, data brainchild, exception handling operator overloading, generic programming, and object-oriented programming. C++ has influenced many other languages including C#, Coffee, and the evolution of C.


1. The Boost C++ Libraries by Boris Schäling

The Boost C++ LibrariesThe Boost C++ libraries are regarded as important and influential in the C++ world. These portable libraries provide support for tasks and structures such as multithreading, containers, string and text processing, iterators, linear algebra, pseudo-random number generation, template metaprogramming, concurrent programming, data structures, image processing, regular expressions, and unit testing. Boost works on virtually any mod operating system, including Linux and Windows variants, and supports near mod compilers.

This book introduces 72 Boost libraries that provide a wide range of useful capabilities. They aid programmers manage memory and procedure strings more hands. The libraries provide containers and other data structures that extend the standard library. They make it easy to build platform-contained network applications.

This is a gem to add to whatsoever collection. The 430 code examples illustrate the libraries' capabilities well.

Capacity examine memory management, string handling, containers, data structures, algorithms, advice, streams and files, and time. Later chapters go on to explore functional, parallel and generic programming. The book closes with masterly coverage on language extensions, mistake and number handling, awarding libraries, blueprint patterns, and other libraries.

Boost C++ Libraries is released nether the Creative Eatables Attribution – NonCommercial – NoDerivatives 4.0 International License. There is a print version to purchase on Amazon if you like to carry books around. Electronic version are also available to purchase in Kindle, E-volume, and PDF formats.

Print, Kindle, Eastward-book, and PDF versions are available to purchase.

Read the book


2. How to Think Like a Computer Scientist: C++ by Allen B. Downey

How To Think Like a Computer Scientist C++ VersionHow To Retrieve Like A Computer Scientist C++ version is a concise and gentle introduction to software pattern using the C++ programming language. Intended for would-be developers with no programming experience, this book starts with the most basic concepts and gradually adds new material at a footstep that is comfortable to the reader.

This book providing a wealth of data on:

  • Variables, expressions and statements
  • Functions
  • Conditionals and recursion
  • Fruitful functions
  • Iteration
  • Strings
  • Vectors
  • Member functions
  • Vectors of Objects
  • Objects of Vectors
  • Classes and invariants
  • File Input/Output and apmatrixes

How to Think Like a Calculator Scientist: C++ Version is a free textbook available under the Creative Commons Attribution-NonCommercial 3.0 Unported License.

Read the book


3. Open Data Structures (in C++) by Pat Morin

Open Data StructuresThis book teaches the design and analysis of bones information structures and their implementation in C++. It covers the implementation and analysis of data structures for sequences (lists), queues, priority queues, unordered dictionaries, ordered dictionaries, and graphs. The author was motivated to offering undergraduate computer scientific discipline a complimentary way to study information structures. Merely this book is not intended to act equally an introduction to the C++ programming language or the C++ Standard Template library. Instead, it should help programmers empathize how STL information structures are implemented and why these implementations are efficient.

Capacity cover array-based lists, linked lists, skiplists, hash tables, binary copse including random binary search trees, scapegoat trees, and blood-red-black copse. Afterwards chapters examine heaps, sorting algorithms (comparison-based, counting sort, and radix sort), graphs, information structures for integers, and external retention searching.

The book and is released under a Artistic Commons Attribution License. Read the book for free – released in HTML, PDF, and the volume'southward LaTeX, Coffee/C++/Python sources can be downloaded from GitHub. There is too a paperback version to purchase. The book has been translated into Slovene and Turkish.

Read the book


Next page: Folio two – An Introduction to GCC and more than books

Pages in this article:
Page one – The Boost C++ Libraries and more books
Page 2 – An Introduction to GCC and more books
Page iii – C++ GUI Programming with Qt 3 and more books
Page four – Tips and Tricks of the C++ Professionals and more than books
Page 5 – How to make an Operating System and more books


All books in this series:

Gratis Programming Books
Coffee Full general-purpose, concurrent, class-based, object-oriented, loftier-level linguistic communication
C General-purpose, procedural, portable, high-level language
Python General-purpose, structured, powerful language
C++ General-purpose, portable, free-form, multi-paradigm linguistic communication
C# Combines the power and flexibility of C++ with the simplicity of Visual Bones
JavaScript Interpreted, prototype-based, scripting language
PHP PHP has been at the helm of the spider web for many years
HTML HyperText Markup Linguistic communication
SQL Access and manipulate data held in a relational database management system
Ruby Full general purpose, scripting, structured, flexible, fully object-oriented language
Assembly Every bit close to writing car lawmaking without writing in pure hexadecimal
Swift Powerful and intuitive full general-purpose programming language
Peachy Powerful, optionally typed and dynamic linguistic communication
Get Compiled, statically typed programming language
Pascal Imperative and procedural language designed in the late 1960s
Perl Loftier-level, general-purpose, interpreted, scripting, dynamic language
R De facto standard among statisticians and information analysts
COBOL Common Concern-Oriented Linguistic communication
Scala Modernistic, object-functional, multi-paradigm, Java-based linguistic communication
Fortran The first high-level language, using the showtime compiler
Scratch Visual programming linguistic communication designed for 8-16 twelvemonth-old children
Lua Designed as an embeddable scripting linguistic communication
Logo Dialect of Lisp that features interactivity, modularity, extensibility
Rust Platonic for systems, embedded, and other performance critical code
Lisp Unique features - excellent to study programming constructs
Ada ALGOL-like programming language, extended from Pascal and other languages
Haskell Standardized, full general-purpose, polymorphically, statically typed language
Scheme A general-purpose, functional linguistic communication descended from Lisp and Algol
Prolog A general purpose, declarative, logic programming language
Forth Imperative stack-based programming linguistic communication
Clojure Dialect of the Lisp programming language
Julia High-level, high-performance language for technical computing
Awk Versatile language designed for pattern scanning and processing linguistic communication
CoffeeScript Transcompiles into JavaScript inspired by Ruby, Python and Haskell
Basic Beginner's All-purpose Symbolic Instruction Code
Erlang General-purpose, concurrent, declarative, functional linguistic communication
VimL Powerful scripting linguistic communication of the Vim editor
OCaml The master implementation of the Caml language
ECMAScript Best known as the language embedded in web browsers
Bash Beat out and command language; popular both equally a shell and a scripting language
LaTeX Professional person document preparation system and document markup language
TeX Markup and programming language - create professional quality typeset text
Arduino Inexpensive, flexible, open source microcontroller platform
TypeScript Strict syntactical superset of JavaScript adding optional static typing
Elixir Relatively new functional linguistic communication running on the Erlang virtual machine
F# Uses functional, imperative, and object-oriented programming methods
Tcl Dynamic linguistic communication based on concepts of Lisp, C, and Unix shells
Factor Dynamic stack-based programming language
Eiffel Object-oriented language designed by Bertrand Meyer
Agda Dependently typed functional language based on intuitionistic Type Theory
Icon Broad multifariousness of features for processing and presenting symbolic data
XML Rules for defining semantic tags describing structure ad meaning
Vala Object-oriented language, syntactically similar to C#
Standard ML Full general-purpose functional linguistic communication characterized as "Lisp with types"
D Full general-purpose systems programming language with a C-like syntax
Sprint Customer-optimized linguistic communication for fast apps on multiple platforms
Markdown Plainly text formatting syntax designed to be easy-to-read and easy-to-write
Kotlin More than modern version of Coffee
Objective-C Object-oriented linguistic communication that adds Smalltalk-style messaging to C
PureScript Small-scale strongly, statically typed language compiling to JavaScript
ClojureScript Compiler for Clojure that targets JavaScript
VHDL Hardware description linguistic communication used in electronic pattern automation
J Assortment programming language based primarily on APL
LabVIEW Designed to enable domain experts to build power systems chop-chop
PostScript Interpreted, stack-based and Turing complete language
Raku Member of the Perl family of programming languages
Dylan Multi-paradigm linguistic communication supporting functional and object-oriented coding
Coq Dependently typed language similar to Agda, Idris, F* and others
CSS CSS (Cascading Style Sheets) specifies a web folio'due south appearance
Racket Full general-purpose, object-oriented, multi-paradigm, functional language