{title}

Syntax highlighting is juvenile

It's a quote by Rob Pike. And a rather old one.. I'm late to this party. On first hearing it sounds like those monkish, ascetic, crotchety gray-heads out trying to prove new generations weaker than they, the true kings of yore. On more than first hearing, many others still get this vibe. Yes, it's a bombastic statement. It's sure to be controversial, considering the near ubiquity of syntax highlighting in every modern (and non-modern) text editor... save for the Acme editor, which happens to be Pike's own creation. And nobody likes being called juvenile, much less hordes of self-important programmers out to do some of their own gatekeeping on Reddit.

When I hear someone say something bombastic like this, I try to respond rather than react. First of all, I can't judge. I say bombastic things sometimes too, such as when I'm trying to verbally-process some elusive idea. But I doubt this was a case of verbal processing for Mr. Pike.. he's a smart and experienced guy with loads of credentials. Sure, guys like that can become old and set in their ways, leading to iconoclastic behavior when new trends emerge. But, then again, without making too much of something that was probably a sardonic joke, I can't help but wonder (genuinely) what's so juvenile about syntax highlighting in Rob's mind.

The Practice of Programming

For Christmas, my dad gave me the (so far) excellent book, The Practice of Programming by Rob Pike. Inside the cover of the book, my dad wrote:

There are some excellent books to be found that teach developers important skills: design, project management and flow, programming languages, etc. In 30+ years in the field, I've read -- or tried to suffer through -- my fair share of them. All of them had something worthwhile to share. This book stands alone, in my view, as one that will actually make you a better software developer/engineer. These authors, along with Dennis Ritchie, possess the unique credentials which have shaped and influenced every significant programming language and operating system in use today. There is nothing new under the sun; there is no innovation in software whose origins can't be traced back to these three.

Wow. That's high praise from a guy who's spent 30+ years of his life slinging code for Bell Labs/Lucent Technologies. Of course, my dad might be biased (Rob Pike and Brian Kernighan are both Bell Labs guys), and I might be biased (my dad helped make me be born), but I'd say these words make it clear that we shouldn't underestimate Rob Pike. Maybe he does have something helpful to say, despite our initial recoil at being called "juvenile". Perhaps we actually are juvenile in some way. We don't want to be juvenile, do we?

So, I took the bait. Three days ago, half out of a malformed desire to please the venerable "Commander" Pike and half out of genuine curiosity, I opened up Vim to start my morning tasks and immediately typed `:syntax off`.

Now, I'll speak for myself: I think syntax highlighting has deprived me (at times) of becoming familiar with the true flow of whatever language I'm writing. This may not be true for anyone else; I'm perfectly content being the only programmer in the world who may have been, to some extent, "writing by colors". I mean, what's the point of syntax if I'm not actually reading it? How can I actually internalize the topography of the program logic if my mind is becoming subconsciously dependent on color patterns to comprehend (and synthesize) the code?

Shameless plug

Needless to say, I made SpaceCamp monochrome and called it "fogbell.vim". Yes, the comments are dimmed. I'm still a pragmatist, not an ideologue, but I did add some syntax off options to my `.vimrc`, just in case I want to train my brain to read comments as part of the code.

Main takeaways:

  • Try new things
  • (probably) Listen to Rob Pike
  • Don't let gatekeeping (or insecurity) get in your way
  • Read books
  • Grow up