Programming Books


Beej's Guide to Network Programming

C / C++

This practical guide offers a clear introduction to network programming using Internet sockets, commonly referred to as 'sockets programming.' While the sockets API originated in Berkeley, it has since been adapted across various platforms, including Unix, Linux, and Windows. Though the API can be overwhelming at first, this book simplifies the lea

Beej's Guide to C Programming

C / C++

This is an intro to C for folks who already know how to program in another language. The first half of the book is written in a tutorial style, while the second half is a reference section complete with examples (inspired by the incomparable Turbo C Bible). The goal is to keep this up-to-date with the latest C standards. This guide assumes that you

97 Things Every Software Architect Should Know

Software

In this truly unique technical book, today's leading software architects present valuable principles on key development issues that go way beyond technology. More than four dozen architects - including Neal Ford, Michael Nygard, and Bill de hOra - offer advice for communicating with stakeholders, eliminating complexity, empowering developers, and m

Clever Algorithms

Algorithms Ruby

This book provides a handbook of algorithmic recipes from the fields of Metaheuristics, Biologically Inspired Computation and Computational Intelligence that have been described in a complete, consistent, and centralized manner. These standardized descriptions were carefully designed to be accessible, usable, and understandable. Most of the algorit

Programming Computer Vision with Python

Python

If you want a basic understanding of computer vision's underlying theory and algorithms, this hands-on introduction is the ideal place to start. You'll learn techniques for object recognition, 3D reconstruction, stereo imaging, augmented reality, and other computer vision applications as you follow clear examples written in Python. Programming Comp

The Nature of Code

Java

How can we capture the unpredictable evolutionary and emergent properties of nature in software? How can understanding the mathematical principles behind our physical world help us to create digital worlds? This book focuses on a range of programming strategies and techniques behind computer simulations of natural systems, from elementary concepts

Learning Go

Go

This is an introduction to the Go language from Google. Its aim is to provide a guide to this new and innovative language. The intended audience of this book is people who are familiar with programming and know multiple programming languages,be it C, C++, Perl, Java, Erlang, Scala or Haskell. This is not a book which teaches you how to program, thi

Object-oriented Programming in C#

C# C / C++ Java OOP

Object-oriented Programming in C# is a practical guide to OOP concepts using C#, designed for programmers with experience in imperative languages like C or Java. Originally created in 2006, it takes an "object-later" approach, first reinforcing foundational programming skills before introducing object-oriented principles. The material combines anno

Haskell: The Craft of Functional Programming, 3rd Edition

Haskell

This book offers a comprehensive introduction to functional programming using Haskell, a powerful and modern functional language. It covers core concepts, practical applications, and advanced techniques, emphasizing clarity, correctness, and real-world relevance. The 3rd edition of one of the leading textbooks for beginning functional programmers i

The Common Java Cookbook

Java

In this book, you'll find information about a set of libraries developed within the Apache Commons (also referred to as "Commons"). Commons is a set of small, popular components which forms a Top-level Project at the Apache Software Foundation. Ranging from the elementary to the complex, many would consider some of these libraries indispensable to