Shub
если б не было нуллов, эти люди бы все равно не вернули бы пустой список. они бы кидали исключения, крешили сервис, че-то еще, но не пустой список
Roman
ну иногда проблема в плохом проектировании, но чаще в том, что сходятся все факторы: мутабельность, имплиситные нуллы и забыли проинициализировать что-то где-то, пушто за всем без помощи компилятора не уследишь
Shub
я видел ребят, которые выбрасывали NPE если значение параметра командной строки им чем-то не нравилось
Aleksandr
ауч
Roman
ну блян, это как бы и так очевидно. Убирание нуллов мозги мудакам не выпрямит
Roman
но нормальным пацанам без нуллов жить станет проще
Shub
ну иногда проблема в плохом проектировании, но чаще в том, что сходятся все факторы: мутабельность, имплиситные нуллы и забыли проинициализировать что-то где-то, пушто за всем без помощи компилятора не уследишь
мне кажется, что упасть один раз из-за NPE потому, что что-то там прохлопал - это не слишком большая проблема, как правило ты фиксишь это один раз и все. а вот если тебе надо относиться к чужому коду как обезьяне с гранатой - то это систематическая проблема.
Shub
но нормальным пацанам без нуллов жить станет проще
в джете была гипотеза, что если триста обезьян посадить за язык без нуллов, то рано или поздно они напишут стабильный е-коммерс
Shub
эксперимент к сожалению не закончили
Крылатый
Roman
мне кажется, что упасть один раз из-за NPE потому, что что-то там прохлопал - это не слишком большая проблема, как правило ты фиксишь это один раз и все. а вот если тебе надо относиться к чужому коду как обезьяне с гранатой - то это систематическая проблема.
когда нуллы, по коду непонятно, опциональное поле или нет. И нулл может выпасть где-то в непредсказуемых ебенях. А у NRE есть еще одна охуенная черта: там сообщение всегда Object reference not set to an instance of object, и ссылочка на строчку. А вы ебитес сами, выясняя, какая перда в этой строке оказалась нуллом и как этот нулл туда пришел
Aleksandr
а кому-то мало нуллов и они хотят андефайнды
Aleksandr
это же three-state
Shub
это кое-что другое, тоже с приставкой three-
Aleksandr
лол
Aleksandr
not three-none
Roman
bool option, хахахах, где теперь твой бог?
ну блян, абсолютно любую идею можно обосрать. Че теперь, ничего даже не пытаться сделать?
Shub
короче, был бы кодерок, а проблемы уже появятся
Roman
собсно в bool option нет ничего особенного, все зависит от контекста использования
Крылатый
А почему 12? Майлз Моралес в 2011 году появился же.
Энивей, это же ультимативная вселенная марвел. Там даже челопук-октавиус есть.
Shub
ну блян, абсолютно любую идею можно обосрать. Че теперь, ничего даже не пытаться сделать?
ну я о другом. вот ты ж например никогда не выкидывал NPE, потому что тебе прислали число, меньше 12?
Roman
короче, был бы кодерок, а проблемы уже появятся
какой вывод-то? Похуй, на чем писать — на ссях или на фшарпе?
Ilya
Энивей, это же ультимативная вселенная марвел. Там даже челопук-октавиус есть.
Да я ж не против. Просто люблю коллекционировать аргументы разных сторон.
Roman
ну я о другом. вот ты ж например никогда не выкидывал NPE, потому что тебе прислали число, меньше 12?
как я уже сказал, такие сценарии обсуждать можно только чтоб поржать и проронить слезу
Ilya
Таких не бывает.
Крылатый
Чуть не тот стикер прислал.
Roman
"нормальному человеку" пропустил
не понял, нормальному человеку похуй на чем писать?
Shub
не понял, нормальному человеку похуй на чем писать?
нормальный человек напишет нормально практически на любом языке
Roman
нормальный человек напишет нормально практически на любом языке
нет. Верно только обратное: ненормальный человек ненормально напишет на любом языке
Roman
А нормальный человек заебется на ссях писать ынтерпрайз, пушто будет развлекаться с сегфолтами и мемори ликами всю дорогу
Roman
пушто за всем даже нормальный не уследит
Shub
А нормальный человек заебется на ссях писать ынтерпрайз, пушто будет развлекаться с сегфолтами и мемори ликами всю дорогу
как человек писавший энтерпрайз на крестах, ответственно заявляю, сегфолтов и ликов было не больше, чем таковых в текущем проекте, а так же в сходных проектах на той же жаве. ты намекаешь, что managed языки не текут и не сегфолтятся, что ли?
Shub
у нас щас ежедневно приходят алерты с ООМ в одном из сервисов (соседняя команда пишет)
Shub
к сожалению, ситуация небанальная, где-то действительно протекает
Shub
ну само собой
Roman
ну и о чем спор тогда?
Hog
Каминауты капитанов очевидностей какие-то
Roman
да ваще
Shub
разговор начался с тезиса "нет нуллов - нет проблем"
Roman
я не знаю, чей это тезис был, но точно не мой
Ayrat
Опять битва двух якодзум
Ayrat
Я вот сегодня на котлине ебашил как проклятый. Местами магия с выводом типов в инлайн функциях
Ayrat
Там ещё всякие фичи с требованием лямбды быть экстеншном типа. Синтаксис местами едрический
Ayrat
Увлекательно в общем
Hog
Пятница ж
Hog
Зачем такой хардкор
Mikhαil
Увлекательно в общем
В хорошем смысле или не очень? (Подозреваю второе)
Roman
Увлекательно в общем
уже сформировалось мнение о языке?
Ayrat
В хорошем смысле или не очень? (Подозреваю второе)
Ну пока в хорошем. Интересные фичи с инлайном / ноуинлайном / кроссинлайном
Ayrat
уже сформировалось мнение о языке?
Ну вот в том стиле, в котором я писал на скале, мне на котлине наверное даже удобнее.
Ayrat
Это не беттер жава далеко если чо
Ayrat
@DogeShibu а ещё котлин лучше типы выводит в лямбдах! Даже подсказок не требует в тех местах где скала пасует
Max xbim 🌴
жалко что там pipe нет, приходится использовать extension methods
Ayrat
жалко что там pipe нет, приходится использовать extension methods
Но зато екстеншны в тыщу раз проще писать чем в той же скале (имплисит классы)
Doge
@DogeShibu а ещё котлин лучше типы выводит в лямбдах! Даже подсказок не требует в тех местах где скала пасует
Смотря что и где делаешь. Но вывод типов в скале - это отдельная история, надо уметь готовить
Doge
Это не беттер жава далеко если чо
Ну не скажи, система типов один в один как в джаве
Doge
Ничего интересного в компайл тайме не сделаешь
Aleksandr
Ayrat
Ну не скажи, система типов один в один как в джаве
Ну не, те же типы в инлайн функциях так же могут статически чекаться. Щас пример не покажу, но там явно бодрее пашет с реифайд типами
Doge
Ну не, те же типы в инлайн функциях так же могут статически чекаться. Щас пример не покажу, но там явно бодрее пашет с реифайд типами
Ну это небольшая часть того, что хочется от системы типов в 2020м. Без тайпклассов очень грустно, без тайплевел вычислений, без дерайвинга и т.д.
Doge
Даже в расте грустновато сейчас, где далеко не всё необходимое нужно, хоть и многое есть
Doge
Мне нормально)
Мне откатываться до рефлексии повсюду не хочется.
Aleksandr
сори за оффтоп. но вот мне просто интересно. а какие у бизнеса есть аргументы в пользу дотнета при живой джаве?
Roman
Ну не скажи, система типов один в один как в джаве
закрытое наследование же есть. Считай ДУ тока вербозные
Doge
закрытое наследование же есть. Считай ДУ тока вербозные
В джаве это будет в одной из ближайших версий
Roman
святые угодники.
Roman
Через спринг надеюсь?
Doge
Через спринг надеюсь?
Примерно как в скале будет
Doge
Только чуть страннее
Roman
кек
Aleksandr
а паттерн матчинг будет?