

The Greatest Invention in Computer Science - bdfh42
http://www.codinghorror.com/blog/archives/001129.html

======
mynameishere
"Routine" as he means it is a control structure with an implicit stack with a
memory range associated with each JMP. (That is foo(int x) has four bytes on
the stack devoted to x). If a language has no routines, they can be faked out
if you can make a stack data structure, which would be a little difficult in
basic, having no pointers or references. Hence, I'd say pointers are somewhat
more "great".

------
ratsbane
Instead of "routines" why not just say "functions" - which then opens another
can of worms because functions were studied long before they were ever used in
programming.

~~~
michael_dorfman
Perhaps-- but we need to be able to make a distinction between a mathematical
function and the procedure which implements it.

------
michael_dorfman
...and here I was, guessing "recursion".

------
mxh
Ok, I guess I'm officially grumpy.

"The routines in your code should be treated like tiny, highly polished
diamonds, each one more exquisitely polished and finely cut than the next."

This makes no sense. _Each_ routine can't be _more_ exquisitely polished than
the others. And if you try to make it make sense by interpreting 'next'
strictly, to mean 'next in sequence', then it means your functions should get
worse as development proceeds. Even if you replace 'next' with 'last', to try
to turn it into a semi-coherent statement ("Each routine you write should be
the best routine you've ever written") it's still bad advice: You should spend
your time on the important questions, and not every function is equally
important.

------
thedob
Interesting choice with the routine. I'd argue for the CMOS, without which
none of this would be possible...but let me know if that's too much on the EE
side to fit the title.

------
gills
Backspace.

