Суть проблемы как раз в том что это касается всех типов. Вот касательно математики - представьте что у вас в формуле "y=x*2" сам x может быть числом, а может не быть вообще - как это обрабатывать? Математика, как в итоге и языки программирования, пришли к мнению что нужен отдельный "тип" - как раз пустое множество. Нул в правильной обработке в общем похож. Так что проблема не в нул как таковом, а скорее в том как это было реализовано до Null-Safety - вообще не по-математичному (если так фамильярно это можно упростить конечно)
Не хабровская статья, ну видно же что писалось для продажи клиенту своей экспертизы. Молодцы, подход с выделением отдельного комитета при таком-то опыте отличная и вполне логичная мера. Но в статье хотелось бы больше подробностей технических, а не рекламных, про процессы, взаимодействие, подходы и решения.
Мне, как iOS-нику со стажем, тоже такой подход кажется очевиднее — без магии. Но почему именно так у них работает я попытался разобраться вот в этом докладе youtu.be/LxMXFhw0-ms
Почему не сделали сразу — наверно потому же, почему в автомобилях ремни безопасности обязали использовать только после 1957-го года (судя по википедии), пришло осознание необходимости видимо ;)
Я все таки склонен считать такое костылем, если приведете пример, где это действительно оправдано — можем подискутировать с удовольствием. В Swift это было оправдано в первую очередь тем что все строилось на основе библиотек написанных на Objective-C и переписывать их все было бы очень долго и затратно. Тут же такого легаси пытаются избежать — и правильно делают как по мне. Хотя частично похожего поведения как Type! можно добиться через late
Хорошая статья, только сумбурная немного. Некоторые моменты если б не знал заранее из статьи бы точно не понял. Яркий пример это объяснение множественного наследования. Примеры кода до и после слов «Но если использовать переменную...» не содержат реализацию extension для протокола, из-за чего полностью теряют смысл
"В Android блокируют установку приложений из сторонних источников" - классический пример старого мема "Ученый изн@силовал журналиста"
Спасибо от "разработчиков мобильных приложений из Ульяновска", сайт поправили
Суть проблемы как раз в том что это касается всех типов. Вот касательно математики - представьте что у вас в формуле "y=x*2" сам x может быть числом, а может не быть вообще - как это обрабатывать? Математика, как в итоге и языки программирования, пришли к мнению что нужен отдельный "тип" - как раз пустое множество. Нул в правильной обработке в общем похож. Так что проблема не в нул как таковом, а скорее в том как это было реализовано до Null-Safety - вообще не по-математичному (если так фамильярно это можно упростить конечно)
Хорошо бы еще не путать понятия DI и паттерн Service Locator (который на самом деле используется в данном примере)
Сейчас еще в самом видео добавлю
Почему не сделали сразу — наверно потому же, почему в автомобилях ремни безопасности обязали использовать только после 1957-го года (судя по википедии), пришло осознание необходимости видимо ;)