A revolutionary OS/Programming Idea
Tom Novelli
tom@tunes.org
Wed Oct 8 07:25:02 2003
Alaric Snell writes:
> Yeah, LISP is great - I put this at least partly down to the
> extensibility of a language with uniform syntax. You can write a library
> like CLOS, and the resulting (defclass ...) looks as much a part of the
> language as (defun ...). Which doesn't hold for languages where the
> parser needs to know about the language's feature set!
LISP syntax is designed to suit a computer. People think differently. We
see patterns, but only one screenful at a time. LISP seems like a step back
toward the old COBOL "a plus b gets c" notation. C++ operator overloading
is a decent compromise.. you're stuck with the default operator precedence,
but it's helpful in dealing with vectors, matrices, etc. There's also the
APL/K syntax, which is extremely terse, and you can use all kinds of symbols
since it's strictly right-to-left precedence; and you still have
normal-looking binary arithmetic operators. I haven't tried it yet, but
it's nice to see someone who's thinking about us humans!
> Yeah, I'm a big fan of explicitly defined numeric range types rather
> than just 'implementation dependent integer' like C provides - however,
> I'd rather it was :
>
> Temperature ::= Real(-271.(something),+Inf)
>
> ...then something based around two's complement binary notation.
If I was using PL/I, I'd define "int" as a 32-bit integer unless I was
trying to write highly portable code.. I know it'll work efficiently on my
machine, and there's no sense worrying about precisely how many bits each
variable needs, as long as 32 is enough. I'm not saying C is better than
PL/I.. but it helps to keep programmers from being unrealistic.