13 ms·
Ask HN: Best books under 200 pages for developers?
Most of the highly recommended books for software developers are about 400 pages. Sometimes I want to start and finish a book in a weekend and 400 is too much for me. Which books under 200 pages do you recommend to software developers?
Bonus: Best non-tech books under 200 pages https://www.goodreads.com/list/show/19194.Best_Books_Under_200_Pages
- afarrell 6y agoA Philosophy of Software Design. Very well-written. At 190 pages, quite likely finish-able in a weekend. But if you get 70% of the way through it, that is still very valuable. It makes sense as an underlying set of principles that explain why you would use design patterns.
- numbsafari 6y agoThis is a great book. Highly recommended for inclusion in a “thin” bookshelf.
- shoulderfake 6y agoAn absolute must have I agree, amazing book.
- code_biologist 6y agoI came into this thread hoping to find the suggestion near the top. Beyond his credibility as the creator of Tcl, in the talk he gave at Google about the book [1] he describes the course he teaches that was the inspiration for the book. The course is to write a word processor with a team and extended it with features over the semester, swapping codebases between teams so occasionally you have to work with other's code. Essentially the largest possible code project you can fit in one semester. Along the way, Ousterhout will give a deep code review of the each project. I think it must be very insightful to see the same project implemented so many ways, and to see what works in terms of simplicity and extensibility. [1] https://www.youtube.com/watch?v=bmSAYlu0NcY https://www.youtube.com/watch?v=bmSAYlu0NcY
- diab0lic 6y agoI came here to recommend this one, very digestible and has had a significant impact on the quality of the software I write.
- gregfjohnson 6y agoThis book brilliantly illuminates the deepest issues at the core of software development. It is a well-written, gentle read. I have been programming for close to 50 years now, and this is probably the best and most insightful book I have ever read on software development. Its deceptive simplicity is such that a first-year programmer would benefit from it. Read it once per decade! You will get more out of it each time as you mature as a developer.
- mannanj 6y agoI see only positive reviews for this book here, but I went to look it up on amazon and the first review doesn't look particularly good and I'm looking for anyones reason to refute this: "This book does not consider functional programming, or the fact that terrible software in modern times is often the result of layers of incorrect abstraction that are often induced by the overuse of "object oriented" (OO) programming techniques. Instead, it takes OO programming for granted as being a good thing (visible in its preferences for two OO languages, C++ and Java), and then it reasons in that domain, making it totally uninteresting to many potential readers. The book also assumes that formal design doesn't work (he calls it "waterfall"), and takes alternatives for granted. I doubt the author is even aware of his inherent bias, but it is incredibly strong." Does anyone here agree or disagree with these points?
- jwdunne 6y agoHrm, I read the book and the code samples were in mainstream languages, naturally, but there wasn’t a specific reference to OO. Algorithms by Sedgewick had more reference to OO but we don’t say that book is overly biased towards OO. The text isn’t about implementation or paradigm. It’s about things applicable in software design in general. For example, good interfaces are deep, rather than shallow. The examples of narrow interfaces are in Java because they were good examples. If you have to instantiate 5, 6 objects to use an interface, the interface is not deep. But if you had to do the same thing in a CLI interface or a GUI, it’s the same idea. You could apply the same ideas to functional APIs.
- floppy-disk 6y agoI would not agree that the bias towards OOP is a problem in the book, since most of the concepts are paradigm-agnostic. Nevertheless, I feel that the author exposes a rather opinionated (sometimes even dogmatic) and narrow view of software design. Although I think that the book provides a lot of very valuable insights, I missed a more differentiated view of the concepts presented in the book. For example, in chapter 4 ("Modules should be deep") Ousterhout dismisses the use of small classes and methods. He argues that using many small classes and methods makes the system as a whole more complex because many little pieces have to be managed. I completely agree with that statement. But only under the assumption that software systems are static and never-changing. If we consider software systems as ever-changing, I would argue that using smaller pieces often provides the flexibility necessary for maintaining large systems.
- nickbauman 6y agoI don't find design patterns very compelling unless you're stuck with underpowered statically-typed languages like Java. There, they serve somewhat as a way out of the straight jacket. In more powerful languages there are better, simpler ways to design your systems.
- erkanerol 6y agoHere is my recommendation: Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman https://www.amazon.com/Apprenticeship-Patterns-Guidance-Aspiring-Craftsman-ebook/dp/B002RMSZ7E https://www.amazon.com/Apprenticeship-Patterns-Guidance-Aspi...
- cutty 6y agoFor those of you who claim to start and finish a book in a weekend, are you spending literally the entire weekend doing nothing by reading? Do you take breaks? Do you speed read? Do you take notes? What's your strategy?
- erkanerol 6y agoI am single. I have no kids. I am not allowed to go outside because of the lockdown. I have 32 hours in a weekend. I can spend 8 hours for reading and I think it is enough to finish a 150-pages book. I am reading books with my kindle, underlining important parts, and putting them into Goodreads at the end.
- frompdx 6y agoFor me, some books are much easier than others and that plays a big role in how fast I finish reading. > are you spending literally the entire weekend doing nothing by reading? For the most part, yes. > Do you take breaks? Yes. > Do you speed read? No. > Do you take notes? Usually I take notes on things that jump out at me while I read. I don't take a lot of notes. Maybe one note every ten pages or so. > What's your strategy? Stay off of reddit and hacker news. Instead of spending time on the internet in the mornings or if I feel board, I reach for the book I am trying to finish and I keep my phone somewhere it can't distract me. Very tempting to get distracted and start looking at your phone. Before you know it you're five pages deep on reddit and half an hour is gone. Another thing I do pretty frequently is flip to the next chapter and tell my self, only x pages to until I get to that chapter. It helps me stay focused and motivated.
- throwaway9482 6y agoIt’s like binging a tv show Some are easy to binge cause they keep your attention Others are a slough
- bryanrasmussen 6y agoI used to be able to do 200 pages in 4-6 hours (albeit not highly complicated books - Narnia books near the 4 hour limit ), but am out of practice reading for such extended periods due to having a family. Still I doubt that it could be over 8 hours for the simpler books. Huckelberry Finn, which is a pretty complicated book given all the dialect and the ideas it presents, used to take me about 8-9 hours. I recently read it over a period of 2 days in ebook reader during pauses in a pretty heavy schedule of taking care of kids, cleaning house etc.
- anaxag0ras 6y agoRefactoring UI. Very pragmatic and approachable for us developers who may not have much idea about design. If you want 'good enough' design for your side project but don't want to use templates, this is the book you'd want to read. The book is a bit expensive though.
- austinpena 6y agoI love refactoring UI. Very practical advice.
- frompdx 6y agoI really like Grokking Algorithms. You can probably read it in a weekend if you don't do the code exercises.
- pottertheotter 6y agoThat's a terrific book. I'm not a professional programmer and had no training in algorithms when I saw it and picked it up. It was a great introduction for me, and I had a lot of fun discussing the topics with my father, who is a software engineer.
- downerending 6y agoThe Mythical Man Month
- woldemariam 6y agoI enjoyed reading Professor Frisby's Mostly Adequate Guide to Functional Programming, 146 pages. https://github.com/MostlyAdequate/mostly-adequate-guide https://github.com/MostlyAdequate/mostly-adequate-guide
- stormdennis 6y agoSounds interesting but unfortunately for me knowing JavaScript seems to be a requirement
- zeusly 6y agoAwesome resource! The companion course on egghead is also great and quirky: https://egghead.io/courses/professor-frisby-introduces-composable-functional-javascript https://egghead.io/courses/professor-frisby-introduces-compo...
- jll29 6y agoI recommend these two free online/e-books by Niklaus Wirth: Compiler Construction https://inf.ethz.ch/personal/wirth/CompilerConstruction/index.html https://inf.ethz.ch/personal/wirth/CompilerConstruction/inde... How to build a compiler from scractch (if you read German, there is an even more concise book by him, "Übersetzerbau)". Project Oberon https://inf.ethz.ch/personal/wirth/ProjectOberon/index.html https://inf.ethz.ch/personal/wirth/ProjectOberon/index.html How to build a personal workstation including all software from scratch.
- ydnaclementine 6y agoLittle Schemer (216 pages) Classic MIT text. Pretty dense feeling though, my brain melts after a chapter or two at a time
- ken 6y ago"User Interface Design for Programmers" (159 pages)
- tra3 6y agoIs that the 2001 Spolsky one? Still relevant? Amongst my many weaknesses, UI is the weakest.
- binarymax 6y agoProgramming Pearls is short and very good.
- purplezooey 6y agoToxicity in the Workplace: Coping with Difficult People on the Job
- xadoc 6y agoDon't Make Me Think (200 pages) Grokking Algorithms An Illustrated Guide For Programmers and Other Curious People (235 pages)
- znhll 6y agoThere's a whole series of ebooks by Syncfusion that are exactly what you're describing. Matter fact I think they call them the "Succintly" ebooks series because they tend to introduce a technology or topic in a short 100-200 pages. Check em out here: https://www.syncfusion.com/ebooks https://www.syncfusion.com/ebooks
- BossingAround 6y agoAt 2.5k a year, I'd rather pay for Pluralsight or something similar. That's an amazingly huge price for an individual-focused training.
- loco5niner 6y agoI'm seeing free E-books. That $2.5k must refer to their services. I just downloaded a free book. In the intro it says: > Free forever. Syncfusion will be working to produce books on several topics. The books will always be free. Any updates we publish will also be free.
- codelion 6y agoTest Lean and Ship Healthy - https://github.com/srcclr/test-lean https://github.com/srcclr/test-lean A short handbook on developing high quality software in the DevOps world.
- kristopolous 6y agoThe 22 immutable laws of marketing by Al Ries and Jack Trout. Software is ultimately for humans. Understanding products, marketing and selling help you build better tools for humans and see how products (be it open source, programming languages, retail products, etc) work in the marketplace and not run down paths of "well this is the most popular they must be the best" ... Solid marketing foundations are probably one of the more important skills that separate the good from the great practitioners. Everything else on this thread I've read isn't a weekend. It's a careful study.
- minhazm423 6y agoAny other marketing books worth reading? Especially branding?
- kristopolous 6y agoWhat about the 22 immutable laws of branding by the same authors?
- oldsklgdfth 6y agoVery interesting read. I find law 12. the law of line extension speaks to the current apple product line. There used to be a single phone they made, today there are 4 to choose from.
- haunter 6y agoNeil Davidson: Don't just roll the dice – Software pricing guide https://neildavidson.com/downloads/dont-just-roll-the-dice-2.0.0.pdf https://neildavidson.com/downloads/dont-just-roll-the-dice-2...
- robi-y 6y agoSomewhat related but more generally about estimation: Hubbard, How to Measure Anything https://www.amazon.com/How-Measure-Anything-Intangibles-Business-ebook/dp/B00INUYS2U https://www.amazon.com/How-Measure-Anything-Intangibles-Busi...
- neves 6y agoKent Beck TDD book is a thin book e really good.
- tmaly 6y agoI second this. The third part of the book is a great look at which patterns are helpful with testing.
- msmagh 6y agoThe Principles of Object-Oriented JavaScript by Nicholas C. Zakas (120 pages).
- ziyao_w 6y agoFinally picked up Strunk and White after years of procrastination and so far it has been a tour-de-force consolidating/spelling out the knowledge I picked up along the way (ESL). I found mentally swapping out words about writing for words about programming to be fun.
- madhadron 6y agoIf you liked that, I heartily recommend "Style: Toward Clarity and Grace" by Williams.
- Alex63 6y agoNot as thin, but you might find Steven Pinker's The Sense of Style interesting as a follow-up to S&W.
- undecidabot 6y agoBrian Kernighan (the K in K&R and AWK) also wrote a similar book with P. J. Plauger called "The Elements of Programming Style" [1]. There's even a talk by him about it online (2009) [2]. Kernighan also co-authored a (imo) really great book with Rob Pike (once an assistant of Penn & Teller [3]) called "The Practice of Programming" [4]. Unfortunately, this one is a bit over the 200 page limit. [1] https://en.wikipedia.org/wiki/The_Elements_of_Programming_Style https://en.wikipedia.org/wiki/The_Elements_of_Programming_St... [2] https://www.youtube.com/watch?v=8SUkrR7ZfTA https://www.youtube.com/watch?v=8SUkrR7ZfTA [3] https://youtu.be/z4iVAcYyWN0?t=180 https://youtu.be/z4iVAcYyWN0?t=180 [4] https://en.wikipedia.org/wiki/The_Practice_of_Programming https://en.wikipedia.org/wiki/The_Practice_of_Programming
- billfruit 6y agoKingsley Amis 'A guide to modern usage', a similar choice for non-Americans.
- RickJWagner 6y agoFor a beginning programmer, I'd say buy a copy of "Code Complete", then rip it into 5 parts. Read any one of the 5.
- ternaryoperator 6y agoShipping Greatness by Chris Vander Mey is a brilliant book that relates his experience at Google and Amazon and the culture of quality necessary to ship reliable products that will be used by millions. Well written and a great read.
- madhadron 6y agoUllman, 'Elements of ML Programming'. It's where I learned functional programming back in the 1990's, and I still think it's one of the clearest expositions around. Yes, it's the same Ullman who wrote the dragon book.
- shuckles 6y agoI was in office hours with Ullman once, and he was having trouble coming up with a derivation for the runtime complexity of a famous algorithm from a topic unrelated to the class. "This should be easier," he joked, "I came up with this!"
- undecidabot 6y agoUllman's book is really accessible and what introduced me to SML as well, but for those looking for something that goes a little deeper, do read "ML for the Working Programmer" by Lawrence Paulson (author of Isabelle). It has one of the best introductions to ML's module system and even covers building a (toy) tactical theorem prover. Oh, and it's now available online for free as well [1]. Another great book on FP is "The Functional Approach to Programming" [2], which is a bit like SICP but using Caml (OCaml without the O) instead of Scheme. [1] https://www.cl.cam.ac.uk/~lp15/MLbook/pub-details.html https://www.cl.cam.ac.uk/~lp15/MLbook/pub-details.html [2] http://pauillac.inria.fr/cousineau-mauny/main.html http://pauillac.inria.fr/cousineau-mauny/main.html
- adamkl 6y agoGrokking Simplicity: Taming complex software with functional thinking I’m cheating a bit because this is only under 200 pages because it’s a work in progress. It’s such an easy read, but does a great job at explaining the value of functional programming for building real-world applications without getting bogged down in monads, currying, and complex type systems. Once it’s complete, I’d make it required reading for any new junior/intermediate devs on my team (or anyone unfamiliar with functional programming). [0] https://www.manning.com/books/grokking-simplicity https://www.manning.com/books/grokking-simplicity
- JoeyJoJoJr 6y agoJudging by the table of contents, this book looks really good. Ideally though I would like to read through a good sized sample on my kindle in mobi format before making a purchase.
- retreatguru 6y agoThe Manning website allows you to read a good amount online for free. Their books and book reading experience are impressive.
- danielheath 6y agoData & Reality (Kent, 1978) https://www.goodreads.com/book/show/19305264-data-and-reality https://www.goodreads.com/book/show/19305264-data-and-realit... 164 pages. This book has had a bigger impact on my professional work than any other. tl; dr: Any description of reality is subjective, which means that no data model can be an objectively correct description of reality. The book presents methods for reasoning about data in spite of this.
- Alex63 6y agoThe Mythical Man Month, Brooks. Probably more than 200 pages, but you can read the chapters as stand-alone essays. There are other good books about programming as a social activity, but everyone who does development for a living should read this one.
- HumblyTossed 6y agoHmmm... Glancing at my shelf. That's not easy. Two that are close are: Programming Pearls 2e (239 pgs) Practice of Programming (267 pgs) I see Algorighms + Data Structures = Programs, but I know that's well into 300 pgs w/out looking.
- nadu 6y agoMom Test by Rob Fitzpatrick. Found it to be a very well written book with simple but useful todos.
- elviejo 6y agoThank you for this "Ask HN" ever since I became a parent, the only books I'm able to finish are the ones that are 200 pages or less.
- devmunchies 6y agoThen don't worry about finishing. Reading 200 pages of a good, long book is better than finishing a bad book < 200 pages. I have 2 little boys, and even though I've been working on Conan the Cimmerian for over a month, its worth it.
- nathcd 6y agoDan Luu's programming book list (https://danluu.com/programming-books/ https://danluu.com/programming-books/) is a great resource. I bought the Dasgupta Algorithms book from that recommendation. (I've just started it so I can't say much about it yet.)
- jeffreyrogers 6y agoThe Dasgupta algorithms book is great. I read through it on my own a few years ago. Much easier to follow than CLRS (and much more manageable in size, though it obviously leaves out a lot of the stuff they cover). It strikes a good balance between rigor and clarity. Also has one of the better explanations of dynamic programming that I've seen if I remember correctly.
- brogrammer2018 6y agoYes, programming book notes for specific languages for software developers Link: https://books.goalkicker.com https://books.goalkicker.com
- Wh1skey 6y agoWow, this is an amazing compilation
- pvarangot 6y agoSome classic old textbooks are about that size but they are very dense. A Discipline aof Programming comes to mind. It's about deriving imperative code from the weakest precondition you need to give to the next statement and about proving programs correct with a big emphasis on loop termination.
- WalterBright 6y ago"The Elements of Style", by Strunk & White. 92 pages. For example, page 19: "Put statements in positive form." Code is improved if booleans are put in positive form, such as replace: if (!featureIsDisabled()) ... with: if (hasFeature()) ... You might laugh, but I see the first form all the time. Sometimes I go on a refactoring mission to remove as many negations, nots, and bangs from the code as possible.
- afarrell 6y agoI think that Style: Towards Clarity and Grace is a good follow-up. Have a free PDF: https://sites.duke.edu/niou/files/2014/07/WilliamsJosephM1990StyleTowardClarityandGrace.pdf https://sites.duke.edu/niou/files/2014/07/WilliamsJosephM199...
- harry8 6y agoEver used a router command line from Cisco, arista etc? Switch on a port with "no shut"
- deleted 6y ago[deleted]
- rement 6y ago"Writing with Style, Conversations on the Art of Writing", by John Trimble is another great writing book (The second edition is 161 pages if you don't include the appendices). The ability to communicate in writing is an important skill even for developers.
- xtiansimon 6y ago?? You mean this book-- "The Elements of Style is an American English writing style guide in numerous editions. The original was composed by William Strunk Jr. in 1918, and published by Harcourt in 1920..." [1] Cool! 1920s book on English writing style inspiring your coding style. My first reaction to the 'positive form' was to recall a conversation I had once with a retired programmer about flow control diagrams. They relayed how the normal form for these required, for example, the boolean nodes to exit True in one direction and False in another--but all similar nodes had to exit in the same direction. I wondered if a paper-based design, once translated into code, might not include conditionals such as the example which seem awkward once the paper design is lost and forgotten. Now I don't know which detail is more interesting-- How design methodology effects the comprehensibility of written code. How I was inspired to apply natural language writing principles as programming best practices. [1]: https://en.wikipedia.org/wiki/The_Elements_of_Style https://en.wikipedia.org/wiki/The_Elements_of_Style
- cotsog 6y agoWriting Solid Code by Steve Maguire - 245 pages but really well written and an enjoyable read. Examples in C but principles are applicable with any language.
- inscartwheelies 6y agoThe OP needs to take their Adderall or Strattera, put down their glowing box, and invest in self-education, not look for shortcuts or quick fixes. I happen to have severe ADHD (rattles atomoxetine bottle, oh look a hummingbird) but managed to read Moby Dick, War and Peace, Grapes of Wrath, The History of the Decline and Fall of the Roman Empire, and the TAOCP set. Doing what is easiest, condensed, or takes the least time isn't necessarily the best path to grow in any meaningful manner. There also bookmarks. If you must: A Short Account of the Destruction of the Indies 192 pp. War is a Racket 51 pp. Read a book, and not just CS books or mass-market mental onanism books. And then read another one. Rinse, lather, repeat.
- 300 6y agoMastering Vim Quickly: From WTF to OMG in no time https://jovicailic.org/mastering-vim-quickly/ https://jovicailic.org/mastering-vim-quickly/ 109 pages.
- stratified 6y agoThe unwritten laws of engineering (James G. Skakoon, original by W.J. King). 67 page introduction to "soft skills" for engineers. I wish I read this book earlier to understand that being a great coder is only part of growing into a great engineer.
- lamby 6y agoDuring the Spanish Civil War, volunteer fighters found that a book had to be at least 350 pages to stop a bullet. (Not a dig at your question, it just came to mind.)
- okaleniuk 6y agoDefinitely not the best but it's short, fun, and for developers. Definitely doable in a weekend. So You Think You Know C And 10 More Short Essays on Programming Languages: https://wordsandbuttons.online/SYTYKC.pdf https://wordsandbuttons.online/SYTYKC.pdf
- AnimalMuppet 6y agoA Tour of C++, by Stroustrup.
- oak_io 6y agoPractical Object-Oriented Design in Ruby: An Agile Primer, Sandi Metz 264 pages, although including code snippets and a few diagrams.
- neurocline 6y agoI went through my recent-books shelves and found a few shorter books that are well worth reading. Short books for developers are rare these days. Algorithms Unlocked, Thomas Cormen, 212 pages The Art of Readable Code, Dustin Boswell & Trevor Foucher, 180 pages How To Take Smart Notes, Sonke Ahrens, 151 pages How to Write a Thesis, Umberto Eco, 223 pages How Charts Lie, Alberto Cairo, 193 pages