In any discipline, proficiency begins as a very goal-oriented skills-aquisition process: This tactic lets me win a pawn, that color selection gives a visual impression of distance, and so forth.
With time, the skills become second-nature, the low-level goals develop into an esthetic of economy, and the simple search for sufficiency grows into a quest for beauty.
Perhaps the clearest and most consistent distinction to be found between the proficient and the master lies in the motivations they cite when asked to explain their work: The proficient will cite simple utilitarian goals, the master will almost invariably cite intangibles like beauty and elegance. The master is not content to build the box or win the game: It must be beautifully wrought, beautifully won.
To the master programmer, badly written code is more than just time-consuming to work with: It is actively and intensely unpleasant to encounter, as much so as fingernails on a chalkboard.
Programming is a young discipline, brash and curious: As yet, we are frequently satisfied with code that merely -- often -- functions. I have yet to see a truly beautiful program; I think that today's programming languages militate against their construction. Muf, with its syntactic economy and flexibility, is perhaps one of the languages least unsuited to the construction of beauty.
Mathematics has Euclid, English has Shakespeare; Programming awaits the person who will lift it from a craft to an art.
Go to the first, previous, next, last section, table of contents.