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...
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...
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 purpose of this book is to give you a thorough introduction to competitive programming. It is assumed that you already know the basics of programming, but no previous background in competitive programming is needed.
The book is especially intended for students who want to learn algorithms and possibly participate in the International Olympi...
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...
Computer graphics programming books are often math-heavy and intimidating for newcomers. Not this one. Computer Graphics from Scratch takes a simpler approach by keeping the math to a minimum and focusing on only one aspect of computer graphics, 3D rendering.
You'll build two complete, fully functional renderers: a raytracer, which simulate...
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...