Confusion (Work log)

One of the many ironies of Electron-based apps is that nowadays I rely on so many of them, I wish I could arrange them into tabs.

Good morning! Another day, another box of stolen pens, amirite? No, but seriously. I found some energy lurking in the shadowy depths of my tordid existence last night and did half of the conversion to Typescript that I was bitching about yesterday. It’s amazing what you can get done when you just stop complaining for half a minute. This morning, I want to get the rest converted, because I like my type systems like I like my coffee – strong.

Being confusing is not a virtue

Yesterday’s anti-Javascript rant mostly focused on their batshit insane ecosystem of infinite dependencies, but today I have another complaint: The => shorthand function syntax, in conjunction with a callback-centric programming model, which leads to a lot of code being annoyingly convoluted.

It should not need to be stated, let alone twice, but being confusing is not a virtue. There are of course circumstances where people may think that things are confusing when they are simply communicated in terse ways that assume knowledge, but I think the line can be drawn with a test of “does an expert need to pay close attention in order to not miss anything?”

A lot of notation fails this test (“yes” is a fail). I briefly flirted with APL a few months ago, and while it is an appealing language in a lot of ways, it fails this test hard. As do most “write-only” languages, like Perl. Some parts of mathematical notation fail this too, although much of it is fine.

Also, as a rule, if I need to reason about data structures or think hard about operator precedence while reading your code, you have dun goofd.

This is all to say, I still hate Javascript. Typescript is a marginal improvement, but it’s still a dumb language.

I guess I’m making progress…

Another last-night thing

Some types of madness grow like fruit. Other types of madness involve growing fruit. So, yesterday I bought and assembled an industrial shelving system, with intent to convert it to a trellising structure for plants. Let’s see how that goes.