This book is a collection of short interviews with 14 prominent individuals from different parts of the world, from Australia to Canada, and of different occupations, from low-level programmers to physicists and musicians, asking them a more-or-less similar set of questions on the following topics: their general attitude to programming, attitude to...
Category Theory is one of the most abstract branches of mathematics. It is usually taught to graduate students after they have mastered several other branches of mathematics, like algebra, topology, and group theory. It might, therefore, come as a shock that the basic concepts of category theory can be explained in relatively simple terms to anybod...
Get the most out of this foundational reference and improve the productivity of your software teams. This book collects the wisdom of the 2017 "Dagstuhl" seminar on productivity in software engineering, a meeting of community leaders, who came together with the goal of rethinking traditional definitions and measures of productivity.
The ...
Intel Galileo and Intel Galileo Gen 2: API Features and Arduino Projects for Linux Programmers provides detailed information about Intel Galileo and Intel Galileo Gen 2 boards for all software developers interested in Arduino and the Linux platform. The book covers the new Arduino APIs and is an introduction for developers on natively using Linux.
...
Welcome to InnerSource, the powerful movement for developing open source software within the walls of a single organization, where the "openness" of a project extends across teams inside the company. In this report, O'Reilly editor and author Andy Oram takes you inside InnerSource, first by reviewing the principles that make open sou...
In a world where web services can make real-time data accessible to anyone, how can the government leverage this openness to improve its operations and increase citizen participation and awareness? Through a collection of essays and case studies, leading visionaries and practitioners both inside and outside of government share their ideas on how to...
Bjarne Stroustrup of AT&T Bell Labs created C++ in the mid 1980s. C++ is an extension of the programming language C, a product of AT&T Bell Labs from the early 1970s. C was developed to write the Unix operating system, and C is widely used for systems-level software and embedded systems development.
C++ initially provided object-oriented...
Firefox, a free Web browser developed by the Mozilla Foundation, is used by an estimated 270 million people worldwide. To maintain and improve the Firefox browser, Mozilla depends not only on its team of professional programmers and managers but also on a network of volunteer technologists and enthusiasts - free/libre and open source software (FLOS...
The Go programming language is relatively small and concise, but its depth makes it an ideal option for solving modern-day development problems. In Go Succinctly, author Mark Lewin guides readers through the basics of Go, and he provides documentation and resources that allow users to dive into the language and learn it for themselves. By the end o...
An experienced programmer accumulates a set of tools, tricks, and techniques to make his or her programs better. C++ Hacker's Guide collects more than 120 of the best C++ veteran secrets and puts them in one accessible place. The techniques presented have all been used in actual programs, and more importantly, have made actual programs better....
This book makes JavaScript less challenging to learn for newcomers, by offering a modern view that is as consistent as possible.
Highlights:
- Get started quickly, by initially focusing on modern features.
- Test-driven exercises and quizzes available for most chapters.
- Covers all essential features of JavaScript, up to and including ES2020...
There are many books and resources about Pascal out there, but too many of themtalk about the old Pascal, without classes, units or generics.
So I wrote this quick introduction to what I call modern Object Pascal. Most of theprogrammers using it don't really call it "modern Object Pascal", we just call it "ourPascal". Bu...
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...
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...
This book takes a look at fully automated, autonomous vehicles and discusses many open questions: How can autonomous vehicles be integrated into the current transportation system with diverse users and human drivers? Where do automated vehicles fall under current legal frameworks? What risks are associated with automation and how will society respo...
This book is a modern guide for all C++ programmers to learn Threading Building Blocks (TBB). Written by TBB and parallel programming experts, this book reflects their collective decades of experience in developing and teaching parallel programming with TBB, offering their insights in an approachable manner. Throughout the book the authors present ...
Beginning and experienced programmers will use this comprehensive guide to persistent memory programming. You will understand how persistent memory brings together several new software/hardware requirements, and offers great promise for better performance and faster application startup times - a huge leap forward in byte-addressable capacity compar...
Think Java is a hands-on introduction to computer science and programming used by many universities and high schools around the world. Its conciseness, emphasis on vocabulary, and informal tone make it particularly appealing for readers with little or no experience. The book starts with the most basic programming concepts and gradually works its wa...
Complexity science uses computation to explore the physical and social sciences. In Think Complexity, you'll use graphs, cellular automata, and agent-based models to study topics in physics, biology, and economics.
Whether you're an intermediate-level Python programmer or a student of computational modeling, you'll delve into exam...
The title of this book was originally Think Perl 6, but since Perl 6 has been renamed Raku, we have also changed the title of the book.
Want to learn how to program and think like a computer scientist? This practical guide gets you started on your programming journey with the help of Raku (Perl 6), the younger sister of the popular Perl programm...
This free book explores the fundamentals of computer music and functional programming through the Haskell programming language. Functional programming is typically considered difficult to learn. This introduction in the context of creating music will allow students and professionals with a musical inclination to leverage their experience to help un...
Originally developed for mainframes but highly portable across platforms-from servers to desktops to handhelds-Rexx is an easy yet powerful scripting language that's widely used for rapid application development.
Covers Rexx interpreters for specialized functions-object-oriented, mainframe, and handheld.
There are 8 different free Rexx i...
Making Games with Python & Pygame covers the Pygame library with the source code for 11 games. Making Games was written as a sequel for the same age range as Invent with Python. Once you have an understanding of the basics of Python programming, you can now expand your abilities using the Pygame library to make games with graphics, animation, a...
Guido van Rossum created the Python programming language in the late 1980s. In contrast to other popular languages such as C, C++ , Java, and C#, Python strives to provide a simple but powerful syntax.
Python is used for software development at companies and organizations such as Google, Yahoo, Facebook, CERN, Industrial Light and Magic, and NAS...
A modern web-marketing book that outlines a multi-modal system for growing a website with SEO, Google AdWords/Facebook Ads, Conversion Optimisation, Copywriting/Classic Persuasion/Behavioural Psychology, Google Analytics, Statistical Significance, Email Marketing, and Remarketing. When I launched my first web application it started off with zero tr...
This fourth Edition presents new examples on submodules, derived type i/o, object oriented programming, abstract interfaces and procedure pointers, C interop, sorting and searching, statistics and converting to more modern versions of Fortran.Key FeaturesHighlights the core language features of modern Fortran including data typing, array processing...
Terms like container and Docker, unknown to Microsoft programmers until now, have recently become essential in technical discussions about the development, distribution, and management of our applications. Containers can solve some of programmers' everyday problems, but a challenge with them is managing their lifecycles and the communication a...
Extremely versatile and popular among developers, Python is a good general-purpose language that can be used in a variety of applications. For those with an understanding of English, Python is a very humanreadable programming language, allowing for quick comprehension. Because Python supports multiple styles including scripting and object-oriented ...
Crypto 101 is an introductory course on cryptography, freely available for programmers of all ages and skill levels.
Learn how to exploit common cryptographic flaws, armed with nothing but a little time and your favorite programming language.
Forge administrator cookies, recover passwords, and even backdoor your own random number generator....
This book has extensive coverage of interfacing assembly and C code and so might be of interest to C programmers who want to learn about how C works under the hood. All the examples use the free NASM (Netwide) assembler. The tutorial only covers programming under 32-bit protected mode and requires a 32-bit protected mode compiler. It is possible to...
Even the best programmers make mistakes, and experienced programmer Mike Pirnat has made his share during 15+ years with Python. Some have been simple and silly; others were embarrassing and downright costly. In this O'Reilly report, he dissects some of his most memorable blunders, peeling them back layer-by-layer to reveal just what went wron...
When processing text files, the awk language is ideal for handling data extraction, reporting, and data-reformatting jobs. This practical guide serves as both a reference and tutorial for POSIX-standard awk and for the GNU implementation, called gawk. This book is useful for novices and awk experts alike.
In this thoroughly revised 5th edition, ...