Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p><a href="http://WWW.Info.UCL.Ac.Be/~pvr/book" rel="nofollow noreferrer">Concepts, Techniques, and Models of Computer Programming (by Peter Van Roy and Seif Haridi)</a>: the title says it all. (From the same author and based on the book comes <a href="http://WWW.Info.UCL.Ac.Be/~pvr/paradigms" rel="nofollow noreferrer">this cool poster with ~30 of the most important programming paradigms</a>.) [Note: this book is colloquially known as CTM, you might stumble across that acronym from time to time.]</p> <p><a href="http://MITPress.MIT.Edu/sicp/full-text/book/book.html" rel="nofollow noreferrer">Structure and Intepretation of Computer Programs (by Harold Abelson and Gerald Jay Sussman)</a>. SICP, as it is colloquially known, is probably <em>the</em> book about programming. Period. Don't forget <a href="http://SWISS.CSAIL.MIT.Edu/classes/6.001/abelson-sussman-lectures/" rel="nofollow noreferrer">the 1986 video lectures by the authors themselves</a> or <a href="http://ADUni.Org/courses/sicp/" rel="nofollow noreferrer">one</a> of the <a href="http://OCW.MIT.Edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-001Spring-2005/CourseHome/" rel="nofollow noreferrer">other</a> <a href="http://WebCast.Berkeley.Edu/course_details_new.php?seriesid=2010-B-26275" rel="nofollow noreferrer">courses</a> based on the book.</p> <p>The main difference between SICP and CTM is the approach: CTM teaches programming concepts by giving examples in a very powerful programming language (Distributed Oz) that already implements them, while SICP teaches programming concepts by implementing them in a language (Scheme, or rather a small subset of it) which doesn't already have them. IOW: CTM would teach OO be showing programs written in an OO language, SICP by implementing an OO system in Scheme.</p> <p><a href="http://MITPress.MIT.Edu/catalog/item/default.asp?ttype=2&amp;tid=11656" rel="nofollow noreferrer">Design Concepts in Programming Languages (by Franklyn A. Turbak and David K. Gifford with Mark A. Sheldon)</a> is more about Programming Language Theory than Programming. It's still pretty interesting, even though it doesn't directly address your question about Programming Concepts. But after all: how would you program without a programming language?</p> <p><a href="http://rads.stackoverflow.com/amzn/click/0321193628" rel="nofollow noreferrer">Concepts of Programming Languages (by Robert W. Sebesta)</a> explains, well, Concepts of Programming Languages, starting with Konrad Zuse's Plankalkül, continuing with the first <em>real</em> programming languages like Fortran, Lisp, Cobol, Algol, BASIC and on to C, C++, Java and Ada. [Again, more of a Programming Language book than Programming.]</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload