A linguagem de programação C++ é a preferida pelas grandes empresas de desenvolvimento de software e pelos programadores de software livre. Recentemente, com a inclusão da STL (Standard Template Library), dos ambientes de desenvolvimento (Visual C, Builder C++, Kylix, KDevelop, Qt-Designer e Glade) e das bibliotecas gráficas (MFC, VCL, Qt e GTK), C++ tornou-se a linguagem-padrão para o desenvolvimento de software profissional, principalmente na área de exatas, como engenharia, matemática, física e química. Este livro é inovador ao incluir, em um único volume, praticamente tudo o que é necessário para programar no ambiente de software livre (GNU). · Aborda os conceitos de programação orientada a objeto, os principais elementos da UML e as etapas para o desenvolvimento de programas. · Descreve a sintaxe de C++ e conceitos como tipos, namespace, classes, atributos, métodos, construtores/destrutores, herança, polimorfismo, entrada e saída de dados, sobrecarga de operador, friend, conversões, exceções, templates e a classe string. · A STL (Standard Template Library), os containers, os iteradores e os algoritmos genéricos são apresentados em detalhes. · Descreve os programas mais utilizados no desenvolvimento de software livre, disponíveis na Internet, como o editor emacs, o compilador gcc/g++, o make, diff, patch, indent e as ferramentas autoconf, automake e libtool. Como desenvolver bibliotecas estáticas e dinâmicas. Conceitos de portabilidade, depuração e otimização. O excelente software CVS, para o controle das versões de programas, e o uso de Javadoc e doxygen, para a documentação de programas. · Apresenta os diferentes tipos de clusters de computadores e formas de processamento paralelo. Vantagens e desvantagens do uso de threads, processos, PVM e MPI. Exemplos de programas com múltiplos processos e múltiplas threads. · Nos apêndices são incluídos temas como diretrizes de pré-processamento, operadores, estruturas de controle, ponteiros, estruturas, uniões e enumerações.