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