Good books but still quite standard. Spivak’s is standard on initial calculus courses at universities. If you really wanted non-standard but relevant authors I would add Feyerabend, Kuhn, Kahneman, Dostoyevsky, Borges, Taleb, Montaigne, Popper, Hofstadter, Don Norman, Alexandrescu. Add something about systems of representation by Kierkegaard or Nietzche or some interpretations by later authors.
A non-standard book list for software developers
61–70 of 112 posts
Re: A non-standard book list for software developers
#62Good books but still quite standard. Spivak’s is standard on initial calculus courses at universities. If you really wanted non-standard but relevant authors I would add Feyerabend, Kuhn, Kahneman, Dostoyevsky, Borges, Taleb, Montaigne, Popper, Hofstadter, Don Norman, Alexandrescu. Add something about systems of representation by Kierkegaard or Nietzche or some interpretations by later authors.
Re: A non-standard book list for software developers
#63Re: A non-standard book list for software developers
#64Has anyone here read LISP in small pieces ? I've never used LISP but would still like to read it. Would you recommend it? (it's not cheap, otherwise I'd just buy it without the due diligence)
Re: A non-standard book list for software developers
#65Has anyone here read LISP in small pieces ? I've never used LISP but would still like to read it. Would you recommend it? (it's not cheap, otherwise I'd just buy it without the due diligence)
Re: A non-standard book list for software developers
#66Re: A non-standard book list for software developers
#67Good books but still quite standard. Spivak’s is standard on initial calculus courses at universities. If you really wanted non-standard but relevant authors I would add Feyerabend, Kuhn, Kahneman, Dostoyevsky, Borges, Taleb, Montaigne, Popper, Hofstadter, Don Norman, Alexandrescu. Add something about systems of representation by Kierkegaard or Nietzche or some interpretations by later authors.
The Calculus pick is completely fungible. There are at least two other popular Calc books that different people would say the exact same things about. Euclid as the ideal place to learn logic seems debatable, although I can't think of a better resource off the top of my head. The Xinu OS and LISP recommendations I've never seen before, so those were potentially valuable for me at least.
Re: A non-standard book list for software developers
#68In a similar topic of books about system design, someone on HN recommended A Pattern Language and The Timeless Way of Building by Christopher Alexander et. al. They're not about designing distributed software systems... they're a complete design language for the proper design of a city, from the grossest elements to the most granular. You can flip to a random page and understand what makes a front yard really fulfill…
Re: A non-standard book list for software developers
#69Re: A non-standard book list for software developers
#70On the note of Euclid's Elements, I took a short course on Plato's "Theory of Forms" when I was just learning to really code and it's what helped OOP click in my head. It's fun when totally random subjects help you get an insight into one another. https://en.wikipedia.org/wiki/Theory_of_forms
There's another way : Nominalism, abstract blueprints and concepts don't exist, they are just artificial markers we put on sets of concrete objects to express some degree of similarity. That is, There's no such thing as a 'Tree' in the abstract, there's only the green thing with roots and branches under your house and the green thing with roots and branches under mine, we gave them (and countless other green things with roots and branches) the same name merely to express that we view them as equal under some circumstances, but that name doesn't express anything about the concrete objects themselves, just our brains, each object is completely unique and incomparable to any other in any objective way.
Nominalism is similar to prototypical OOP, there is no such thing as a blueprint, concrete objects spring fully-formed into existence directly from the mind of their creator, or they are cloned from other concrete objects. If blueprints exist at all, they are only external descriptions by us observers to denote similarities: that object has x: and y: attributes and that object also has x: and y: attributes (possibly because it's a clone of the first) so they are the same 'type', but those objects don't 'know' they are the same type (well, they do if they're clones, as they point to the same parent, but whatever), and the universe allows any object to grow and shrink and morph independently of any other, similarities are imposed/discovered solely by observation from the outside.
*:This principle might be violated in dynamic object systems with sophisticated meta-object protocols, as the blueprint itself is just an object that you can manipulate and mutate at runtime with various things not in the static description.