On 03/01/12 12:27 PM, Mouse wrote:
Since
modelling and abstraction are far more important parts of
"programming" than syntax, BASIC fails completely:
[...]
- numbers, strings, fixed length arrays? that's it? How do I build
anything else? Oh right. I can't.
If you think you can't, you need to learn to program. Just because the
language doesn't help you do something doesn't mean it can't be done.
I have
only read a tiny little bit about Scheme but it is virtually
impenetrable to me - and I have years of programming experiences,
And that is
EXACTLY what Dijkstra was on about.
The conclusion YOU come to is that Scheme
isn't relevant to
programming. [...]
I didn't write the double-quoted text above. But the conclusion _I_
come to is that Scheme is not suitable for a beginner. (Well, most
beginners.)
But in fact the opposite is true: A good part of
what you have been
indoctrinated with, from BASIC onwards, *obscures* what is really
going on when you program.
Sounds as though you've been so indoctrinated that you think it can't
be programming if it isn't...I don't know, written in a Lisp dialect?
Functional? Full of parentheses?
I expected to hear this eventually. How about "no". The syntax of Lisp
is as irrelevant as the syntax of any other language. But the
abstractions matter. And they're not illuminated by BASIC.
I notice that many working programmers have a great deal of trouble with
declarative languages of all kinds (e.g. stuff that doesn't look like
lists of instructions). I wonder why that is.
Nobody really knows what is going on when someone programs; the process
of converting a problem to a program to solve it is a very difficult
one to understand, like most creative processes. To presume that _you_
know better than _someone else_ what is going on when that someone else
programs is...ludicrous. Not to mention jaw-droppingly arrogant.
Programs are not "sequences of
instructions" except at the absolute
bottom-most level.
I've got news for you: programs in most language inherently are
sequences of instructions at more than just the machine-code level.
"Most languages".
Not all problems (and languages) are sequential. We seem to agree.
--T
We do not need *another* generation of
programmers for whom recursion
and higher-order functions are alien concepts.
You appear to think recursion and higher-order functions are somehow
not sequences of instructions. If so, I think you're wrong.
"(apply fn args)" is just as much an "instruction" as "a[i] =
0;" is.
/~\ The ASCII Mouse
\ / Ribbon Campaign
X Against HTML mouse at
rodents-montreal.org
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B