Editing 2309: X
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 8: | Line 8: | ||
==Explanation== | ==Explanation== | ||
− | + | {{incomplete|Created by a COMIC SANS X AND A NEW PROGRAMMER. This page needs an expanded explanation of what esoteric languages are. Do NOT delete this tag too soon.}} | |
− | + | [[Cueball]] has developed a new {{w|programming language}} with novel syntax. These languages are classified as {{w|esoteric language}}s, which are programming languages developed for no practical use (although that doesn't stop people from trying) other than novelty. The classic example of these are {{w|INTERCAL}} and {{w|brainfuck}}. | |
+ | Normally, there is no law against developing bad programming languages or bad code (although some would argue there should be). The law often has to play catch-up with technology. However, as with the example of Cueball and the EPA, and Cueball with tech support problems, it seems that the Government has made an exception in this case, possibly because the result is so egregious as to cause real harm. | ||
− | + | A {{w|Variable (computer science)|variable}} is a piece of data (such as an integer or a string of text) that can change in value. Variables can usually be named any string of alphanumeric characters. For the sake of readability, variables are usually named something relevant to what the variable represents. For example, a variable counting how many seconds have passed since the program was launched might be called elapsedTime. Some programmers, particularly if they are working under time pressure, will give their variables names (such as 'x') that do not describe what they do, and are thus almost completely meaningless. This is considered bad coding practice, because anyone reading the code who is not familiar with it will not understand what the variable does, and possibly also the original programmer after an arbitrary amount of time - somewhat likely after years of being untouched and unconsidered, but possibly even after minutes of frantic 'improvement' of some convoluted spaghetti-code that is now 'merely' tagliatelle. | |
− | + | Here, Cueball is developing a language where the only way to differentiate variables is to write the letter "X" in different fonts. Typically, code is written in plain text without a way to specify a font, which would mean that Cueball has implemented a lot more processing in the {{w|compiler}} or {{w|Integrated development environment|IDE}} in a fashion typically seen as unconventional. This 'feature' would be a nightmare to program with, as all of the variables would look very similar unless careful attention is being paid, and there would be little to no way to determine what each one does, since font names are typically not particularly descriptive. Additionally, the fact that some fonts look similar (such as Arial and Helvetica) would require the programmer to have an intricate knowledge of different fonts and how to distinguish them from only one letter. Programs would also be difficult to edit if two programmers do not have the same fonts installed. | |
− | + | This is also a jab at mathematicians who are in addition to using variable names which are short and nondescript (e.g. "x"), are also "typeface sensitive" (in addition to case sensitive). In other words, one can typically find a statement involving three different "X" variables, referring to three different objects, and they are distinguished by their font and case. | |
− | + | The title text references the fact that most IDEs use a monospaced font (i.e. one where every character is the same width), as opposed to variable-width fonts, in which some characters like 'I' are narrower than others. This is partly because fixed horizontal alignment is sometimes useful when dealing with certain text strings. | |
− | + | 'Variable-width variables' refers to the fact that the letter X, like all letters, has different widths in different fonts. This would make this fixed alignment almost impossible, thus creating yet another reason why Cueball's language would be highly unpleasant to use. It likely also directly (mis)refers to systems such as {{w|variable-width encoding}} in which the ''data'' linked to in a variable storage is packed into an unfixed number of bits and/or bytes. Such systems often use Huffman-type encoding to progressively differentiate, from the initial elements, how many more elements are needed to fully define the value, but a reserved deliminating value marking the end of a cummulative arbitrary-length array might be considered another form. | |
− | + | ==Transcript== | |
− | + | {{incomplete transcript|Do NOT delete this tag too soon.}} | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
:[Cueball holds a laptop with code visible on the screen.] | :[Cueball holds a laptop with code visible on the screen.] | ||
:Cueball: I've developed a new programming language! | :Cueball: I've developed a new programming language! | ||
Line 47: | Line 42: | ||
:[Cueball holds the laptop at his side, and raises a finger on his other hand.] | :[Cueball holds the laptop at his side, and raises a finger on his other hand.] | ||
− | :Cueball: Except the only variable name is "X. | + | :Cueball: Except the only variable name is "X". To refer to different variables you have to write "X" in different fonts. |
:Offpanel voice: I'm calling the court. | :Offpanel voice: I'm calling the court. | ||
:Another offpanel voice: Maybe we can appeal. | :Another offpanel voice: Maybe we can appeal. | ||
− | |||
− | |||
− | |||
{{comic discussion}} | {{comic discussion}} |