Nikolay
Што происходит?
Fail
Всмысле ты кандидат?
Dr. Friedrich
Nikolay
Он же раньше был просто Friedrich von Növer
Vasily
Кандидат куда?
Nikolay
А теперь - доктор
Fail
Dr. Friedrich
Технических.
Nikolay
Работающий в морге
Romɑn
Bonart
Морг Билдеров? Это кто такой?
Vasily
В морге все равны
Ayrat
Но патологоанатом ровнее
Bonart
Все равны перед доктором Лектером
Анна
В общем, @fvnever полон загадок
Dr. Friedrich
Я самый обычный человек 🤷♂️
Bonart
Dr. Friedrich
Это механика!
Ayrat
Я тут недавно натолкнулся на хороший цикл статей про то как нарисовать свою мини OS на C, с отличным объяснением:
https://github.com/s-matyukevich/raspberry-pi-os
Просто делюсь линком
Ayrat
"цикл статей" - набор разных маркдаун файлов в одной репке)))
Ayrat
там и про кернел и про ексепшны, про прерывания. Чотко. Умеет. Могёт.
Bonart
Вот только рисовать на си новую ось в 2018 как-то не комильфо
Bonart
Кстати, не этот ли цикл переводили на хабре?
Ayrat
Не знаю. А переводили?
Dr. Friedrich
Вроде, там на расте ось писали.
Bonart
На расте - это другое дело.
Ayrat
Я вот очень раст полюбил. Щас пытаюсь его тоже впихать в воркфлоу. Идёт с трудом.
Bonart
Раст - он демонстративно не прикладной
Bonart
Отсюда и невпихуемость повышенная :)
Ayrat
Ну у меня ещё задач для него мало. Т.е. прям очевидная одна - оптимизация обучения ML модели (сейчас это делает петон, частично сам, частично сишные либы).
А остальные - ETL, ажур, микросервисы - это всё не про раст. Т.е. я могу в теории скомпилить что-то на расте, и запускать в рантайме через ProcessInfo, но чот мне кажется это плохой план)
Bonart
Раст - он системный, для байто- и тактодрочерства но с современным контролем типов и границ
Bonart
Для приложений он имхо пересолен
Ayrat
Вот это меня подкупает. C++ впилил себе продакт тайпы нормальные, std::tuple, std::variant, std::option, полный набор. Там отлично всё с типизацией. Раст туда же.
И при этом ебучий комитет C# нулабилити сделали через атрибуты у методов... Провал
Ayrat
Т.е. если уж решились ломать обратную совместимость через флаг компилятора почему нельзя было нормально поломать???
Romɑn
Ayrat
Да
Bonart
У шарпа с nullability проблема с рантаймом
Dr. Friedrich
Dr. Friedrich
Ну то есть мне тоже не нравится решение, которое получилось. Оно неполное, его просто обмануть.
Dr. Friedrich
Но сделать такое сложно.
Bonart
Как и у котлина, поэтому нуллабилити компромиссная
Ayrat
Там теперь такое охуенное поведение
typeof<int> == typeof<int?> //false
typeof<string> == typeof<string?> //true
Dr. Friedrich
Ждём, пока Java запилит :)
Dr. Friedrich
Bonart
Dr. Friedrich
Со своими мутными проблемами, но всё-таки лучше, чем у C# 8.
Bonart
А C# именно что 8
Ayrat
У котлина под боком Джава. Как у F# под боком C#.
Поэтому приходится идти на компромисы, иначе всю экосистему отрезать от себя
Bonart
И у нас полный интероп с .NET
Fail
у нас обратная совместимость
Bonart
https://github.com/Kirill-Maurin/Sample.Struct/blob/master/Sample.Struct/NotNull.cs
Bonart
Вот так можно запилить без обмана :)
Ayrat
Но ведь C# уже решил ломать обратную совместимость, почему нельзя было (ну если не полноценный option), то завернуть всё в Nullable??
Ну, они там умные понятно, но вот по сравнению даже с более низкоуровневыми языками (c++, rust) - это уже дерьмо
Bonart
Ayrat
Но они там страдают по другой фигне. У них такты болят
Ayrat
поэтому там на option куча оптимизаций, где-то статеечку читал как там gcc пыхтит чтобы было типобезопасно и быстро
Bonart
Т.е. для котлина не было хорошего решения, а для сишарпа совсем не было. Вот я и не парюсь
Ayrat
А мне жалко что такой возможностью воспользовались так уныло
Bonart
Bonart
И так получили два восьмых сишарпа
Pavel
Pavel
а вообще C# 8 уже зарелизили?
Bonart
это как?
Дык флажочек компилятора же добавили. Семантически значимый.
Vladislav
Pavel
Vladislav
иначе это будет на уровне
работает!
*но не здесь
** и не здесь
*** и не здесь
Pavel
мне что-то казалось, что просто будет nonnull by default для всех типов
Bonart
Vladislav
Dr. Friedrich
Dr. Friedrich
Типа.
Ayrat
т.е. тип твоих аргументов в рантайме не поменяется
Bonart
Vasily
А потом раз,и галочку взводишь treat warnings as errors
Vasily
На билд сервере
Bonart