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

[REBOL] Re: Philosophical (was "UnRebolish") commentary

From: joel:neely:fedex at: 26-Sep-2000 8:15

> [webdev--accglobal--net] wrote: > ... Do not > attempt to do anything more serious than a napkin sketch of this > method without the supervision of an adult or perhaps an attending > physician unless you wish to go numerically mad with something akin to > a division by zero. >
> Thanks for the feedback, ... >
Thanks for the question!
> it was most enlightening and informative. >
... and fun! AFAIAC, it provided a welcome break from a very frustrating network infrastructure problem. Also, by concidence, it arrived the same day I found the following link: to a page bearing the title In Pursuit of Simplicity the manuscripts of Edsger W. Dijkstra [If you don't want to bother with reading the remainder of this note, please feel free to skip it. But PLEASE don't skip the opportunity to look through the collection of papers under the above page!] For those who've had the pleasure of reading his EWD series, this site is a MAJOR treat. Dijkstra is a world-class thinker and writer in computing science whose entire career is been marked by the pursuit of simplicity and elegance in the description and design of algorithms and proofs. Although his writings are off the beaten track, and though he uses his own notation for some things, and though he can be very intellectually demanding (all of which remind me of REBOL), almost everything he has written has hidden rewards to the reader who is patient enough to work through it. His contributions to programming include such crown jewels as: * invention of the "semaphore", now widely used as a means of synchronizing concurrent threads/processes, * the eponymous algorithm for finding the shortest path between two points in a graph, * the first clear description of using a stack to support procedure scoping/entry/exit (created during early implementation efforts for Algol 60!), * a lovely, minimalist, nondeterministic programming notation used for the design and proof of programs (a small part of which I implemented in REBOL a few months back with great assistance from the members of this list -- the EWD/if and EWD/do selection and iteration structures). He is probably best known to the larger programming community as the author of the letter published under the title, go to Considered Harmful in the Communications of the ACM, which (for good or ill) is usually credited as the spark that ignited the "structured programming" movement (although he should not be blamed for all of the things that have been done under the cover of that banner!) His career-long pursuit of beauty as a prime criterion of quality in programming strikes me as wholly aligned with what I perceive as "the spirit of REBOL" (and I'm not saying that just to achieve ob-REBOL-relevance ;-) In particular, let me recommend that you give a close (and patient! ;-) reading to which -- although written in 1961 (!) -- states forcefully that it is the responsibility of a programming language to assist the programmer in clearly stating reliable algorithms, and that this responsibility is more fundamental than simply minimizing CPU cycles or memory bytes. [Over-simplified araphrase, and any errors therein, are my fault.] Dijkstra's forceful, uncomprimising, artistic personality and attitude appear almost quixotic (in the fullest sense! ;-), especially when he tackles none-too-subtly the behavior of IBM (the Microsoft of the 60s and 70s). His article entitled, How do we tell truths that might hurt? , available at (from 1975) is a collection of pointed sayings including: "The problems of business administration in general and data base management in particular are much too difficult for people that think in IBMerese, com- pounded with sloppy English." "Many companies that have made themselves dependent on IBM-equipment (and in doing so have sold their soul to the devil) will collapse under the sheer weight of the unmastered complexity of their data processing systems." and (the last quotation -- I promise!) one that deserves to be tatooed on the forehead of every programmer (and inside the eyelids of every programming language designer!) "The tools we use have a profound (and devious!) influence on our thinking habits, and, therefore, on our thinking abilities." The experience of over 25 years' of exposure to Dijkstra's ideas is one of the most fundamental reasons why I appreciate REBOL as much as I do -- and probably also why I sometimes come off as such a curmudgeon! I'd be flattered if either caused someone to think of Edsger! -jn-