Dr. Friedrich
нахуя тебе 32 ГБ чтоб джаву гонять??????
Жава, если что, по дефолту умеет масштабироваться примерно по 4 процесса на железку. На сколь угодно крутую, всё равно не больше четырёх.
Aleksandr
Oracle говорит, что жава не нужна
Dr. Friedrich
Oracle говорит, что жава не нужна
Оракл жава действительно не нужна. Вот прям вообще.
Dr. Friedrich
От баджика "Оракл" на ней много вреда и никакой пользы.
Pavel
жава вообще не нужна. она только отрасль убивает
Pavel
https://www.xda-developers.com/android-go-edition-requirement-new-low-ram-devices/
Dr. Friedrich
Dr. Friedrich
Мобильное программирование погружается в бездны деградантства :(
Pavel
не на го. суть в том что если на мобиле менее 3 гиг то новый полный андроид там не зведется а только какаято компакт эдишн версия
Pavel
т.е. эта херня разраслась настолько что переплюнула вынь10 в прожорливости
Anatoly
Хром, докер, райдер, всё, памяти нет
Anatoly
А ты даже первый контейнер не запустил
Андрей
8 гигабайт на маке не хватало даже в 2015
да? а мне чёт до сих пор хватает, фирефокс, докер, райдер. диска только маловато зажопил в своё время
Anonymous
Хром, докер, райдер, всё, памяти нет
Так не до конца понятно, зачем ты докер в памяти своего компьютера держишь, когда как раз для этого on demand и хорош.
Vladislav
на маке не хватает райдера у которого ланг сервер не зависает насмерть
Vladislav
https://twitter.com/javagrifter/status/1288260524694806528?s=21
x
всё же настаивают на своём
Aleksandr
Ну с явными nullable-ref типами оно действительно превращается в option
Aleksandr
Так какая разница?
Anatoly
Так какая разница?
Нулл не типизированный
Anatoly
Так что не превращается
x
это просто варнинги от компилера
Aleksandr
Нулл не типизированный
А какие с этим могут быть проблемы? Главное же, чтоб переменные имели тип
Aleksandr
это просто варнинги от компилера
Ну это проблема реализации, да. Идейно, я никакой разницы не вижу
Aleksandr
То есть, я бы не стал городить опшнал поверх этих типов
x
То есть, я бы не стал городить опшнал поверх этих типов
была где-то хорошая статья на эту тему, что если у тебя опшеналы появляются в мемберах типа, то ты делаешь что-то не так. А в параметрах функции почему бы и нет
Doge
Ну с явными nullable-ref типами оно действительно превращается в option
Большая разница, нуллябельность не композируется толком и от неё не реально нормальным образом абстрагироваться.
Aleksandr
Литерал null можно сунуть куда угодно
Литерал None тоже можно сунуть куда угодно
Дмитрий
Так какая разница?
1. нельзя сделать option<option<T>> (легко получаемая ситуация при вычислениях внутри опшонов) 2. null не несет никакой информации о типе 3. в случае конкретно шарпа у тебя аж два типа нуллабельности, один другого хуже, друг с другом совместимы посредственно 4. везде, где они есть, подразумеваются как значение для дефолтной инициализации - привет опечатки и протекающие нуллы в ненуллабельную часть 5. лишний элемент языка просто потому что можно было бы тогда, например, Result так же в язык вкорячить, или еще что-нибудь
Aleksandr
Литерал None тоже можно сунуть куда угодно
Понятно, что у него есть тип, но все же
Дмитрий
Литерал None тоже можно сунуть куда угодно
литерал None<T> (это важный момент)
Aleksandr
Но T же выводится
Дмитрий
дело не в выводе
Anatoly
Но T же выводится
None<int> не тоже самое, что и None<string>
Aleksandr
Ты литерал null используешь в двух контекстах: - при инициализации переменной (там неважно, потому что тип есть у самой переменной) - при сравнении с переменной (та же история)
Aleksandr
И там и там нам не важен T в None<T> , потрму что он однозначен, и так же не важно какой у тебя null
Anatoly
да, всё это было бы круто, если бы null<string> не подставлялся в null<object>
Anatoly
а он подставляется
Anatoly
(и наоборот)
Anatoly
ну и моё любимое - со всеми этими флажками я всё ещё могу просунуть тебе null в non-nullable ref type и у тебя всё взорвётся
Aleksandr
Ну тут thanks to dotnet в принципе
Aleksandr
да, всё это было бы круто, если бы null<string> не подставлялся в null<object>
ну во я не понимаю, что такое null<object> и null<string>. Хорошо бы видеть пример, где это происходит
Aleksandr
Это что ли? object? o = null; string? s = o?.ToString();
Roman
Не, А0 нужен! Кульман и вперде
Частичка Боинга живёт в тебе
Дмитрий
И там и там нам не важен T в None<T> , потрму что он однозначен, и так же не важно какой у тебя null
это важно когда у тебя есть нулл и его надо проматчить/пройтись рефлексией/etc. и тебе надо знать, какой там был тип на самом деле
Дмитрий
сериализация, построение запросов, что там ещё
Дмитрий
еще на нулл не вешаются никакие расширения (или тайпклассы если они в языке есть), пока его явно не прибиндить к типу
Mikhαil
Ну тут thanks to dotnet в принципе
И это расстраивает конечно
Vladislav
В фшарпе тоже
Ты не можешь положить нулл в переменную класса или рекорда на фшарпе если они были написаны на фшарпе. Компилятор не даст без allownullliteral. В остальных случаях даст
Ilya
Без нуллов тоже было бы грустно. Обе фичи нужны.
Mikhαil
Без нуллов тоже было бы грустно. Обе фичи нужны.
+ Мне тоже кажется что не взаимоисключающие вещи
Doge
Без нуллов тоже было бы грустно. Обе фичи нужны.
Я вот в данный момени пишу на языке без нуллов и как-то не вижу какой смысл их добавлять в язык.
Ayrat
Я вот в данный момени пишу на языке без нуллов и как-то не вижу какой смысл их добавлять в язык.
Я вот тоже. В рантайме пусть будут, если так быстрее, но я не хочу чтобы эти нулы просачивались через абстракции языка
🇺🇦 Дмитрий
не верю
🇺🇦 Дмитрий
на js вообще весело там и null и undefiend
Sergey
не верю
он про раст но подкол защитан
Doge
не верю
Так я сейчас на расте пишу
Ilya
Я вот в данный момени пишу на языке без нуллов и как-то не вижу какой смысл их добавлять в язык.
Я не знаю, как без нуллов сделать в тестах поле для вебдрайвера селениума, которое будет проинициализировано в OneTimeSetup NUnit. Да так, чтобы у меня все тесты не были обмазаны map или Lazy. 🤷‍♂
Ilya
Это уже проблемы NUnit'а, а не наллов в языке.
Ага, так и вижу, как из дотнета выпиливают null, потому что это проблемы NUnit же. Пусть сами разбираются. Нереалистично. В новом языке с нулевой экосистемой так можно, но не в существующем же.
Denis
плюсую про раст без нуллов, жизнь становится сильно проще
Doge
Ага, так и вижу, как из дотнета выпиливают null, потому что это проблемы NUnit же. Пусть сами разбираются. Нереалистично. В новом языке с нулевой экосистемой так можно, но не в существующем же.
Ну с существующими понятно, но в оригинальном утверждении про это не было сказано: Без нуллов тоже было бы грустно. Обе фичи нужны.
Ilya
Да, некорректно сформулировал.
Doge
Ну с существующими понятно, но в оригинальном утверждении про это не было сказано: Без нуллов тоже было бы грустно. Обе фичи нужны.
Увы, у раста всё равно чуть скудный инструментарий, чтобы полностью воспользоваться преимуществами option'ов. Даже HKD и т.п. трюки толком не сделать
Doge
Но да, ни единого null ref exception'а или даже unwrap'а я не словил за время разработки.
Ilya
Понапридумывали higher kinded. А что после них будет? Куда ещё выше?
Ilya
The kindest.