Richard P. Gabriel is a LISP hacker turned poet, musician, philosopher, and je ne sais quois. Along the way he's written a chaotic but intriguing mass of thoughtful commentary, tossed together in a hard-to-browse but worth-some-effort domain he calls "Dreamsongs" . Among the shorter essays is RPG's Writing Broadside, a scolding directed at scientists and engineers who aren't willing to work at learning how to communicate better. I particularly salute Gabriel's advice:
"Read poetry. Nothing teaches you better the power of good writing and the skills to write compressed sentences."
Also fascinating is RPG's autobiography, a comediotragic recounting of mistakes and recoveries. And on the linguistic-technical side my eye was caught by Gabriel's observation that a programming language with fewer but more powerful constructs can, in the limit, become extraordinarily dangerous. In the chapter "Language Size" of Patterns of Software (Part II) RPG remarks:
The problem with this approach, as Scheme itself demonstrates, is that one can fall into the trap of adding a feature that, because of its power, indeed reduces the number of features but is so powerful that it cannot be used safely and programs written using it are incomprehensible. I refer, of course, to call-with-current-continuation, which essentially eliminates the possibility of knowing how many times a statement is executed unless all the code in the program is available for inspection. In the presence of side-effects (which Scheme has) this can be a disaster.
True enough --- but contrariwise, subtle-sharp instruments in the hands of a grandmaster can produce miracles. The trick is to know one's own limitations before attempting to wield such artifacts of power ...
(Many thanks to "Pascal" (you know who you are!) for pointing me toward Dreamsongs in a comment on PoeticCompression (27 Jan 2003). See also OnFailure (13 Jul 1999), PartingAdvice (21 Jun 2002), MysteryToMe (30 May 2003), WorseIsBetter (23 Dec 2003), ... )