4 ms·
The average high-school girl might not be able to instantly see the elegance of the idea that functions, programs, data structures, numbers, etc. are all interc
by WilliamLP 17y ago
The average high-school girl might not be able to instantly see the elegance of the idea that functions, programs, data structures, numbers, etc. are all interchangeable and that it all can be represented recursively with lists all the way down. (High school girls who have read Hofstadter, maybe.)
They might be able to understand "later, rinse, repeat", or making a cake by making three layers, and then making the frosting, where each becomes a separate modular and reusable problem.
- jcl 17y agoHis point isn't that Scheme's syntax is elegant, but that the syntax is simple. There's no need to worry about the precedence of operators, or indentation, or why you use one character to separate function parameters and variable declarations, but you use another character to separate the arguments of a "for" statement, which happens to be the same character you need to use at the end of statements (but as a terminator, not a separator), but don't forget that control structures are not separate statements even though they're on separate lines, etc. Each of these points is an obstacle between the beginning programmer's intent and a running program. Scheme's almost total lack of syntax gets a beginning programmer started quicker.
- WilliamLP 17y agoThat might seem simpler to you, but you have the kind of mind I was talking about:) To the average person, to make a toy car, it's straightforward to take a box, put on two axles, then put on two wheels. You could do all that with just toothpicks, but it's not really simpler in practice.