Notices where this attachment appears
-
Embed this notice
@NEETzsche @theorytoe There's a difference between "good" and "follows all of the rules the pencil-pushers came up with". Arthur Whitney is out there doing these microsecond-response trading bots, writing brilliant code that got him terrible marks in college. Jefferson said "the man who never looks into a newspaper is better informed than he who reads them; inasmuch as he who knows nothing is nearer to truth than he whose mind is filled with falsehoods & errors." There's an analogue here: your hypothetical child writing spaghetti code is probably a better hacker than a guy with a "best practices" buttplug super-glued in place, because the the kid hasn't filled his head with the neuroses, but discounting all of the knowledge and training just because people do it wrong is throwing out the baby with the bath-water. What's that kid doing in 20 years, 30 years, once he's had to actually solve some problems? If you don't give him brain damage, maybe he's doing some really cool stuff.
Great chefs and your grandmother both do things in the kitchen that would be completely forbidden for a line cook at McDonald's, but you don't draw a line and put them on the same side as the guy that serves a plate of eggs with a curly black hair protruding. I wouldn't characterize McDonald's as "autism" and I certainly wouldn't say that it's a mistake to learn. I do think people scolding over "undefined behavior" are making the same mistake as someone that would go into my grandmother's kitchen and insist that she wear a nametag and a paper hat and follow a series of protocols that are designed around assembling food predictably without drawing the health inspector's ire, and that if she doesn't do that, she's not cooking correctly, and that all of the food cooked correctly is strictly better, in an objective sense, than her roast beef or blackberry cobbler. She certainly knew more about cooking when she was 70 than when she was 12,
Good code is a lot like good writing: it says what it was designed to say, the style is a component, etc., parallels abound. People write essays, and the way they teach essay-writing in school (the five-paragraph essay, with an opening thesis introducing three points, then one paragraph per point, then a final paragraph restating the thesis) has absolutely no bearing on the style of an essay anyone wants to read: what gets a gold star on your essay when you still get marks off for "poor penmanship" is nothing like what makes for good writing, and if we move up to the adult world, if you try to apply the AP Style Guide to Twain or Poe, you'll get uninspired tripe. George Orwell illustrated this by butchering a passage from Ecclesiastes; see below.
On the topic of programming, around the time I wrote the bit about Orwell, Seamonkey crashed and dumped core. This doesn't fit any style guidelines, but it just kept me from rewriting what I just wrote:
$ tr -d '\0' < core | strings -n 1 | tr -d '\n' | tr ' ' '\n' | tee /tmp/x | grep -n Orwell
$ less /tmp/x
$ sed -n '845720,$p;845972q' /tmp/x | fmt | xclip
It's trivial and ad hoc, but to write it, you've got to have learned something about how the machine works: you've got to know what's in a core dump, that the strings are represented as UTF-16 in most browsers, how to turn that into ASCII before you give it to strings(1), etc. I'm certainly better at this than I was when I was 12. (Or maybe not knowing how to get the words back would have been preferable: instead of rewriting this lengthy missive, I might have just cited Sturgeon's Law, pointed out that it applies to people, and left the implications where they were.)
There are code monkeys that don't know shit about shit, there are anal-retentive drones that insist that the compiler could reformat your hard drive if an integer overflows, there are talented 12-year-olds, brilliant hackers, artists, well-read researchers, script kiddies. I don't like the drones, but they are one type of person in this profession, and they don't have much of a say in what I do: they're loud and they give each other titles and appoint each other to chair committees, and anyone with any sense avoids them.
they_really_typeset_this_essay_terribly.png
jincunabulum.png