Today’s blog post is about a programming language. Deal with it.
Our story begins one day, 1 million internet-years ago, during the dawn of the browser wars in the 90s (yes, gentle non-webby-reader, they actually call it that).
Programming in this language is what I do all day, and while it got a lot of things right, it gives you many ways to shoot yourself in the foot: defaultly scoping variables globally, weird assumptions about line-endings making semicolons necessary almost everywhere ‘just in case’, a simultaneously incomplete yet overenthusiastic reserved keywords list, overly generous falsy-coercion, fragile looping, and way. too. many. brackets.
Why does this matter? when you’re programming you think in the programming language. The more verbose and unwieldy a programming language is, the more verbose and unwieldy your thoughts. (The same is probably true of human language too.) If the programming language will simplify complex ideas, then your thoughts can be simplified too. The same thing happens with mathematical notation. x + x + x + x is the same as 4x, but the latter is much easier to store in your head while doing other things to it. even having 4 × x introduces unnecessary complexity (not the least because x looks like times).
… I’m not sure where I’m going with this. Abrupt end.