Open Source Programming Books

Thinking of learning a new programming language? There are hundreds of high quality open source programming books available to read for free. We pick our favorites.

1. C


What it is: C is a general-purpose, procedural, portable, high-level programming language that is one of the most popular and influential languages. It was designed to be compiled using a straightforward compiler, to provide low-level access to memory, to provide language constructs that map efficiently to machine instructions, and to require minimal run-time support. Many programming languages owe a considerable debt to C. It has become something of the lingua franca in the programming world. Read profile page.

Learn C: Recommended Open Source C Books

2. C++


What it is: C++ was designed by Bjarne Stroustrup with its first release in 1983. It is a statically typed, free-form, multi-paradigm, portable, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it has a combination of both high-level and low-level language features.

C++ remains a popular programming language. For example, it is heavily used in embedded systems, banking, and telecommunications. It is a superset of C that retains the efficiency and notational convenience of C, while providing facilities for stronger type checking, multiple inheritance, data abstraction, exception handling operator overloading, generic programming, and object-oriented programming. C++ has influenced many other languages including C#, Java, and the development of C. Read profile page.

Learn C++: Recommended Open Source C++ Books

3. C#


What it is: C# (pronounced “See Sharp”) is a multi-purpose computer programming language suitable for a wide variety of development needs. C# is one of the more popular programming languages, but is not as widely used as say C, Java, C++ or PHP. Read profile page.

Learn C#: Recommended Open Source C# Books

4. Python


What it is: A high-level, general-purpose, structured, powerful, open source programming language that is used for a wide variety of programming tasks. It is frequently used as a scripting language for web applications, embedded in software products, as well as artificial intelligence and system administration tasks. It is both simple and powerful, perfectly suited for beginners and professional programmers alike. Read profile page.

Learn Python: Recommended Open Source Python Books

5. Perl


What it is: A high-level, general-purpose, interpreted, scripting, dynamic programming language. It is often used to write (CGI) scripts, manipulate text, general web programming, networking, system administration, prototyping, database access, and graphical programming. Read profile page.

Learn Perl: Recommended Open Source Perl Books

6. Ruby


What it is: A general purpose, scripting, structured, flexible, fully object-oriented programming language developed by Yukihiro “Matz” Matsumoto. Ruby’s popularity was enhanced by the Ruby on Rails framework, a full-stack web framework which has been used to create many popular applications including Basecamp, GitHub, Shopify, Airbnb, Twitch, SoundCloud, Hulu, Zendesk, Square, and Highrise. Read profile page.

Learn Ruby: Recommended Open Source Ruby Books

7. Java


What it is: Java is a general-purpose programming language and computing platform first released by Sun Microsystems in 1995. It’s now developed by Oracle. Java applications runs on all platforms supporting Java without recompiling. Read profile page.

Learn Java: Recommended Open Source Java Books

8. JavaScript


What it is: Together with HTML and CSS, JavaScript is one of the three core technologies of web content production. Although JavaScript and Java code can appear similar, the two are very different languages. Read profile page.

Learn JavaScript: Recommended Open Source JavaScript Books

9. ECMAScript


What it is: An object‑oriented programming language for performing computations and manipulating computational objects within a host environment. The language was originally designed as a scripting language, but is now often used as a general purpose programming language. Read profile page.

Learn ECMAScript: Recommended Open Source ECMAScript Books

10. PHP


What it is: An extremely popular, interpreted scripting language that is ideally suited for web development in part because it has an approachable syntax and supports different operating systems. This language powers millions of web sites on the net and is extremely well supported by its user community. PHP has been at the helm of the web for many years. Read profile page.

Learn PHP: Recommended Open Source PHP Books

11. R


What it is: The R language (and open-source software) is the de facto standard among statisticians for the development of statistical software, and is widely used for statistical software development and data analysis. R is a modern implementation of S, one of several statistical programming languages designed at Bell Laboratories. Read profile page.

Learn R: Recommended Open Source R Books

12. CoffeeScript

CoffeeScript Books

What it is: A little language that compiles into JavaScript. Read profile page.

Learn CoffeeScript: Recommended Open Source CoffeeScript Books

13. Scratch


What it is: A visual programming language developed by the Lifelong Kindergarten Group at the MIT Media Lab. Scratch teaches programming concepts to kids, offering a stepping stone to more complicated programming languages. Coding includes dragging and dropping various code blocks and linking them together like jigsaw pieces to form logical scripts. While the MIT Media Lab designed this language for 8-16 year-old children, it is used by people of all ages. Read profile page.

Learn Scratch: Recommended Open Source Scratch Books

14. Clojure


What it is: Clojure is a dialect of the Lisp programming language. It’s a well-rounded language. It offers broad library support and runs on multiple operating systems. Read profile page.

Learn Clojure: Recommended Open Source Clojure Books

15. Swift


What it is: Swift is a powerful and intuitive programming language for macOS, iOS, watchOS and tvOS. Writing Swift code is interactive and fun, the syntax is concise yet expressive. Read profile page.

Learn Swift: Recommended No-Charge Swift Books

16. Assembly

Assembly Language

What it is: An assembly language is a low-level programming language for a computer, or other programmable device. Assembly language is used by almost all modern desktop and laptop computers. It is as close to writing machine code without writing in pure hexadecimal. It is converted into executable machine code by a utility program referred to as an assembler. Read profile page.

Learn Assembly: Recommended Open Source Assembly Books

We will extend this series for all popular languages. And we started this series of open source books with: New to Programming? Check out these Outstanding Open Source Programming Books