NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.
All the Perl that's Practical to Extract and Report
Stories, comments, journals, and other submissions on use Perl; are Copyright 1998-2006, their respective owners.
Ideal point between "verbose" and "cryptic"? (Score:1)
More recent papers have the same kind of purely mathematical language, formulating everything in terms of sets, using single uppercase letters for set names and single lowercase letters for variables. Anybody who programs that way is scolded by the community for producing unreadable and unmaintainable code. Yet academic papers, which have much more respect than programmers, continue to use this cryptic notation.
Ironically, this reminds me of all those critics who dismiss Perl as "line noise." ;^) Many of us dismiss that criticism as knee-jerk and ignorant, but I think it brings up serious questions: For a given audience, is there an ideal point between verbosity and cryptic, completely symbolic notation? If so, how do we find that point? I'd love to know @Larry's answers to those questions for Perl6.
Here are some of my thoughts.
Possibly due to my humble BS in Mathematics, I've never been scared by Perl's sigils and heavy use of symbolic operators, and often prefer such syntax. I often ask, would you really rather have this
two plus two equals fourthan this
2 + 2 = 4?Sometimes I suspect the "line noise" critics secretly want to make all languages look like COBOL. We often complain about not wanting to type such verbose code, but I often don't want to read it, either. In the above case I actually find the symbolic notation easier to read and understand.
I first started thinking about this when comparing modern re-statements of Euclid's proof of the inifitude of primes, like this one
to Euclid's original, much more verbose version [clarku.edu]. What this example also shows is that sometimes symbolic notation may help us to understand and/or express ideas that would be extremely difficult to handle otherwise:
OTOH, these statements provoke opposing thoughts:
It's because of this mathematical-notative culture that Haskell uses all the cutting-edge research and the dynamic languages are stuck re-inventing Smalltalk. It's not that the new research is so hard to implement, it's that it's documented incomprehensibly. PhDs in Haskell read papers and write the algorithms they describe just like everybody else, but they're trained in reading this dense academic language.
And of course, when I eventually do my dissertation, if I don't write this way my dissertation will be rejected and I won't get my degree.
Despite what the "experts" may say, I often doubt that all the abstractions, symbolic and otherwise, in certain fields serve any useful purpose. I suspect some of them serve only as a high barrier to entry, keeping the wealthy and powerful free to pursue leisurely lives of intellectual musings, safe from competition from the rabble outside their gated, master-planned communities.
1. http://www-users.cs.york.ac.uk/~susan/cyc/p/primeprf.htm [york.ac.uk]
2. http://primes.utm.edu/notes/proofs/infinite/euclids.html [utm.edu]
Reply to This