Category: Web Dev

Terseness tension

I found myself agreeing with a lot of what Christian Heilmann writes here, especially this part:

Terse code is harder to read. Oh boy, this is holy war material. I’d rather have maintainers get clean code that follows a style than clever, dense hacks. And it shouldn’t be a rite of passage to know all the syntactic magic a language allows. U wl b abl 2 rd ths, as our brain craves harmony and tends to fill in gaps. But it will tire you out much faster than a proper sentence.

One of my former colleagues warned me off this kind of terseness by recounting how he once tried to shorten his function names into acronyms, turning pickFirstItemFromCollection() into something like pfifc(). It was a short-lived experiment.

I’m also reminded of this Twitter thread by Marco Rogers, looking back at the genesis of the arrow syntax in JavaScript, and how that trades readability for terseness:

The javascript community fought hard for the fat arrow syntax, () => {}.

It’s shorter for sure. But way more annoying to type on a regular basis than function() {}.

And that is the folly of programmer culture IMO. Constantly optimizing the wrong things for the wrong reasons.

Robin Rendle on Blogging with Eleventy

Robin Rendle boils it down in his post, “Eleventy and Netlify”:

What do I need now? Well, I just need a box to type markdown in and a button to publish it.

Robin’s journey reflects a lot of how I’m approaching the future of this blog. I’ve basically narrowed it down to three broad choices:

Of those three choices I was initially most excited about using Gatsby, mostly because I find the component model of React to be helpful (in some cases). Gatsby has been iterating at a very fast pace, however, and I find that it’s always been a struggle to keep up with the tooling.

Eleventy feels like a more narrowly-focused option, and I like that (thus the quote from Robin above). I’m going to dig into it some more (I particularly have some questions on how search would work) but I was glad to see Robin documenting his decision-making process, as well as his journey through his new blog infrastructure.