
7 Fabulous Ways to Great Programming - imgabe
http://theprogrammersparadox.blogspot.com/2008/09/7-fabulous-ways-to-great-programming.html
======
baha_man
'5. Still reading? I thought you'd wizened up by now?'

[http://www.answers.com/wizened&r=67](http://www.answers.com/wizened&r=67)

wiz·ened (wĭz'ənd) adj.

Withered; wizen.

<http://www.answers.com/wise>

phrasal verb:

wise up Slang. To make or become aware, informed, or sophisticated.

~~~
silentbicycle
He means "wisened". "Wizened" is how you feel after getting all the way
through Steve Yegge's archive.

~~~
phomer
Yep, it should be wisened. Funny enough, I think my stupid spell checker
changed it on me on my last round of proofing. Can't trust these stupid
computers, can you?

------
swombat
1 Fabulous way to have a chance of being a half-decent writer: don't write
like this guy.

Talk about wrapping a stinking fish in a giant ball of tabloid newspapers...

------
Hexstream
I didn't bother reading more than the first few paragraphs. I expect the
quality of writing to be a few notches above the level of speech. This
article's style simply doesn't cut it, mostly because of excessive jovialness.

~~~
nostrademons
From about 3/4 of the way through:

"In point of fact, if this whole article is "TL;DR" then there is no way
you're code is going to be "great". Just ain't happening. It may be a hell of
lot of other things, most of which are destined to entertain people on WTF,
but it certainly ain't ever going to be great, and probably not even good."

~~~
Hexstream
It's not too long, it's too badly written (as exemplified by this "you're"
among other things). There's none of Yegge's articles I didn't read fully once
I started and I don't need to tell you how long they are.

edit: I read the whole thing, it's really horrible how the bad style and
orthograph makes it hard to focus on what's said. Speaking of focus, it's
really ironic to get a big lecture about how important the ability to focus is
coming from someone who can't even focus enough to write proper English
(your/you're, their/they're, come on):

" _If you are finding that reading a multi-page blog essay is far too long,
then you are clearly having problems focusing. [...] However, it's not all
bad. If you've made it this far -- and it wasn't just blind luck in skipping
text -- then it means you do have some ability to focus. It might just be a
good idea to work on that a little, or possible a lot. Focus. Focus. Focus._ "

Stylistic issues and common deformations (ya, ain't, cause) aside, here's the
objective mistakes I found:

    
    
      "Get on with it", *you're* inner voice is screaming, adding in "just give me the *highlites*, the bullet points, the summary, dude.
     These things may help you if you've already had exposure, but they just ain't *the* got the knowledge in them.
     If you want the knowledge then *you've have* to get the knowledge, otherwise you know nothing.
     "Well, I don't want to waste my precious time read someone else's long rambling crud!", *you're might* be screaming by now.
     [...]
     But *its* impossible to squish all of the knowledge into summary.
     [...]
     Honestly, *you* a roving accident waiting to happen.
     [...]
     Ponder it, *its* not hard once you get used to it.
     If they're out there telling you otherwise, you know *their* just blowing smoke.
     [...]
     then *you're* problem is
     [...]
     then there is no way *you're* code is going to be "great"
    

As a last point, I found him pretty unwarrantly condescending.

~~~
phomer
The deformations are there on purpose, I was trying to give it an edgy style,
otherwise it just doesn't appeal to the audience I am trying to reach.

I fixed the other typos, as there were unintentional, just a byproduct of fast
sloppy editing :-) It's writing, and it's an opinion, so I rather get it out
there with a few typos, spelling mistakes and bad grammar, then just sit on it
forever.

~~~
swombat
Giving it an edgy style is one thing. Giving birth to an incoherent and
pointless rant is another. In this case, I'm afraid you failed and did the
second one.

------
silentbicycle
See also: Peter Norvig's Teach Yourself Programming in Ten Years
(<http://norvig.com/21-days.html>)

------
nazgulnarsil
I do like the idea of bullet points as junk food. good analogy.

------
derefr
Mid-way down the rant, I found this hidden gem, in the form of, you guessed
it: bullet points.

1\. good programmers write good code.

2\. good code is neat and simple.

3\. good code is consistent.

Number two, especially, caught my eye. Let me see if I can generalize that.

"Good communication is neat and simple."

Kind of argues against his point, doesn't he?

~~~
phomer
Oddly, good communication is nearly the complete opposite from good code. Your
code should be boring, consistent and obvious. It makes it easier to fix that
way. Writing should vary, be inconsistent, approach things from different
angles, and often be redundant. It needs to be messy enough to keep the human
mind interested; although too many little irritants like spelling and grammar
can be disruptive. Some structure is good, but too much spoils the flow. It's
a balance.

~~~
derefr
Something in my intuition says (though I'm not sure if it's to be trusted),
that if your code has the chance to be any of those things, you aren't writing
it elegantly enough. The best code I've seen reads as a set of _revelations_
(macros) followed by one short, simple bit of glue that feeds library
functions to them. (Of course, those _building_ libraries might think
differently.)

~~~
phomer
The stuff I've always liked is usually really obvious. For example, if it's
complex tree code, you don't have to spend a lot of time digging into the
details; what the code is trying to do is obvious by its steps. Clean, clear,
simple and consistent. Boring is an unfair categorization. I meant it in terms
of not being clever, but it is really an attribute of the observer, not the
code.

The best test I think is in how fast you can make a meaningful change to the
code, without having ever seen it or studied it before. In a practical sense,
that is the only metric that matters anyways. We write this stuff, so we can
maintain it and keep it running. It's not the first version that matters, it's
the whole life span.

~~~
derefr
I think we agree here: you're talking about "complex tree code", which, for
me, is the realm of _libraries_ , not applications. Those are allowed to be
boring (and thus perfect), predictable (and thus with a clean API), and so on.

------
edw519
1 Fabulous Way to Great Programming: Write Code.

Geez, does anyone know the difference between correlation and causation
anymore?

This is just another one of those meaningless, "If a, then b must be true"
posts. "I watch Star Trek, therefore I _must_ be a good programmer."

The only measure of good programming is the code you write and the value it
produces. So stop reading B.S. blogs and go write some code.

~~~
silentbicycle
To write good code, practice every day, forever.

Or: _Never stop learning_.

------
senthil_rajasek
Summary - practice makes perfect. By the author's own admission ... stop
reading articles like these and "Focus" on your coding.

~~~
phomer
(but read my other articles, you know, the longer ones with more detail :-)

------
griffee
FAIL: "their" != "they are"

