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