Path: utzoo!news-server.csri.toronto.edu!rutgers!tut.cis.ohio-state.edu!zaphod.mps.ohio-state.edu!uakari.primate.wisc.edu!dali.cs.montana.edu!ogicse!pdxgate!parsely!percy!data!kend From: kend@data.UUCP (Ken Dickey) Newsgroups: comp.lang.scheme Subject: Re: Why macros impair readability Message-ID: <454@data.UUCP> Date: 8 Mar 91 16:34:17 GMT References: <9103071300.aa28959@mc.lcs.mit.edu> Organization: Microcosm, Beaverton, OR Lines: 24 CC: lyn@altdorf.ai.mit.EDU In comp.lang.scheme you write: >... I rarely (if ever) hear >programmers complaining that code was hard to read because it >contained procedures, but *do* hear programmers making these kinds >of claims about macros. >- Lyn - ...Probably because more people are given training in what is stylistically appropriate. This is expressed as "the learning curve is steep". Once passed the curve we understand procedures and don't have a problem reasoning about them (much). I feel that the same is true of syntactic transformations. Many (most?) people have not gone through the learning curve and write "half-baked" macro code. This is exacerbated when low-level macro interfaces are used, as the "rewrite rules" are not textually apparent. IMHO this precisely parallels the case of going from a "high-level" language to assembler--it takes a person knowledgeable in representation and call pattern usage to do the appropriate thing. The low-level is harder to understand, harder to debug, etc. -Ken Dickey kend@data.uucp