I've heard that justification many times, but I think it's 200%
specious.
1) How often is a compiler for language X written?
2) How often is source code written in language X?
3) How often is that source code in language X read/modified?
If you compare those numbers you'll realize that optimizing for case 1
at the expense of cases 2 & 3 is just plain stupid.
You are right here. OTOH, a parser or even a compiler are just nice
examples of non-trivial code. IMHO, the more non-trivial task one is
trying to perform with a language, the more one appreciates language
features that seem nonsense for less trivial programs. While in theory one
can do the same job with a shovel and an excavator, in practice one should
use the right tool depending on the job. Trying to get a car from a
snowdrift with excavator requires a lot of attention and caution. It is
easy (even if tiring) task for a man with a shovel. So one could
extrapolate from this, that using excavator is ridiculous compared to
using shovel. However, building dams or digging mile-long trenches with a
shovel is not only ridicule but a sign of bad planning or desperation. And
maybe even an incompetence.
Now, how often they are building dams, trenches and other nontrivial
constructions? I would hypothesise that in a society well developed, this
happens quite often. Maybe even once every two days.
The truth is, once you have an excavator, you don't shy away from using
it and you more often than not are open for doing non-trivial assignments.
Perhaps there is
somebody on the planet who finds Lisp as easy to read/modify as
Python, but I've never met him/her and never have you...
Here you are wrong. I meet the guy every day in a mirror. Now you have met
him, too.
I doubt, however, that I am so extraordinary as to be just one on the
whole planet.
Optimizing a language for the ease of the compiler writer is like
saying, sure, that car is expensive to buy, expensive to run, doesn't
work well, and tends to kill a lot of people, but it took less time to
design!
I guess every compiled language designed so far has been somewhat
optimised for compilation by it's designers.
If you say that some language, like Common Lisp, had been optimised for
compiler at the expense of human programmer, I disagree. I find programing
in CL to be nice experience, maybe even a refreshing one. From what I have
read about Lisp history so far, your claims don't match the facts (at
least facts as I know them).
True, it requires some learning. AFAIK, nobody has to learn, so it is
purely voluntary effort.
Regards,
Tomasz Rola
--
** A C programmer asked whether computer had Buddha's nature. **
** As the answer, master did "rm -rif" on the programmer's home **
** directory. And then the C programmer became enlightened... **
** **
** Tomasz Rola mailto:
[email protected] **