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 Abstraction and specification in program development

    Abstraction and specification in program development

    Barbara Liskov

    This seems to be a duplicate entry of likely produced by an importer.

    Programming
    Open Library
    Stats for nerds
    4recommend
    7mentions
    5people
    2010–2023years
    86% recommend14% neutral

    Mentions per year

    20102012201420162018202020222023

    What Hacker News says

    1. rramadassJun 2023
      The book is by the great Barbara Liskov herself (https://en.wikipedia.org/wiki/Barbara_Liskov) the pioneer of Abstract Data Types, Subtyping, OOD etc. It is basically a rewrite of their classic text Abstraction and Specification in Program Development (1986) with the example language now being Java. It is not a popular cookbook but a fundamental programming concepts book which needs serious study. I highly recommend it.
      thread
    2. RNeffApr 2020
      Sorry, you are new to Computer Science. Undergraduate CS only covers a couple of percent of the topic. Do you know distributed systems, machine learning, robotics, image processing, concurrency, NLP, programming language design, hardware design, computer architecture, software engineering, program verification, security, databases, computer graphics, computer history? Probably not.

      Read : Abstraction and Specification in Program Development, then read all four volumes of Knuth's Art of Computer Programming. There are lots of courses on EdX, and MIT Open courseware.

      Undergraduate CS is just the start, a tiny beginning.

      The university is the best place to find a girl friend/ boy fried. Also a great place to make long term friends.

      thread
    3. abecedariusJul 2017
      Thinking Forth; Software Tools; SICP; Abstraction and Specification in Program Development; Essentials of Programming Languages; Paradigms of AI Programming; I'd like to list something about OO too, but no book I know really measures up to learning from other programmers. But there's Mark S. Miller's thesis Robust Composition.

      (in roughly chronological order. As you can see from the chronology, it took me a long time to start to like OOP.)

      thread
    4. abecedariusDec 2012
      I wouldn't even recommend the first couple from my list, today -- e.g. there are surely better intros to algorithms now. But here's an approximate top 5 for changing my programming when I read them.

      Brodie, Thinking Forth

      Sedgewick, Algorithms

      Abelson & Sussman, SICP

      Liskov & Guttag, Abstraction and Specification in Program Development

      Norvig, PAIP

      It's hard to stick to 5!

      thread
    5. abecedariusDec 2010
      I don't know of any books that sound exactly right for you, but here are a couple I like that are relevant. You might find them kind of advanced right now:

      * Chapter 3 of http://mitpress.mit.edu/sicp/ -- also chapters 1 and 2.

      * _Abstraction and Specification in Program Development_, on design by contract. There's a newer book by the same authors, _Program Development in Java_, but Norman Ramsey says it's not as good. (I've only read the older one.) By Liskov & Guttag. Focuses on abstract datatypes rather than OOP classic. Bertrand Meyer's _Object-Oriented Software Construction_ covers much of the same material, but not as well to my taste in the bits I dipped into.

      * Also, _Smalltalk-80: The Language and Its Implementation_ at http://wiki.squeak.org/squeak/64 -- this might be more basic than the above two. The ideas were old to me by the time I got to it, so I don't know how well it'd work for a novice.

      * I've seen _A Little Smalltalk_ recommended as an intro to OO and it looks plausible: http://www.littlesmalltalk.org/index.php?page=the-book -- I haven't read it myself.

      thread
    6. binomialNov 2010
      Reposting a dead post which should not have been dead, from abecedarius:

          These had high I-want-to-read-itosity, I thought:
          Abelson and diSessa, Turtle Geometry
          Abelson and Sussman, Structure and Interpretation of Computer Programs
          Aho and Weinberger and Kernighan, The AWK Programming Language
          Andrew Appel, Compiling With Continuations
          Jon Bentley, More Programming Pearls
          Jon Bentley, Programming Pearls
          Leo Brodie, Thinking FORTH
          W. H. Burge, Recursive Programming Techniques
          Carriero and Gelernter, How to Write Parallel Programs
          A. K. Dewdney, The New Turing Omnibus
          Edsger Dijkstra, A Discipline of Programming
          Richard Feynman, The Feynman Lectures on Computation
          Friedman and Felleisen, The Little Schemer
          Friedman and Wand and Haynes, Essentials of Programming Languages [1st edition]
          James F. Gimpel, Algorithms in Snobol4
          Paul Graham, On Lisp
          Philip Greenspun, Philip and Alex's Guide to Web Publishing
          Grune and Jacobs, Parsing Techniques: A Practical Guide
          Daniel Hillis, The Connection Machine
          Kernighan and Pike, The Practice of Programming
          Kernighan and Pike, The Unix Programming Environment
          Kernighan and Plauger, Software Tools in Pascal
          Donald Knuth, Literate Programming
          Glenn Krasner (editor), Smalltalk-80: Bits of History, Words of Advice
          Susan Lammers, Programmers at Work
          Wm Leler, Constraint Programming Languages
          Liskov and Guttag, Abstraction and Specification in Program Development
          Peter Norvig, Paradigms of Artificial Intelligence Programming
          Chris Okasaki, Purely Functional Data Structures
          Richard O'Keefe, The Craft of Prolog
          P. J. Plauger, Programming on Purpose I. (and II and III)
          P. J. Plauger, The Standard C Library
          Jef Raskin, The Humane Interface
          Stuart Russell and Peter Norvig, Artificial Intelligence: A Modern Approach
          Toby Segaran, Programming Collective Intelligence
          Toffoli and Margolus, Cellular Automata Machines
          Niklaus Wirth, Project Oberon: The Design of an Operating System and Compiler
          Witten, Moffat, & Bell, Managing Gigabytes
          (mostly from my old list at http://wry.me/~darius/personal/books.html)
      thread

    Related

    Cover of Software abstractions
    2015–2026

    Software abstractions

    Daniel Jackson
    3 recommend · 5
    Cover of Program development in Java
    2010–2026

    Program development in Java

    B. Liskov
    3 recommend · 9
    Cover of Formal syntax and semantics of programming languages
    2019–2025

    Formal syntax and semantics of programming languages

    Kenneth Slonneger
    2 recommend · 5
    Cover of Object-oriented programming
    2010–2026

    Object-oriented programming

    Peter Coad
    3 recommend · 5
    Cover of Advanced programming language design
    2015–2026

    Advanced programming language design

    Raphael A. Finkel
    2 recommend · 7
    Cover of Compiler construction for digital computers
    2015–2026

    Compiler construction for digital computers

    David Gries
    1 recommend · 7
    Cover of Low-Level Programming
    2019–2026

    Low-Level Programming

    Igor Zhirkov
    3 recommend · 8
    Cover of Functional Programming in C++
    2019–2026

    Functional Programming in C++

    Ivan Cukic
    3 recommend · 6