C, please die, and take Go with you - Re: Fwd: is there any word processing software for the pdp11?
cisin at xenosoft.com
Thu Dec 4 11:52:42 CST 2014
On 12/3/2014 1:30 PM, Eric Smith wrote:
> C is a chainsaw that is not supplied with any of the safety features of
> a normal chainsaw. It is a chainsaw that would be unlawful to
> sell in the US.
It is rare that I disagree with Eric.
Yes, C is a chainsaw. I can accept that metaphor.
Yes, many people use it inappropriately,
Yes, many of those people shouldn't be using it at all.
Yes, chainsaws are dangerous. So are motorcycles.
Some people ride motorcycles inappropriately, and indeed, some shouldn't
even consider one. Some ride motorcycles for the wrong reasons, such as
inability to afford a car.
But consider the Joan Claybrook attempt at guvmint intervention, with her
NHTSA attempts to design a "safer motorcycle". C lets you put in
safeguards where you consider them necessary, and leave them out when
they are unnecessary and an inordinate hindrance. Unfortunately, many
programmers are not responsible in making that decision.
Is C more dangerous than Assembly?
C was the first "high level" language that I used that was easy to shove
out of the way when it was desirable to get access to the hardware. I'm
not willing to give that up.
A re-write of XenoCopy was the first program that I wrote in C. It shows.
I wish that I were to have the time and energy to go back and rewrite it
properly, using what I have learned since then.
I wish that I were to have been more successful in teaching my students to
program carefully and safely. Bounds checking. But, even such simple
basics as being more careful and remembering that integer division
truncates, that floating points are approximations and an equality
comparison needs to be replaced by checking whether it is "close enough",
If I were to write XenoCopy again, I would still do it in C. The Sales
Tax Genie TSR would still be in assembly. BUT, the next iterations would
be less buggy.
Grumpy Ol' Fred cisin at xenosoft.com
More information about the cctalk