Ilya
Уже скоро🤔
Ayrat
вот например, они таки догадались что нужны календари для дат, сделают конструктор вида public DateOnly(int year, int month, int day, Calendar calendar) { throw null; } Но этот календарь не входит в дату, он используется и выкидывается
Ayrat
то есть вытащить календарь в котором висит эта дата нельзя
Ayrat
- мозговзрыв? - говноделы
Ayrat
даже нодутайм скопировать не в состоянии
Ayrat
Но почему
я ниибу.
Ayrat
они просто легаси делают сразу же
Vladislav
Ayrat
кто о чом, да
Vladislav
кто о чом, да
одно по кодгену выдрочили а про другое забыли
Vladislav
Видимо
Ayrat
одно по кодгену выдрочили а про другое забыли
кишки джита протекают в кодобазу
Ayrat
то есть детали имплементации компилятора заставляют тебя танцевать над кодом
Vladimir
as I work for Confluent
на самом деле дальше можно не читать
Roman
они просто легаси делают сразу же
А ты пробовал это комментировать там?
Ayrat
А ты пробовал это комментировать там?
там и без меня вроде накидали хуев, но судя по обсуждению им похуй
Vladislav
Static properties that just return a constant value are very easy for the JIT to inline, without special measures. readonly static fields are not as easy. They can be only inlined in certain cases. It requires either tiered compilation to kick in after the static constructor that initialized the field run. Or it requires a complex global analysis in AOT compiler that attempts to prove that the value of the readonly field can be assumed to be a constant.
Roman
Мде
Vladislav
Бля ну и говнина
Ayrat
у них есть какая-то внутренняя проблема и им насрать
Ayrat
То есть им НАДО сделать так, они делают
Ayrat
А я думал этот пропозал уже все видели
Ayrat
Ну это уже даже не пропозал, к слову
Ayrat
Там уже давно имплементацию подогнали, это просто фиксация апи
Roman
А я думал этот пропозал уже все видели
Я в отпуске и вообще не слежу/
Ayrat
И я вот не знаю нахуя такое апи. То есть нужда в нем есть, но почему так? Недоделано, сыро, решает какую-то локальную проблему через введение новых сущностей, но проблему с временами в BCL она не решает. Этот пропозал это прям картинка про "было 13 стандартов"
Roman
Но теперь отдыхать стало сложнее
Ayrat
Они там реально отбитые и даже не могут спиздить ноду. Или java.time (которая на 100% спиженная JodaTime)
Ayrat
Потому что в ноде все эти сущности есть и сделаны нормально День в календаре Время в дне Время просто Время зонное и пр Выбирай что надо и используй
Ayrat
и все по ИСО!!1
Ilya
Они там реально отбитые и даже не могут спиздить ноду. Или java.time (которая на 100% спиженная JodaTime)
Я вот обычно говорю, что там чуваки знают, что делают. Но тут какой то ад
Ayrat
Скоро будешь в пронете сишарп обсирать!!1
Mark
DateTimeWithoutDate
Ayrat
DateTimeWithoutDate
годное апи, тебе бы в архитекторы дотнета!
Mark
Roman
DateTimeWithoutDate
DateTimeWithoutDateButWithTimeButOnlyLocal
Ayrat
DateTimeWithoutDateButWithTimeButOnlyLocal
(по умолчанию в Redmond Timezone, для удобства)
Roman
(по умолчанию в Redmond Timezone, для удобства)
Это само собой, любой другой вариант был бы странным
Doge
кишки джита протекают в кодобазу
Ну уже давно в шарпе же 100% костыле-ориентированный дизайн языка. Надо решить одну локальную проблему - значит тупо втащим это в язык самым простым способом.
Ayrat
я вангую такую историю с этим DateOnly 1. оно понадобилось внутреннему кастомеру 2. посадили интерна задрота писать имплементацию в dotnet-experimental (или как там эта репа называется) 3. внутренний заказчик начал пользовать, втащил свои костыли, чтобы его адхок работал как боженька 4. Решили опубликовать и затащить в BCL, боевой тест пройден же уже 5. ??? 6. комьюнити вахуе от этого апи
Ayrat
но нет6 уже вот-вот, сроки поджимают, переделывать некогда, да и думать тоже
Ayrat
но нет6 уже вот-вот, сроки поджимают, переделывать некогда, да и думать тоже
Вот это кстати большая проблема в дизайне. Там все годные коменты заворачиваются с аргументом что "да, это валидный поинт, но переделывать уже поздно, надо деливерить"
Ayrat
Ой всё, забомбился я опять
Roman
(по умолчанию в Redmond Timezone, для удобства)
на самом деле надо просто добавить DateTime.RedomndNow(CancellationToken ct)
Romɑn
Потому что в ноде все эти сущности есть и сделаны нормально День в календаре Время в дне Время просто Время зонное и пр Выбирай что надо и используй
Так мб есть реализации для дотнета от сообщества? Понимаю, что это полумера и конечно в бсл было бы лучше, но все же с ньютонсофтом то долго получалось
Romɑn
ну нодатайм???
А, это дотнет реализация?
Romɑn
Аа, круто
Ayrat
JodaTime - жвм NodaTime - дотнет
Sergey
Sergey
как отдельная либа
Ayrat
йода еще жива?
вроде нет
Hog
вроде нет
https://search.maven.org/search?q=g:joda-time
Ayrat
https://search.maven.org/search?q=g:joda-time
Note that from Java SE 8 onwards, users are asked to migrate to java.time (JSR-310) - a core part of the JDK which replaces this project.
Ayrat
Никакого смысла юзать либу нет
Hog
Вроде там апи не 100% идентичный
Ilya
JSR-310 переписывали, чтобы пофиксить некоторые проблемы JodaTime, да.
Ilya
https://blog.joda.org/2009/11/why-jsr-310-isn-joda-time_4941.html
Ilya
В двух словах, что такое jsr310?
Java Specification Request 310, который описывает Date and Time API в Java 8, копируя апи библиотеки JodaTime.
Ilya
К слову о Ските! https://youtu.be/F2RfMvMPvx4
Ilya
Это канал про аниме?)
В пронете разраб из мс вообще код на js кидает!
Ilya
А микрософт только ухудшает!
Чтобы что-то улучшить, надо сперва это ухудшить. А у нас пока недостаточно плохо.
Ayrat
Там кстати ещё лучше. Что тайм онли новый не умеет во время больше 23:59:59
Mikhαil
А микрософт только ухудшает!
Есть инфа от знающего человека, что у нас в дотнете скоро ожидаются реальные изменения. После того, как стабилизируют ситуацию нон нал реф типами и сорс геном. Тогда везде и начнут улучшать все. Дискриминейтед юнион добавят и будут решать проблемы, противники ничего не смогут сделать. Сейчас главное не бухтеть.
Ayrat
Лучшая паста
Ilya
Там кстати ещё лучше. Что тайм онли новый не умеет во время больше 23:59:59
В ноде тоже, вроде бы. https://nodatime.org/3.0.x/api/NodaTime.LocalTime.html#properties
Ilya
Gets the hour of day of this local time, in the range 0 to 23 inclusive. Gets the minute of this local time, in the range 0 to 59 inclusive. Gets the second of this local time within the minute, in the range 0 to 59 inclusive.