Changing Representations is Crucial to Programming Oft-times, I introduce programming to someone by describing to him a little system in which data can be represented in some ways, and in which those representations can be manipulated in some ways; the details are unimportant here. I then explain how the core of all programming is finding some way to represent the problem to be solved, for its inputs and outputs, according to what data such a system offers, and some way to represent the manipulations thereof, similarly. Each programmer knows this. Plenty of so-called programmers are ignorant of such a simple idea, since they merely seek to profit from pretending to program. Plenty of other fools are, in particular, cultists, and instead seek to defend their cults against all sense; both groups of foolishness are allergic to basic realizations. The cultists are naturally more interesting than those other fools, because they know just enough to attempt to justify their delusional beliefs to others. Data organization should be chosen according to a group of the data's most common operations, and the relative difficulties of converting between representations for other common manipulations, and this is where the cultists enter; for one reason or another, the cult has chosen its one true representation, and will only allow others to flow from it, no matter how wasteful and senseless. Anyone who proposes any new representation must be beaten down at the first opportunity. Cultists love useless knowledge, and new representations threaten to make that useless knowledge obviously useless even to the cultists, which is why it must be stopped. Parsing's particularly preposterous, and this should be more obvious, but certain cultists generally accept its presence as given and natural; to suggest that data could come in a representation usable without parsing is met by laughter, disbelief, and then mocking scorn. This pattern applies widely. It's generally important that a system be able to share representations, so that more than one small thing uses them, but again cults are contrary, and advocate instead for naught more than a baseline. I struggle to think of any cult that happily accepts a new representation for something fundamental, which has the effect of preventing anything not in the baseline from being easy at all to represent. While this is a general and basic observation, clear to anyone who has programmed in a machine code, or who has had to think about more than fixing together fabricated components, I feel it strongly in the present regarding my thoughts on what passes for machine text. I so anticipate demonstrating my new representation for that data soon enough, named Elision, and how such simple changes are better. Some may disagree with this, or argue that changing representations is not so important; personally, I believe anyone who disagrees with such basic things should be killed, or at least savagely beaten. .