"Great Programmer" (was: maths for programming C++)




"August Karlstrom" <fusionfive@xxxxxxxxx> wrote:

And how would you define a great programmer?

Personally, I'd say "Great programmer", as opposed to someone who is
merely "good", is someone who writes programs having the following
attributes:

1. Modular!!!!! This is the most important of all. Try struggling
through some dork's spagetti code for a while, and you'll find
yourself agreeing. Whether OOP or procedural, it's got to be
modular, with each module small and having a single well-defined
duty. Otherwise, you have a @#$%@#$% mess on your hands.
2. Understandable! The code has relatively few comments, but gets
away with that, because it needs few: its meaning is crystal
clear. Sadly, few programmers actually program like this. The
meaning is usually FAR from "crystal clear".
3. Reusable! Most of the code that gets reused is in library files,
whether they be source-code files that get linked-in, or *.a
files, or *.dll files. The prototypes for all this reusable code
(classes, functions, etc) are in headers named and categoriezed
after the kinds of things these code tidbits are doing. This
gives a maintainance programmer a rich toolkit to work with.
(Whereas bad programmers just cut-n-paste endlessly, creating
code-bloat and destroying extensibility.)
4. Extensible! Easy to alter features or add new features, because
the programs were written with the future in mind. (This tends
to follow from 1,2,3 above.)
5. Testable! Easy to create unit tests for. This will follow
from 1 and 2 above. (Unlike the program I'm maintaining at
work, which is huge, entangled, has no tests, and has no way
to add tests. Yet.)
6. Almost incidentally, correct. This is the least important,
because a truly "Great" programmer will make code that's
easy to test, debug, correct, extend, and improve. I'd
rather work with a freshly-brewed untested program from a
great programmer, with lots of bugs, than a program from a
bad programmer with fewer, but much more deeply embedded
bugs.

This has been one programmer's opinion. For what it's worth.

--
Cheers,
Robbie Hatley
East Tustin, CA, USA
lone wolf intj at pac bell dot net
(put "[usenet]" in subject to bypass spam filter)
home dot pac bell dot net slant earnur slant


.



Relevant Pages