[HN Gopher] Elements of Programming (2009)
___________________________________________________________________
Elements of Programming (2009)
Author : kykeonaut
Score : 144 points
Date : 2025-02-11 18:04 UTC (4 days ago)
(HTM) web link (www.elementsofprogramming.com)
(TXT) w3m dump (www.elementsofprogramming.com)
| mempko wrote:
| If you are passionate about programming and and computer science,
| this is the book to read. It's like Euclid's elements, but for
| programming.
| laurent_du wrote:
| Euclid's Elements is absolutely not a useful book for the
| contemporary.
| WillAdams wrote:
| I've found it useful as a grounding, and reference, and
| authoritative definition source, so I refer to:
|
| https://mathcs.clarku.edu/~djoyce/java/elements/elements.htm.
| ..
|
| when writing:
|
| https://willadams.gitbook.io/design-into-3d/2d-drawing
| iLemming wrote:
| The year in the HN title looks wrong, in the PDF it says 2019,
| please fix it, otherwise people ignore the book thinking it's too
| outdated.
|
| Oh wait. I stand corrected - I missed that it said "Copyright
| 2009", "First printing 2019", not sure why it took so long to get
| it printed.
| icermann wrote:
| It's explained on the web page
|
| "After ten years in print, our publisher decided against
| further printings and has reverted the rights to us. We have
| published Elements of Programming in two forms: a free PDF and
| a no-markup paperback."
| dang wrote:
| Related. Others?
|
| _Elements of Programming (2019)_ -
| https://news.ycombinator.com/item?id=32459443 - Aug 2022 (11
| comments)
|
| _Elements of Programming_ -
| https://news.ycombinator.com/item?id=20437347 - July 2019 (24
| comments)
|
| _Alex Stepanov (STL) just published a book on math foundations
| of programming_ - https://news.ycombinator.com/item?id=665987 -
| June 2009 (1 comment)
| layer8 wrote:
| Historically, this is based on what is described here:
| https://en.wikipedia.org/wiki/Alexander_Stepanov#Standard_Te...
| kragen wrote:
| I've found this book, and Stepanov's previous work, to be among
| the most insightful ways of thinking about programming. But it's
| hard to distill, and we could wish for a much better language
| than C++ to express these ideas in.
| pjmlp wrote:
| That is the attractiveness of the dark side of the force, the
| closest we have come from all kinds of Haskell like exploration
| ideas into a mainstream language, maybe one day Rust will get
| there as well.
|
| No accident that Bartosz Milewski got to mix both worlds.
|
| Agree it should be better.
| kragen wrote:
| Stepanov is addressing a lot of topics that Haskell sweeps
| under the rug. For software for which crashing is acceptable
| behavior, such as compilers, web browsers, or theorem
| provers, that's an improvement. Not all software falls in
| that category.
| rramadass wrote:
| Alexander Stepanov also has _Notes on Programming_ (a series of
| lectures he gave at various companies) which is what this and his
| other published books are based on. You can find the link to it
| in the "reference" section of his wikipedia page -
| https://en.wikipedia.org/wiki/Alexander_Stepanov
|
| I have all of his books and they are all great (though not
| easy!). His starting point is "Algebraic Structures" (basically
| sets of objects and operations defined on them eg.
| Groupoid/SemiGroup/Monoid/Group etc.) and so some familiarity
| with Abstract Algebra/Discrete Mathematics is assumed. The
| mapping he does from the mathematics to a language construct
| modeling a concept is what gives one the insight into
| programming. His other book _From Mathematics to Generic
| Programming_ gives one a more "easier" approach to the subject
| and should be read in conjunction with this one for better
| understanding.
|
| A related old book is _Ruminations on C++: A Decade of
| Programming Insight and Experience_ by Andrew Koenig and Barbara
| Moo. This is derived from a collection of articles written by
| Koenig when he was working closely with Stepanov on his ideas and
| implementation of STL. His idea of programming templates in a
| functional and generic manner is what is conveyed in this book in
| the "templates" section and is still quite illuminating (no math
| but short C++ code in articles). So something which might not be
| clear from Stepanov's mathematical treatment may be clearer here
| since you can see an actual C++ implementation (warts and all).
___________________________________________________________________
(page generated 2025-02-15 23:01 UTC)