The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
"the debugger doesn't tell me anything because this code compiles just fine" - random QA comment
"Facebook is where you tell lies to your friends. Twitter is where you tell the truth to strangers." - chriselst
"I don't drink any more... then again, I don't drink any less." - Mike Mullikins uncle
Perhaps it was a warning against "dumbing down" things for users to understand, or for users to see how we can "just make it work". The first we all know, the second deserves an example:
One of my past VIP users insisted that the reason for his site personnel's netbooks extreme slow performance was not the netbooks themselves, but the anti-virus and WPA2 encryption. That person had so much influence that we were forced to uninstall the anti-virus and remove all wireless encryption. Thanks to a good firewall and fair web filtering we escaped malware, but when the neighbours clogged the DHCP server with their mooching off free access, we had to cut down this nonsense - which, by the way, did not improve performance. The VIP's response? Ditched the project, buried the netbooks and the whole thing in a storage room, and never mentioned it again!
I saw Einstein's famous quote about the need for simplicity on slashdot today:
"Everything should be made as simple as possible, but not simpler." -- Albert Einstein
...but then realized that the quote itself as not as simple as possible, because the potentially simple sentence is complex - the ending clause is redundant, for if something is already as simple as possible, it's impossible to simplify it further.
Please... Obfuscation newbie-style is far more advanced.
In high school a (female, good-loking) classmate asked me for help for the laboratory classwork. Leaving apart the fact that there were over 40 variables and the task was trivial - they were named... A, B, C, D, E ... AA, AB, AC... Of course without comments or anything.
When I was as Comp.Sci student, one of the professors was really pushing 'descriptive variable names' to the extreme. I happened to look over the shoulder of the brightest guy in our class while he was working on a programming homework: His integer variables were named I00, I01, I02, ..., reals were R00, R01, ... and so on. I was shocked: "Do you really think Prof. C will accept that?"
"Oh, no", he replied, "Before I hand it in to Prof C., I will do a textual substitute, replacing all I01s with 'NumberOfOilCans', all R04s with 'WeightOfEachCanWhenEpty' and so on. But I couldn't possibly work with that kind of names - think of all that extra typing, how long that would take!"
His mental capacity was so that he didn't need any 'descriptive names' - he could easily map from R04 to the concept of WeightOfEachCanWhenEmpty without any visual reminder. Descriptive names are for people with less mental capacity
The only negative thing about his style is that after making his substitutions, the code lines would be 100, maybe 120, maybe 130 characters long. (When substituting, he used really long descriptive names). End-of-line comments would of course end up mis-aligned - but this was in the Fortran days when EOL-comments were non-standard.
Both are good for code that won't be used ever after. You just gave me a terrible idea: if I'll ever teach, I will make the students work on their code of 2-3 months before. THAT will teach them the importance of code readability
When I was teaching computer network software to last-year college students, I made myself the hate object of the year when I organized the group programming assignment in four stages throughout the full semester course: After each stage, each group handed their work over to another group, and were given another group's work as a base for the next stage.
Students hated revealing their own deficiencies to fellow students, and they hated having to struggle with that terrible code written by their completely incomptetent fellow students... Telling them that in a few months, this would be the normal working situation for them didn't really make it.
I have no regrets, even though the students hated me for it. An essential element in learning to code is learning to handle code from other programmers, and to make your own code so good that there is no reason to feel ashamed, no matter who reads it - both in plain readability and in other quality aspects.