^- triggered
There are only two hard things in computer science: cache invalidation and naming things.
And off by one errors
Yeah, there are 2 hard things.
0: off by one errors 1: cache invalidation 2: naming things
And DNS issues
Older C compilers would truncate a variable name if it was too long, so
VeryLongGlobalConstantInsideALibraryInSeconds
might accidentally collide withVeryLongGlobalConstantInsideALibraryInMinutes
.Legend says that they used to do it after a single letter with Dennis declaring “26 variables ought to be enough for anyone”.
I had this problem in my job as a drafter. I was wondering why the hell Tekla would complain about the same object name already being in use despite everything having its own name. took me way too long to realize there wad some stupidly max name length and the program did nothing to alarm the user about trying to put too long name. it just cut the overflow away.
No, that’s math.
I worked with a developer who insisted on using the shortest names possible. God I hated debugging his code.
I’m talking variable names like AAxynj. Everything looking like matrix math.
At a previous job I had to work with an old database where all the tables and columns had 6-character names
I vomit whenever I have to read one letter alias SQL. And then… I dealias it.
I don’t understand why people think that it’s acceptable.
As developers, we’ve had it drummed into us from day one that variable names are important and shouldn’t be one or two letters.
Yet developers deliberately alias an easy to read table name such as “customer” into “c” because that’s the first letter of the table. I’m sure that it’s more work to do that with auto completion meaning that you don’t even need to type out “customer”.
Especially when you also have
company
andcounty
tables. It forces people to look up what the c is aliased to before beginning to comprehend what you’re doing.
Ah, must’ve been a fortran developer. I swear they have this ability to make the shortest yet the least memorable variable names. E.g. was the variable called APFLWS or APFLWD? Impossible to remember without going back and forth to recheck the definition. Autocomplete won’t help you because both variables exist.
And you can write more than six characters, but only the first six are recognized. So APFLWSAC and APFLWSAF are really the same variable.
And without namespaces, company policy reserves the first two characters for module prefix and Hungarian notation.
He did write some Fortran in his past! What made you think it was Fortran influence?
Your first few programming languages usually influence you the most for the rest of your career.
72 characters per line/card.
I’d say because fortran is often used for calculations such as numerical analysis where you have x, y and z for example.
I have written fortran code in the past and it was mainly for that.
shortest names possible
This film from 1975 is still relevant today: https://www.youtube.com/watch?v=7hdJQkn8rtA
You should really be naming all your variables by generating 64 character (minimum) random strings.
Make it 63 (31?) to align with what C99 can distinguish.
Also: I really like unicode in identifiers. So if at all possible don’t just have a random string of letters and numbers, make sure to include greek letters and all the funny emojis. (I just forgot which languages and compilers etc allow that.)
For extra fun, you can name your variables using solely Unicode invisible characters (e.g. non-breaking space) so they’re impossible to visually distinguish
Wingdings as well
Wingdings is a font and has no effect on the actual code. Only people who set their IDE font to wingdings will see wingdings
Remove all fonts from the devs computers except for Wingdings and Webdings.
Who needs private variables when you can generate cryptographically secure variable names? Much better security.
Why is no one giving credit to my friend
n
?!name your function as
malloc()
and see to world burn and generate bugs at factorial rate.If you name it malloc it will be easy to notice. On the other hand if you call it free…
Nah, I name all my variables after my homies.
int dave = 0;
Ah, the XCOM approach. Now you look after those variables and get sad when you have to delete them.
does dave know he’s a zero?
His best friends index starts at 0
In zero-based indexing, zero is #1.
Dave was number one!
But they had to be enterprise, so he became a number one factory.
Was just talking about gaming genre names being kinda lame (roguelike? Souls-like? Where’s the originality?!) and this just furthers my point as programming and video games are intrinsically linked.
floats, doubles, etc are decimallikes. object-oriented programming languages are c++likes. a string that is just the word “false” is a boollike. any language easier to learn than c++ is a pythonlike. any language harder to learn than c++ is a asmlike. don’t like it? then you’re a naglike. you don’t want to be known as a naglike, do you?
Javascript is all about them boollikes (or as we sometimes call them, booleish).
Haskell, my favorite pythonlike!
for whatever in stuff:
for myList in myElement:
You need to use trigger warnings for this kind of shit.
Just be careful naming your function “stdout()” or things could get weird…
Or Fortran variables that collide with Fortran built-in functions.
Keep in mind that array subscript and function call are both () in Fortran.
mathematician here, where is the joke?
Variable names should be “self defining” meaning you should be able to understand what its doing from the name. The name also shouldn’t be too long. Combining those together makes it difficult to come up with an “elegant” name
I think they got the joke, they were just joking about how this is common in math :P
The most atrocious variable names I ever encountered in code were as a research assistant for a math professor doing game theory simulations. Literally unreadable unless you had a copy of his paper on the subject to refer to
tmp3 = tmp1 + tmp2 ; T.T
in the linux community it’s really common to have applications like MPD, music player daemon, or MPC, music player client, and ncmpc, ncurses music player client, and ncmpcpp the aforementioned one with ++ tacked onto the end.
Cmus, which from what i can recall is literally “c music player”
etc…
fia? fir? fib (part of fia)?
exercise left up to the developer!
This joke is funny only if placed in Arnold-Atyah manifold if Kolmogorov-Ramachandran-Yu metric is defined
So don’t use it in non-KRY-definite AA situations, or you could get erroneous results. QQX is fine though, as long as you have non-vanishing ABCD. /s
I wonder, if Lean proofs become the new peer review like I’ve heard suggested, if mathematics might break from this, and look more compsci-ish in the future. That way non-specialists could get up to speed quickly.
Now I want to become a programmer so I can give variables people names.
Ha
You should hear of the method of pretending you’re at breakfast or some other anthropomorphized situation, where you name things as butter and cheese, knife and bread, tea and teapot
Then there’s Hungarian notation which is actually used seriously. But I can’t give an entertaining example only s boring and probably inaccurate one.
Am I being gaslit?
Gasboss gatelit girlkeep