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?<p>Bonus: Best non-tech books under 200 pages https://www.goodreads.com/list/show/19194.Best_Books_Under_200_Pages
A Philosophy of Software Design.<p>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.
"The Elements of Style", by Strunk & White. 92 pages.<p>For example, page 19: "Put statements in positive form."<p>Code is improved if booleans are put in positive form, such as replace:<p><pre><code> if (!featureIsDisabled()) ...
</code></pre>
with:<p><pre><code> if (hasFeature()) ...
</code></pre>
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.
The 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" ...<p>Solid marketing foundations are probably one of the more important skills that separate the good from the great practitioners.<p>Everything else on this thread I've read isn't a weekend. It's a careful study.
I recommend these two free online/e-books by Niklaus Wirth:<p>Compiler Construction
<a href="https://inf.ethz.ch/personal/wirth/CompilerConstruction/index.html" rel="nofollow">https://inf.ethz.ch/personal/wirth/CompilerConstruction/inde...</a>
How to build a compiler from scractch (if you read German, there is an even
more concise book by him, "Übersetzerbau)".<p>Project Oberon
<a href="https://inf.ethz.ch/personal/wirth/ProjectOberon/index.html" rel="nofollow">https://inf.ethz.ch/personal/wirth/ProjectOberon/index.html</a>
How to build a personal workstation including all software from scratch.
For 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?
Grokking Simplicity: Taming complex software with functional thinking<p>I’m cheating a bit because this is only under 200 pages because it’s a work in progress.<p>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.<p>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).<p>[0] <a href="https://www.manning.com/books/grokking-simplicity" rel="nofollow">https://www.manning.com/books/grokking-simplicity</a>
I enjoyed reading Professor Frisby's Mostly Adequate Guide to Functional Programming, 146 pages.<p><a href="https://github.com/MostlyAdequate/mostly-adequate-guide" rel="nofollow">https://github.com/MostlyAdequate/mostly-adequate-guide</a>
Refactoring UI.<p>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.
There'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: <a href="https://www.syncfusion.com/ebooks" rel="nofollow">https://www.syncfusion.com/ebooks</a>
Data & Reality (Kent, 1978)<p><a href="https://www.goodreads.com/book/show/19305264-data-and-reality" rel="nofollow">https://www.goodreads.com/book/show/19305264-data-and-realit...</a><p>164 pages. This book has had a bigger impact on my professional work than any other.<p>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.
<i>The Mythical Man Month</i>, 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.
Neil Davidson: Don't just roll the dice – Software pricing guide<p><a href="https://neildavidson.com/downloads/dont-just-roll-the-dice-2.0.0.pdf" rel="nofollow">https://neildavidson.com/downloads/dont-just-roll-the-dice-2...</a>
Ullman, '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.
Here is my recommendation: Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman<p><a href="https://www.amazon.com/Apprenticeship-Patterns-Guidance-Aspiring-Craftsman-ebook/dp/B002RMSZ7E" rel="nofollow">https://www.amazon.com/Apprenticeship-Patterns-Guidance-Aspi...</a>
During the Spanish Civil War, volunteer fighters found that a book had to be at least 350 pages to stop a bullet.<p>(Not a dig at your question, it just came to mind.)
Dan Luu's programming book list (<a href="https://danluu.com/programming-books/" rel="nofollow">https://danluu.com/programming-books/</a>) 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.)
Finally 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.
Shipping 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.
Mastering Vim Quickly: From WTF to OMG in no time<p><a href="https://jovicailic.org/mastering-vim-quickly/" rel="nofollow">https://jovicailic.org/mastering-vim-quickly/</a><p>109 pages.
Writing 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.
I 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.<p>Algorithms Unlocked, Thomas Cormen, 212 pages<p>The Art of Readable Code, Dustin Boswell & Trevor Foucher, 180 pages<p>How To Take Smart Notes, Sonke Ahrens, 151 pages<p>How to Write a Thesis, Umberto Eco, 223 pages<p>How Charts Lie, Alberto Cairo, 193 pages
Definitely not the best but it's short, fun, and for developers. Definitely doable in a weekend.<p>So You Think You Know C And 10 More Short Essays on Programming Languages: <a href="https://wordsandbuttons.online/SYTYKC.pdf" rel="nofollow">https://wordsandbuttons.online/SYTYKC.pdf</a>
Some 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.
The 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.
Test Lean and Ship Healthy - <a href="https://github.com/srcclr/test-lean" rel="nofollow">https://github.com/srcclr/test-lean</a><p>A short handbook on developing high quality software in the DevOps world.
Hmmm... Glancing at my shelf. That's not easy. Two that are close are:<p>Programming Pearls 2e (239 pgs)<p>Practice of Programming (267 pgs)<p>I see Algorighms + Data Structures = Programs, but I know that's well into 300 pgs w/out looking.
Yes, programming book notes for specific languages for software developers<p>Link: <a href="https://books.goalkicker.com" rel="nofollow">https://books.goalkicker.com</a>