What is Expressiveness in a Computer Language
Anton van Straaten
anton at appsolutions.com
Mon Jun 26 02:34:15 EDT 2006
John Thingstad wrote:
> On Sun, 25 Jun 2006 20:11:22 +0200, Anton van Straaten
> <anton at appsolutions.com> wrote:
>
>> rossberg at ps.uni-sb.de wrote:
...
>>> \sarcasm One step further, and somebody starts calling C a "latently
>>> memory-safe language", because a real programmer "knows" that his code
>>> is in a safe subset... And where he is wrong, dynamic memory page
>>> protection checks will guide him.
>>
>>
>> That's a pretty apt comparison, and it probably explains how it is
>> that the software we all use, which relies so heavily on C, works as
>> well as it does.
>>
>> But the comparison critiques the practice of operating without static
>> guarantees, it's not a critique of the terminology.
>>
>> Anton
>
>
> Actually I have never developed a C/C++ program
> without a bounds checker the last 15 years.
> It checks all memory references and on program shutdown
> checks for memory leaks. What is it about you guys that make you blind
> to these fact's.
You misunderstand -- for the purposes of the above comparison, a bounds
checker serves essentially the same purpose as "dynamic memory page
protection checks". The point is that it happens dynamically, i.e. at
runtime, and that there's a lack of static guarantees about memory
safety in C or C++. That's why, as I said, the comparison to latent vs.
static typing is an apt one.
Anton
More information about the Python-list
mailing list