github / archive-program

The GitHub Archive Program & Arctic Code Vault
3.01k stars 248 forks source link

Guidelines #88

Closed nferraz closed 4 years ago

nferraz commented 4 years ago

Here are some ideas/guidelines to evaluate books about technology (but not literature):

  1. General principles instead of specific technologies

    • Example: "Relational Databases" instead of "MySQL" or "PostgreSQL"
    • Exceptions: technologies that became standards with multiple implementations: C, UNIX, etc.
  2. Technical instead of pop science

    • Example: "The Elements of Computing Systems" instead of "But How Do It Know?" (which I assume is intended for a general audience)
  3. Comprehensive instead of partial

    • Example: "The Art of Computer Programming" instead of "Everyday Data Structures"
  4. Unique instead of redundant

    • We don't need several books about each topic.
    • If you have to pick one, pick the most general, technical and comprehensive :)
  5. Optional, but recommended: include official standards when possible


I also propose the following changes in the structure:

  1. Split "Fundamentals of computing" and "the Internet":
    • "Fundamentals of computing"
    • Move "the internet" to "Networking"
  2. Split "Compilers, Assembler and Operating systems":
    • "Compilers and Interpreters"
    • "Operating Systems"
    • Move "Assembler" to "Programming Languages".

With that in mind, here's a shorter list of books for sections 1 to 7:

1. Fundamentals of computing

2. Algorithms and data structures

Optional:

3. Compilers and Interpreters

Optional:

4. Programming Languages

Optional:

5. Operating systems

Optional:

6. Databases

7. Networking


Before adding a book, ask yourself: is book about general principles? Is it technical? Is it comprehensive? Does it provide unique information?

rezendi commented 4 years ago

Thanks for this. I think fundamentally we'll keep the structure and general granularity level we have now, but will incorporate some of these.