crispinb

crispinb

I have more half-finished programming books than any other category. In fact with books in general I’m a bit of a completionist, tending to finish them even if I’m bored or otherwise struggling. The reason I operate differently with programming books is that I feel obliged to work through most of the code content on the computer, usually by reconstructing the code myself after reading a major section or chapter. This is time-consuming enough to be daunting, though, and I more often than not move on before finishing.

This issue doesn’t arise with more general dev/tech-related books - eg. I’ve just finished Ousterhout’s A Philosophy of Software Design in a few nights, reading it like a novel.

I have tried similarly ‘reading’ programming books away from the computer, but find I forget most of what I’ve read too quickly for it to seem worthwhile. Probably what I should do is be a bit selective - read and maybe take a few notes on specific aspects of the code that I want to follow up on in more detail later. I might try that with a couple of my half-finished Elixir books :wink:

Anyone else suffer from incompleted programming book syndrome?

Showing Posts 1 to 10

stefanluptak

stefanluptak

I have it very similar. I feel like whenever I need to understand a topic better, I rush and buy a book about it. Or whenever PragProg releases something Elixir related or interesting in some other way, I do the same.
Then after reading few chapters, I just skim the rest of the book to get some kind of overview to know where to look if I need more information.

I think that once someone has a lot of experience and just need to know the language/tool/… specifics, traditional style of book can be too verbose. But I buy them anyway. :man_shrugging: It’s some kind of addiction, I guess. :grin:

That’s why I really liked the Build a Weather Station with Elixir and Nerves: Visualize Your Sensor Data with Phoenix and Grafana by Alexander Koutmos, Bruce A. Tate, Frank Hunleth book. It was short and dense enough to keep me entertained and finish it without forcing myself into it. :slight_smile:

crispinb

crispinb OP

Yes those short books, kind of like extended tutorials, are tractable with a detailed-reading approach.

I remember trying a more ‘novel-reading’ approach with Steve Klabnik’s Rust book. I found it well-written and easy to read. But when I closed it after some 500-odd pages, I had no more idea how to write Rust than I had on page 1. I think that experience amplified my tendency to get bogged down with ‘working through’, rather than just reading.

realcorvus

realcorvus

I usually read digital copies of programming books, so that I can quickly switch between a page of the book and my text editor. The exercises and projects contained in a book are the most important parts, and that’s where the bulk of my learning takes place. Often I don’t find the exposition of some piece of code very helpful, rather running it myself and making small changes is how I come to understand it.

I don’t remember if it’s the textbook Computer Systems: A Programmer’s Perspective, or from a lecture in the corresponding CMU course, but the recommendation was to read each chapter of the book three times. John Carmack has similar advice about going through books “at least twice”, https://d3dvortex.blogspot.com/2005/07/programming-advice-from-john-carmack-i.html

Reading a book by itself never improved my programming ability, working through the problems in a book or writing a project inspired by a book has.

10
Post #3
ff4f00

ff4f00

Split view pdf / terminal+tmux+neovim I try and follow along in the terminal with the book. I’m currently reading “Haskell Programming from first principles” in my .hs files I use comments to take notes as I go along with the author it’s kind of like a jupyter notebook and has worked really well for me. My notes for Haskell are organized as - 0. Operators, 1. Data Types, 2. Expressions, 3. Functions, 4. Recursion, 5. (Purely Functional) Data Structures, 6. (Haskell) Algorithms… This helps me focus on specific objectives “learning x by x”.

soyjeansoy

soyjeansoy

this is a good tip tbh

iqra

iqra

A good programming book encourages you to open your programming IDE and actually type the code, to experiment, think or thicker. Reading books also allows you to understand and develop a common language with your collogues.

AstonJ

AstonJ

I try to be methodical when reading - by taking notes or highlighting things and then going over those items later. I also try to make sure I understand everything before moving to the next chapter - this doesn’t mean I have to remember it all, just understand what’s going on before moving on. I will happily read a chapter more than once if it feels like something hasn’t made sense.

I will also only read books that appear to be on my wavelength - there’s no point trying to read a book if you just don’t click with it. This is also one of the reasons I prefer professionally published books, they’re usually of a decent quality and an editor has usually made sure the information is accessible and easy to understand. Reading a book is a big investment of time, hence I prefer the highest quality if at all possible.

I have more tips here: My best tips on learning/reading/studying!

Something I have found though (and I wonder if any of you have too) is that I find it harder to get into the mindset to read, and I think this is because of how our brains are changing thanks to social media/dopamine hits. I read recently that young people can only concentrate for short bursts now, I find that worrying.

There is a way around it but it takes some discipline. From my post above:

With this technique and enough discipline (i.e continuously over a few days) you can get back into studying/reading… just like we did in the old days :lol:

(If anyone tries it, let me know what you think!)

12
Post #7
code-shoily

code-shoily

I used to have a piles of unfinished programming books until I changed my reading style.

What I used to do is, get ebooks and have the book open on one monitor and a repl/ide on the other. However, that often led me google for related things and move away from the flow.

Nowadays I buy paperbacks and when reading i go to a different table armed only with paper and pencil, and it works for me. I have finished more programming books in recent times than ever before.

AstonJ

AstonJ

This is great advice! Also why I love my Kindle and really appreciate books written with e-readers in mind, such as the Ecto book (here’s my review of it: Programming Ecto (Pragprog) - #40 by AstonJ).

crispinb

crispinb OP

Oh no, your review might have induced me to pick up another book! Sounds pretty enticing.

I find the various responses here interesting. Perhaps not surprising for an engineer-oriented readership, most are ‘tactical’ (that’s not quite the right description, but I need more coffee to come up with something better). I personally don’t have tactical issues ie. paper book vs ereader (both, depending) or how to stay undistracted (I tackled that years ago when first afflicted with rss-feeds semi-addiction), or social media (long-time refusenik) . It’s more a kind of philosophical issue. With all other book categories I have 2 modes (or more precisely a continuum with 2 poles): breadth vs depth. Some books I’ll read in armchair ‘breadth’ mode for general insight and background. Some I’ll ‘study’. Or I’ll approach the same book both ways.

I find both important, but for some reason I’m propelled almost involuntarily into depth/study mode with programming books.The time-consuming nature of that limits my range of familiarity more than I’d like (hence the unfinished pile ..). I’d like to try and at least read some of my slush pile this year without getting entirely captured by the quicksand of study mode.

Where Next? Top

Trending in Discussions Top

AstonJ
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
2977 94592 917
New
cblavier
Hey there, It’s been more than a year since we started using LiveView as our main UI library and building a whole library of UI componen...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
heathen
Quite interesting article Google brought me. Didn’t find any mentions about it here. What do you think in general? Would you use togethe...
New
mhanberg
Hi everyone! The first release candidate for the Expert language server project is now available! We’ve published a press release detai...
New
AstonJ
Since we have deprecated our Erlang sections (as we have dedicated Erlang Forums now) let’s add this thread for those who’d like to post ...
New
Null-logic-0
What IDE or editor are you using for Elixir development? Personally, I use Zed, and I really like it, but sometimes I wish there were a ...
New

Other Trending Topics Top

JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Dmk
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New
webofbits
With AI doing more of the implementation work, I’ve been wondering how much coding I should deliberately keep doing myself. My main conc...
#ai
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews