X
X
[Cueball holds a laptop with code visible on the screen.] Cueball: I've developed a new programming language! Offpanel voice: Didn't a judge order you to stop doing that?
[In a frameless panel, Cueball holds the laptop with one hand and types on the keyboard.] Cueball: Higher court threw out the ruling! Cueball: I'm back, suckers! Offpanel voice: Dammit.
[Cueball holds the folded down laptop at his side.] Cueball: But I promise it's good this time! Cueball: Just normal code. Good clean syntax. Nothing weird. Offpanel voice: Okay...
[Cueball holds the laptop at his side, and raises a finger on his other hand.] 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. Another offpanel voice: Maybe we can appeal.

Cueball has developed a new programming language with novel syntax. Such languages are usually classified as esoteric languages — programming languages developed for no practical use other than novelty, challenge, or academic interest, and which are difficult to understand or work with (although that doesn't stop people from trying to use them). Some classic examples of these are INTERCAL and 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 when the EPA took an interest in Cueball's Laptop Issues , and Cueball's other tech support problems , it seems that a judge has previously ordered Cueball to stop developing new programming languages, possibly because the result was so egregious as to cause real harm.  However, the ruling was overturned on appeal, and Cueball is free to inflict his work on the world once again, unless and until there is another appeal.  Cueball's use of the phrase " higher court" suggests that he has not gotten a ruling from the Supreme Court of the United States or whatever state has jurisdiction over him, or else he would have said so, and evidently the offscreen voices hope to appeal to them and get Cueball's injunction reinstated.
A variable is a piece of data (such as an integer or a string of text) whose value can change over the run of a program. Variables are identified by name and can usually be named any string of alphanumeric characters. To make code easier for a human to follow, variables are usually given a name that indicates what the variable is for; for example, a variable counting how many seconds have passed since the program was launched might be called elapsedTime .
The overall concept of a variable is usually first taught in Algebra , where the most basic nondescript name for a variable is x . When first learning or teaching programming, it's not unheard of for sample variables in practice problems to be named "x". However, outside of a controlled learning environment calling any variable "x" is considered bad coding practice, because anyone reading the code will not immediately understand what the variable does unless they are familiar with it. Even the original programmer may come back to it and find that they have forgotten what the variable was for.
Here, Cueball is developing a language where all variables are named X - and the only way to differentiate different Xs is to write it in different typefaces. Needless to say, this is a terrible idea. The language would be a nightmare to program in, 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 very 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.
Such a language would also require the source code files to be in some rich text format such as a Word document, in order to store the font information. Additionally, it would also require the use of a word processor or similar in order to edit the code. Programs would also run into difficulties if the system does not have the required fonts installed, or if the font is not licensed for them to use.
By contrast, normal code is always written in plain text (usually with ASCII or UTF-8 encoding), which does not specify a typeface and can be edited by even the most basic of text editors.
This comic may also be a jab at mathematicians, who by convention use variable names which are short and nondescript (e.g. "x"), and which can also be "typeface sensitive" - for example, ℕ denotes the set of natural numbers, and it is not uncommon to see the definition of a limit as "For every ℇ>0 there exists N in ℕ such that for every n in ℕ, if n>N, |f(n)-l|<ℇ". Or for example, ℜ may denote the real part of a complex number, whereas ℝ denotes the set of real numbers, and R might denote the radius of some circle in the complex plane.
The title text references the fact that most code editors 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', a pun on two meanings of the word 'variable', 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 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 cumulative arbitrary-length array might be considered another form.
[Cueball holds a laptop with code visible on the screen.] Cueball: I've developed a new programming language! Offpanel voice: Didn't a judge order you to stop doing that?
[In a frameless panel, Cueball holds the laptop with one hand and types on the keyboard.] Cueball: Higher court threw out the ruling! Cueball: I'm back, suckers! Offpanel voice: Dammit.
[Cueball holds the folded down laptop at his side.] Cueball: But I promise it's good this time! Cueball: Just normal code. Good clean syntax. Nothing weird. Offpanel voice: Okay...
[Cueball holds the laptop at his side, and raises a finger on his other hand.] 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. Another offpanel voice: Maybe we can appeal.
