On Oct 28, 2011, at 12:50 PM, Fernando Cassia wrote:
> On Fri, Oct 28, 2011 at 00:38, <brandelune at gmail.com> wrote:
>
>> Why is that more "pure genius" than "code is data" ?
>
> because it can quickly degenerate into difficult to understand code (by
> programmers other than the one who created it)?
No, actually that has nothing to do with it. "code is data" means that the syntax is reduced to a minimum and that it is _natural_ (not just possible) in the language to generate code from the code itself. Besides, any code written in any language, if not properly documented, is hard to read, even by the original coder.
I really suggest you read Ansi Common Lisp by Graham. It _almost_ reads like poetry. Or rather, it manages to show you possibilities that you could never find in any other computer book. Is that related to Graham's writing or to the power of the language he tries to describe ? I'd argue for the later.
> Lisp "hard to read"
> 1.5 million results
>
> NetRexx "Hard to read"
> 430 results.
>
> I rest my case.
Sure, Lisp is more than 50 years old and has been extensively used by millions of people all over the world. The first time I heard about NetRexx is in this thread.
Now, I'm back to Ravi's mention of middle school.
If in middle schools, pupils were taught powerful concepts with tools that enabled their easy manipulation then we wouldn't have that discussion. There has been a lot of experiments in the education field to see what kids can understand (see Alan Kay) and the result is that if the data is properly presented it is surprising to see the complexity they are able to grasp.
Math is more than just learn to crunch numbers in an imperative way, really. And I'm not even sure the brain is better suited to imperative programming/thinking/processing. I'd argue that's quite the opposite in fact.
And what is true for math is true for economics and sociology etc. There are plenty of fields where students are not made to understand the mechanisms at stake but rather to rehash "intuitive" preconceptions.
JC