Re: C# 8 и null-допустимость - ошибка на миллиард
От: VladD2 Российская Империя www.nemerle.org
Дата: 16.05.20 17:40
Оценка:
Здравствуйте, Shmj, Вы писали:

S>https://m.habr.com/ru/company/piter/blog/501520/

S>Пишут что сглупили, теперь хотят все исправить. Ваше мнение?

Решение правильное. Чем больше проект тем полезнее будет эта фича. Ведь в больших проектах обычный коммит (пул-реквест) может идти пол дня, день. И если даже все покрыто тестами, время сэкономленное компилятором будет существенным. А вот реализация, похоже, будет на троечку.

Кроме контроля нулабельности нужно еще продвигать идею ML-я — все (ну, насколько это возможно) значения должны быть инициализированными. А Шарп с его мюьтабельностью по умолчанию и разными инициализаторами (подвигающими не писать конструкторы) плохо для этого приспособлен. Плюс наличие массивов в которых принципиально будут null — это не комильфо.

Плюс для реализации контроля нужен не хилый анализ, который МС, похоже, пока не осилил.

Еще одна проблема оператор "уверен, что не null". Боюсь его будут совать всюду без разбора и это все испортит.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: C# 8 и null-допустимость - ошибка на миллиард
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 16.05.20 17:49
Оценка:
Здравствуйте, VladD2, Вы писали:


VD>Кроме контроля нулабельности нужно еще продвигать идею ML-я — все (ну, насколько это возможно) значения должны быть инициализированными. А Шарп с его мюьтабельностью по умолчанию и разными инициализаторами (подвигающими не писать конструкторы) плохо для этого приспособлен. Плюс наличие массивов в которых принципиально будут null — это не комильфо.


Ну массивы особо и не нужны достаточно List<string> и Span<string>. Добавлять в лист можешь только NotNull
VD>Плюс для реализации контроля нужен не хилый анализ, который МС, похоже, пока не осилил.

VD>Еще одна проблема оператор "уверен, что не null". Боюсь его будут совать всюду без разбора и это все испортит.


Ну оператор нужен что бы предупреждения не выдавать, а инициализировать должен в конструкторе. Ну и чем дольше будут пользоваться еще чего нибудь придумают
и солнце б утром не вставало, когда бы не было меня
Re[3]: C# 8 и null-допустимость - ошибка на миллиард
От: VladD2 Российская Империя www.nemerle.org
Дата: 16.05.20 17:52
Оценка:
Здравствуйте, karbofos42, Вы писали:

K>А в плюсах вполне себе используют указатели и ссылки и не слышал, чтобы кто-то говорил, что ссылки не нужны и из-за них появляются трудноуловимые ошибки.


Ты поди и про оверквотинг не слышал.

А так правильно, потому как ошибки скорее из-за указателей.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: C# 8 и null-допустимость - ошибка на миллиард
От: student__  
Дата: 17.05.20 10:31
Оценка: -1
Так просто C# говно-язык. Нормальный язык недопускает null reference, by construction.
Re[2]: C# 8 и null-допустимость - ошибка на миллиард
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 17.05.20 10:53
Оценка:
Здравствуйте, student__, Вы писали:

__>Так просто C# говно-язык. Нормальный язык недопускает null reference, by construction.

Огласи такие языки
и солнце б утром не вставало, когда бы не было меня
Re[2]: C# 8 и null-допустимость - ошибка на миллиард
От: Shmj Ниоткуда  
Дата: 17.05.20 10:58
Оценка:
Здравствуйте, student__, Вы писали:

__>Так просто C# говно-язык. Нормальный язык недопускает null reference, by construction.


Это вы про Haskell?
Re[2]: C# 8 и null-допустимость - ошибка на миллиард
От: Sharov Россия  
Дата: 17.05.20 11:25
Оценка:
Здравствуйте, Kolesiki, Вы писали:

K>Кто именно сглупил и что исправляют??


Tony Hoare.
Кодом людям нужно помогать!
Re[3]: C# 8 и null-допустимость - ошибка на миллиард
От: student__  
Дата: 17.05.20 13:37
Оценка:
Здравствуйте, Serginio1, Вы писали:

__>>Так просто C# говно-язык. Нормальный язык недопускает null reference, by construction.

S>Огласи такие языки

Rust же! Его safe подмножество.
Re[4]: C# 8 и null-допустимость - ошибка на миллиард
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 17.05.20 14:17
Оценка:
Здравствуйте, student__, Вы писали:

__>Здравствуйте, Serginio1, Вы писали:


__>>>Так просто C# говно-язык. Нормальный язык недопускает null reference, by construction.

S>>Огласи такие языки

__>Rust же! Его safe подмножество.

Ну вот в C# тоже сейчас есть NotNull подмножество

http://rustbook.ru/ch19-01-unsafe-rust.html
и солнце б утром не вставало, когда бы не было меня
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.