Skip to content
HomeVideosBooks
AllTopicsTrends
BlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    Cover of Database System Concepts

    Database System Concepts

    Korth · 2005

    Systems & OS
    Open LibraryAmazon
    Stats for nerds
    4recommend
    8mentions
    6people
    2012–2023years
    50% recommend50% neutral

    Mentions per year

    2012201420162018202020222023

    What Hacker News says

    1. 62951413Jan 2023
      If "Readings in Database Systems" is your cup of tea you should probably consider

      * Database Internals (https://www.oreilly.com/library/view/database-internals/9781...) - very recent and of manageable size

      * Database System Concepts (https://www.amazon.com/Database-Concepts-Abraham-Silberschat...) - specifically, the chapters on storage and query processing, it's a huge volume otherwise. Also, "Database Systems: The Complete Book" is basically an older version of it.

      thread
    2. arporaDec 2022
      Database System Concepts by Silberschatz, Korth and Sudarshan is great.

      I used the 5th edition, but have heard the 6th edition apparently regressed. There's now apparently a 7th edition that I can't comment on.

      thread
    3. Turing_MachineFeb 2018
      You didn't say whether the goal is fundamental knowledge or employability. :-)

      Splitting the difference, I'd say:

      1) A Lisp or Lisp-like language. Either Racket or Clojure would be an excellent choice here; Racket is especially designed for teaching, and there is a lot of top-quality educational material for it. Clojure is probably more employable but isn't specifically designed for beginners. Recommended book: How to Design Programs, by Felleisen, et al (free online). If you want to go old-school, try Structure and Interpretation of Computer Programs by Abelson, Sussman, and Sussman. The video lectures for that one are also quite valuable.

      2) C. K&R is short and information-dense. If you're going to use C professionally, you'll want more, but K&R is definitely enough for a good overview. Recommended book: The C Programming Language, by Kernighan and Ritchie (reasonably priced).

      3) Maybe an assembly language. Or maybe not. If the goal is to understand computers at the most fundamental level, you might as well study the theory of computation rather than learning the quirks of a particular machine's instruction set. Recommended book: Elements of the Theory of Computation, Lewis and Papadimitriou (spendy).

      4) The Javascript/HTML/CSS hodgepodge. Not anyone's choice for the greatest language ecosystem in the world, but probably the most employable one. Recommended book: sorry, I've never seen one that's completely satisfactory. On the other hand, there's probably more free educational material on the web for this than for anything else. On the gripping hand, a lot of it sucks.

      5) An algorithms text. Many would recommend Introduction to Algorithms by Cormen, et al (often called "CLR" or "CLRS" for recent editions, but that can be tough sledding for a beginner. I would instead recommend any of the Algorithms in "X" books by Robert Sedgewick (where "X" is some programming language, such as C, Java, etc.). Having concrete code examples can be useful for a beginner, IMO. Once you have a handle on the basic ideas, The Art of Computer Programming by Donald Knuth is a reference you can return to time and again for the rest of your career.

      5) Enough database theory and SQL to feel comfortable writing basic queries. Maybe Database System Concepts by Silberschatz, et al for the theory and one of the "SQL cookbook" texts for practical applications. Make sure that whatever cookbook you use covers things like SQL injection and that you fully understand that coverage. :-)

      6) Prolog. The classic here is Programming in Prolog, by Clocksin and Mellish. However, I haven't been keeping up with Prolog for a long time. Someone else may have a better suggestion.

      7) Machine learning and neural nets. No suggestion here -- it's not my field and it's been advancing very rapidly of late. Again, someone else may have a better suggestion.

      8) Graphics. I like Computer Animation: Algorithms and Techniques by Rick Parent. Also, Computer Graphics: Principles and Practice by some combination of Hughes, Foley, van Dam, et al. This is a more in-depth text (actually, it's a good reference book). In either case, you'll need a good background in linear algebra and probably some calculus before tackling this. Owning both of these would be good if you're going to get into graphics in a serious way.

      9) Erlang. Programming Erlang by Joe Armstrong.

      thread
    4. irahulOct 2012
      > I haven't looked to see if every question is covered by these, but here's some standard textbooks I like:

      The good thing is @cpervica has suggested standard textbooks, as opposed to suggesting obtuse texts unreachable to a beginner.

      Algorithms:

      I think a beginner might be confused by Sedgewick's terse coding style.

      Computer Architecture and Operating Systems:

      I haven't read either of the books. I would add http://bcs.wiley.com/he-bcs/Books?action=index&itemId=04... to the list. Like most of the OS books, you won't get a full picture of the OS from this book, but you will know the topics which will help you understand a real OS. Also most of the non-recent book won't cover flat memory model http://en.wikipedia.org/wiki/Flat_memory_model That is not to say knowing about segmentation is going to hurt you.

      Mathematics:

      I haven't read any of the books. From TOC, the cryptography and the statistics book looks good. I would recommend skipping cryptography maths for starters. If you are a beginner, an application level understanding of cryptography is what you need.

      Networking and Systems:

      Tanenbaums books loves history and theory. It's a nice book nevertheless. Once you are done with it, you should read Stevens' book on TCP/IP http://www.kohala.com/start/tcpipiv1.html

      If you find time, you should read the second volume as well: http://www.kohala.com/start/tcpipiv2.html

      For databases, I read this book:

      http://www.amazon.ca/Database-System-Concepts-Abraham-Silber...

      This is not a very interesting book, but it does cover the fundamentals very well. You will need a bit of will power to read it.

      thread
    5. samsquireJul 2023
      Thanks a lot for your comment!

      I once read "The Timeless Way of Building" by Christopher Alexander but not "A Pattern Language"

      I actually owned that book "Notes on the Synthesis of Form" but I never read it, I gave all my books away. Maybe I'll have to get it after I finish reading "Database System Concepts" which I am slow to read.

      I would like to hear YOUR ideas too! Send me an email, I hope you shall tell me your ideas and thoughts and we can bounce off eachother. Please (and anybody else reading) do ping me - I love reading other people's thoughts and encouraging others.

      The idea of using graphs to solve problems and breaking them into re-useable patterns resonates with me, I didn't realise that particular book had that in it. One of my programming projects was using the A* algorithm to do code generation in Python ( https://replit.com/@Chronological/SlidingPuzzle3 ) based on generating graphs of potential instructions.

      > Sounds similar to this idea of yours, just with a key difference in that the author sees it as a two-pass solution: first you "carve" out your solution by establishing a context boundary, and then do you "fill" it with an implementation - such that the solution is the minimal implementation that fits the context, and not anymore.

      Thanks for sharing that. It reminds me of Java interfaces but more powerful.

      thread
    6. samsquireMar 2023
      Thank you for posting this. I have the book Database System Concepts and I am yet to get to the point to relational algebra optimisation.

      My SQL implementation I planned to do a hash join with the smaller table. It was very rudimentary. I don't have indexes though.

      thread

    Related

    Cover of Database systems
    2015–2021

    Database systems

    Peter Rob
    4 recommend · 4
    Database InternalsAlex Petrov
    2019–2026

    Database Internals

    Alex Petrov
    31 recommend · 54
    Cover of An introduction to database systems
    2009–2024

    An introduction to database systems

    C. J. Date
    14 recommend · 35
    Cover of Designing Data-Intensive Applications
    2014–2026

    Designing Data-Intensive Applications

    Martin Kleppmann
    457 recommend · 846
    Cover of Database management systems
    2008–2023

    Database management systems

    Raghu Ramakrishnan
    7 recommend · 16
    Cover of Database Design for Mere Mortals
    2010–2026

    Database Design for Mere Mortals

    Michael J. Hernandez
    12 recommend · 26
    Cover of SQL and relational theory
    2010–2020

    SQL and relational theory

    C. J. Date
    9 recommend · 17
    Cover of Readings in database systems
    2007–2025

    Readings in database systems

    Michael Stonebraker
    11 recommend · 22