IOC is inside Clang-head

SomeDude lovelydear at mailmetrash.com
Sun Feb 3 00:32:08 PST 2013


On Wednesday, 30 January 2013 at 09:01:53 UTC, Paulo Pinto wrote:
> On Tuesday, 29 January 2013 at 21:26:11 UTC, Walter Bright 
> wrote:
>> On 1/29/2013 1:15 PM, David Nadlinger wrote:
>>> On Tuesday, 29 January 2013 at 19:21:34 UTC, Walter Bright 
>>> wrote:
>>>> One real issue is order of evaluation bugs, but I didn't see 
>>>> a note about that
>>>> in the Clang list.
>>>
>>> Why would you need runtime checking for that?
>>
>> I didn't say you did!
>>
>>
>>> Besides the AddressSanatizer and MemorySanatizer features 
>>> which are obviously
>>> real-world oriented (cf. Valgrind), I also find quite a few 
>>> of the ubsan
>>> features to be actually useful in practice - integer overflow 
>>> detection is only
>>> a small part of it.
>>
>> valgrind is immensely useful for C, but a lot less so for D as 
>> D guarantees initialization and a GC takes care of much of the 
>> rest.
>
> Many have jokes about Java being a language that requires an 
> IDE to be usable.
>
> Usually I joke that C is a language for tool vendors. How many 
> vendors can take their business to C undefined behaviors and 
> pointer abuse.
>
> No one on their senses does use C today without an endless list 
> of tools that validate their code is not going to explode.
>
> --
> Paulo

My wishlist for a real revision of C would be:
- removes anachronisms like those discussed in this thread,
- add slightly better safety in the use of const (like in C++),
- add C++ style referencess,
- and finally add alternative to includes and the preprocessor by 
the use of modules.

And nothing more.

Oh, and provide a better/safer standard library:
- add {sz, char *} strings to null terminated strings,
- add standard structures like vectors, linked list, hashmap, etc,
- add abstractions for multithreading

Such a revised C could be backward compatible with standard C 
(with the restriction of said anachronisms) and show exactly the 
same performance characteristics, while being much more clean.

AFAIK, there exists at least one attempt at a compiler which 
replaces includes by modules.


More information about the Digitalmars-d mailing list