HACKER Q&A
📣 breck

Does anyone have a great public domain list of programming books?


Anyone build an awesome collection of programming books? Are you willing to make it public domain, if you haven't already?

I'd love to import your data into PLDB.com. Will give you many internet points and/or something else that will enrich your life.

comment here or email me at liability@pldb.com


  👤 leke Accepted Answer ✓
This site is great and frequently updates the content of all the books to be "in date".

https://books.goalkicker.com/


👤 fredgrott
I think people are missing the poster's point.

he or she might be asking for the ultimate list in open source programming books.

Other than searching for the universities that have set up programs to develop open source programming books and obtain their own maintained lists; I know no other way to complete the task.

For example, there is a group of Canadian Universities that has an overall program to develop open source textbooks that happens to include computer science.


👤 breck
Thanks all! This one looks great: https://github.com/EbookFoundation/free-programming-books

Trying to recruit them to #TeamPublicDomain


👤 bawolff
Not too many programming books written pre 1927.

👤 nugmanoff
not sure if it is what you are asking, but https://teachyourselfcs.com/

👤 pjmlp
Smalltalk books are available here,

http://stephane.ducasse.free.fr/FreeBooks.html


👤 landosaari
Of things not listed.

This site could help https://open.umn.edu/opentextbooks/subjects/programming-lang...


👤 bikenaga
https://github.com/EbookFoundation/free-programming-books

However, the list is not public domain - the license says "This work, "free-programming-books", is licensed under the Creative Commons Attribution 4.0 International License." Contact the list owner and see what they say about your intended use.


👤 wizzerking
Not public domain,m but free for download. Usually subsidized by companies https://freecomputerbooks.com/

Links to Free Computer, Mathematics, Technical Books all over the World


👤 itsoktocry
Some of Allen Downey's books are free.

Here's Think Python (How to Think Like a Computer Scientist):

https://www.greenteapress.com/thinkpython/thinkpython.pdf


👤 JKolios
Do you mean literally public domain or books with permissive licenses in general?

👤 MontagFTB
Stepanov’s “Elements of Programming” is free, though I don’t think in the public domain: http://elementsofprogramming.com/

👤 zote

👤 6031769
TAOCP.

👤 f8er
How to point to a road without knowing the direction?

A development approach usually depends on the idea, doesn't it? Do you have an issue to solve and/or do you have an idea? Do you realize the genuine purpose of the idea to be expressed to the world? Is it possible to express the idea operating the present techniques? Is it possible to reify the idea? Is it possible to apply an expressible story to the idea or is it relatively abstract? Is it possible to shape the idea into a project in its current state? Is it possible to subdivide the project into small enough steps? Is it possible to accomplish the steps in affordable amount of time/resources? If so, let's present the world the idea, and possibly form a whole universe...

Have you considered the language(s) or field(s) you specifically find interesting to discover further? I believe the "domain list" crucially depends on the initial mission and knowledge and a "universal" approach may result in unorganized development due to a non-systematic attitude which, in turn, may or may not lead to more mistakes and/or time requirements.

Personally, I would suggest C++ and C for most of the game development in general, but it really depends on the project and you. What if you will love Haskell, Ruby, or Erlang? C# may be an interesting initial point since it implements many of the C++ features, has a built-in garbage collector, and may appear more available to operate at the very start, yet it is still less supported and flexible than C++ I'd say, hence "unsafe {}".

For example, OpenSSL, Git, Aircrack-ng, John the Ripper, SDL2 etc. are presented in C. If interested, the book I'd recommend for C language learning boost is called "C Programming Language, 2nd Edition by Brian W. Kernighan and Dennis M. Ritchie" (ISBN-13 978-0131103702).

Some might say that a relatively elementary MCU/CPU/ALU/service/logic programming knowledge of more abstract languages/solutions may indeed provide faster results but depends on the approach. Low level fundamentals, general patterns, and organized information base will significantly help disclosing various relatively unexpected pitfalls and solving issues in the process of applying/contributing to works of others, including vendor/community/teammate libraries/frameworks/interfaces/modules. For example, Karnaugh map/Boolean algebra/discrete mathematics may assist in certain logic challenges/circumstances.

Did you find any exact idea/problem which you personally would want to reify/solve? So far, I have noticed that adequate amount of organized practice outstandingly improves the learning curve and advances discoveries!

Let's express it in colors and sounds!

> "A designer knows he has achieved perfection not when there is nothing left to add, but when there is nothing left to take away." - Antoine de Saint-Exupéry

> "The user experience design of a product essentially lies between the intentions of the product and the characteristics of your user." - David Kadavy

> "The greatest thing in this world is not so much where we stand as in what direction we are moving." - Johann wolfgang von Goethe

> "When working with data, I discover what I really want to say" - Damian Mingle

> "That's all data is. A gift from yesterday that you receive today to make tomorrow better" - Jon Acuff

> "We are artists. When we can't find the beauty, we create it." - Adrienne Posey

> "A blank canvas... has unlimited possibilities." - Stephanie Perkins

> "I shut my eyes in order to see." - Paul Gauguin

Related:

https://stackoverflow.com/questions/388242 (The Definitive C++ Book Guide and List...)

https://github.com/AnthonyCalandra/modern-cpp-features (A cheatsheet of modern C++ language and library features...)