Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search

[REBOL] Re: Real programmers? or myopic egotists

From: joel:neely:fedex at: 26-May-2001 17:19

Hi, Ken, I enjoy a good ramble on a slow weekend! ;-) Ken Anthony wrote:
> > I think of a router as a very simple thing that takes > > data in and sends it out. Perhaps it more complicated > > than that. -- C.M. > > There's a paradox here. On one hand it shows a person > somewhat out of touch, but on the other hand it shows > someone that better than most understands the power > inherent in fundamental abstractions. >
Or, for another option, it shows someone who is bright enough to see the fundamental abstraction, but out of touch with the world that I live in, where simple sounding ideas get much more complicated when you have to: - optimize like crazy (literally! ;-) because of really extreme performance requirements, - design for extreme fault tolerance/recovery, - interface with other people's stuff, - provide a significant level of dynamic configurability, and - do all of the above at once!
> Another example, printf doesn't seem foundational to me (C > programmers probably think this sounds weird, especially > since it can't be written in C because printf does not have > a fixed number of parameters... >
Not to be picky, but... well, I guess I am. Take a look at the documentation of <stdarg.h> for the discussions of va_list, va_start, va_arg, and va_end (usually implemented as macros, often in a platform/compiler-specific way). printf and sprintf are, in fact, writable in C, using variable argument lists.
> OTOH, datatypes are another way of supplying a refinement > that seems closer to doing things the way they should be > done. It allows the computer to do the housekeeping that > computers are really good at and frees the programmer > to think about the fundamentals of the algorithm they are > writing. >
Excellent summary! I may have to quote you!
> Ok, now on to my fundamental objection to CM's elitist > attitude: Real Programmers Kluge! They patch! They > connect things together that no one had considered putting > together. Real programmers maintain the code that elitist > programmers didn't have time to get right or have to adjust > because the specification changed. >
Perfectionists never release anything, because there's always just one more little tweak . Pragmatists try to ensure that it's "good enough" before release, and then commit to ongoing improvement. Extremists release multiple times per week (or day), because shipping one feature at a time helps keep the crosshairs on the moving target. I'm glad we have all three kinds, or even the freedom to play all three roles at different times. OTOH, slobs compose at the keyboard and put it into production (or the customer's system) immediately, because they don't know any better or don't care. I'm glad that I get publicly embarassed every time I play THAT particular role! -jn- ------------------------------------------------------------ Programming languages: compact, powerful, simple ... Pick any two! joel'dot'neely'at'fedex'dot'com