Re[2]: Billion-dollar mistake
От: Кодёнок  
Дата: 14.12.09 07:22
Оценка: +2 -1 :)
Здравствуйте, ole!, Вы писали:

S>>Но нужно быть по-настоящему великим, чтобы признавать такие ошибки.


O>нужно быть по-настоящему великим, чтобы их не делать изначально!

O>предложите альтернативу nullptr

data Maybe a = Nothing | Just a

для программеров на c++/c#:
struct Maybe<A> {};
struct Nothing<A> : Maybe<A> {};
struct Just<A> { A value; };

void fun(Maybe<A> x)
{
    print(x.value); // type ERROR

    if (x is Just<A>)
        print( (Just<A>)x.value ); // OK
}


С помощью правильной системы типов можно вынудить программеров писать проверки на null в 100% случаев, потому что иначе оно не будет компилироваться.

Сколько в процессе разработки/поддержки возникает Access violation at (0x00000000/0x00000004/0x00000008), Null pointer exception, и т.д. и т.п.? Их могло не быть.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.