DYSPEPSIA GENERATION

We have seen the future, and it sucks.

The Three Greatest Programming Links Ever

22nd July 2017

Freeberg nails it again.

The job is to define behavior. That is the job. This means, as some wizened sages have observed, there is a necessity for those new to it to “change the way you think.” That’s true, because the job involves defining something, and until the necessity arises a lot of us don’t have to define much of anything at all. You see this in babies. If they get what they want by just making illegible noises, that’s what they are going to learn how to do. If they’re forced to articulate exactly what it is they want, and until then they don’t get it, they become more skilled in their vocal expression. That is learning to define. This stuff we call “code” is merely the medium through which definition is done. Most debates about programming languages are counterproductive, and most programming languages hurt the industry as a whole, because by adding themselves to the growing collection of languages they do injury against the progress of defining. Just like with the spoken word, changing the language in which an idea is expressed doesn’t do anything to improve the idea. Do you really need to switch? The code you’ve written already is an asset; it is the only product in existence, after your investment of time. “How many lines is your code” is a metric that might offer a clue about this, although not a decisive one. “Is it easy to read?” is a consideration, in the sense that a programmer familiar with it shouldn’t be given a reliable first impression that is the direct opposite of what it really does. As the language evolves, it should maintain backward compatibility as it does so, so that the code written already is treated like an asset. Which is what it is. So, there should be assurances to this effect. Guarantees are better than assurances. I suppose a parchment document signed in blood would be better than a guarantee. Regardless, the best definition of a “wrong language” being used is, oopsie, this compiler or interpreter is now on rev X which doesn’t support programming construct Y anymore, so you need to go demolish/reassemble. Yeah. While you’re doing that, switch languages because that was the wrong one. Then nuke it from orbit.

Comments are closed.