From IT projects that have trampled all over the guiding principles of successful development, to tips on training your manager to the required standard, each of Phil's tales is shot through with a wild seam of anarchic humour. And yet, in each case, the humor is just a sugar coating for a pill of sage advice, wrought from years of rough-and-t...
This is an optimization manual for advanced C++ programmers. This book are not for beginners.
Topics include:
- The choice of platform and operating system.
- Choice of compiler and framework.
- Finding performance bottlenecks.
- The efficiency of different C++ constructs.
- Multi-core systems.
- Parallelization with vector operations.
- CPU dispa...
This book takes a single line of code - the extremely concise BASIC program for the Commodore 64 inscribed in the title - and uses it as a lens through which to consider the phenomenon of creative computing and the way computer programs exist in culture. The authors of this collaboratively written book treat code not as merely functional but as a t...
Even connecting a few programs across a few sockets is plain nasty when you start to handle real life situations. Trillions? The cost would be unimaginable. Connecting computers is so difficult that software and services to do this is a multi-billion dollar business. So today we're still connecting applications using raw UDP and TCP, proprieta...
This text is a practical guide for linguists, and programmers, who work with data in multilingual computational environments. We introduce the basic concepts needed to understand how writing systems and character encodings function, and how they work together at the intersection between the Unicode Standard and the International Phonetic Alphabet. ...
This instructive book takes you step by step through ways to track, merge, and manage both open source and commercial software projects with Mercurial, using Windows, Mac OS X, Linux, Solaris, and other systems. Mercurial is the easiest system to learn when it comes to distributed revision control. And it's a very flexible tool that's ide...
How do you write truly elegant code with Ruby? Ruby Best Practices is for programmers who want to use Ruby as experienced Rubyists do. Written by the developer of the Ruby project Prawn, this concise book explains how to design beautiful APIs and domain-specific languages with Ruby, as well as how to work with functional programming ideas and techn...
Thread-safe, reliable, and lightning-fast, Rust has been the most loved programming language on Stack Overflow for four years and counting! This open source systems language gets its amazing speed in large part from its memory safety - and without resource-greedy garbage collection. Offering freedom from a runtime requirement, a rich type system, a...
This is a teaching material about object-oriented programming, illustrated with use of the programming language C#.
It is assumed, as a prerequisite, that the readers have some knowledge about imperative programming, preferably knowledge about C.
I believe that it is best to learn object-oriented programming after having learned and worked w...
Learn how to accelerate C++ programs using data parallelism. This open book enables C++ programmers to be at the forefront of this exciting and important new development that is helping to push computing to new levels. It is full of practical advice, detailed explanations, and code examples to illustrate key topics.
Data parallelism in C++ enables...
CSS, a shorthand for Cascading Style Sheets, is one of the main building blocks of the Web. Its history goes back to the 90's and along with HTML it has changed a lot since its humble beginnings.
This handbook is aimed at a vast audience.
- First, the beginner. I explain CSS from zero in a succinct but comprehensive way, so you can use thi...
Add buttons, boxes, pictures and colours and more to your Python programs using the guizero library, which is quick, accessible, and understandable for all.
This 156-page book is suitable for everyone, from beginners to experienced Python programmers who want to explore graphical user interfaces (GUIs).
There are ten fun projects for you to c...
This is a simple open book to learn Python programming language, it is for the programmers who are new to Python.
Python is an interpreted, high-level and general-purpose programming language. Python consistently ranks as one of the most popular programming languages. Large organizations that use Python include Wikipedia, Google, Yahoo, CERN, NA...
How to Think Like a Computer Scientist is an introductory programming book based on the OCaml language. It is a modified version of Think Python by Allen Downey. It is intended for newcomers to programming and also those who know some programming but want to learn programming in the function-oriented paradigm, or those who simply want to learn OCam...
Java 3D Programming steps programmers through the important design and implementation phases of developing a successful Java 3D application. The book provides invaluable guidance on whether to use Java 3D, user interface design, geometry creation, scene manipulation and final optimizations. The book does not attempt to exhaustively cover the API or...
You can find a whole range of programming textbooks intended for complete beginners. However, this one is exceptional to certain extent. The whole textbook is designed as a record of the dialogue of the author with his daughter who wants to learn programming. The author endeavors not to explain the Java programming language to the readers, but to t...
Greatly enhanced and updated from the third edition, this is the title any JavaScripter cannot afford to be without! JavaScript Bible, 4th Edition covers the new powerful functionality JavaScript will gain with the release of new revs of Internet Explorer and Netscape Communicator. This book features essential new JS information, additional ready-t...
Covering the design and implementation of assemblers and loaders, this comprehensive book opens with an introduction to one-pass and two-pass assemblers. Important concepts such as absolute and relocatable object files are discussed, as are assembler features such as local labels and multiple location counters. The format, meaning and implementatio...
This open book aims to provide novice programmers solid foundation of basic knowledge regardless of the programming language. This book covers the fundamentals of programming that have not changed significantly over the last 10 years. Educational content was developed by an authoritative author team led by Svetlin Nakov from the Software University...
The GNU Debugger allows you to see what is going on "inside" a program while it executes - or what a program was doing at the moment it crashed. GDB supports C, C++, Java, Fortran and Assembly among other languages; it is also designed to work closely with the GNU Compiler Collection (GCC). The GNU Debugger Program has four special featur...
Deep learning is often viewed as the exclusive domain of math PhDs and big tech companies. But as this hands-on guide demonstrates, programmers comfortable with Python can achieve impressive results in deep learning with little math background, small amounts of data, and minimal code. How? With fastai, the first library to provide a consistent inte...
Programming patterns are solutions to problems that require the creation of a small fragment of code that will be part of a larger program. Hence, this book is about teaching you how to write such fragments of code. However, it is not about teaching you the syntax of the statements in the fragments, it assumes that you already know the syntax. Inst...
Julia is a high-level, dynamic programming language. Its features are well suited for numerical analysis and computational science.
Julia works with other languages (C, Python, R, Rust, C++, SQL, JavaScript, ...)
The Purpose of this open book is to introduce programmers to the Julia programming by example. This is a simplified exposition of the l...
Now that software development is shifting primarily toward mobile and cloud computing, the venerable C++ programming language is returning to the dominant position it held during the object-oriented boom of the 1990s. In this O'Reilly report, you'll learn why C++ is once again the preferred choice across several diverse industries, after ...
Rich Hickey invented Clojure. This is a fork of the project to experiment with literate programming as a development and documentation technology.
Clojure is a break with the past traditions of Lisp. This literate fork is a break with the past traditions of code development. As such it is intended as an experiment, not a replacement or competiti...