Newtonsoft JSON - авангардная шиза
От: Kolesiki  
Дата: 06.05.22 18:43
Оценка: -4 :))) :))
Почему такой заголовок? Да потому что бесит уже! Люди ещё толком в новшества не въехали (да и по диспутам видно, что новшества — то ещё говно), а некоторые "авангардисты" уже насрали в исходники! Скачиваю сабж, а он за каким-то якодзуном ПОДПИСАН. Ладно, думаю, чо я — не погромизд штоле, ща сканпеляем без подписей. ХРЕН ТАМ! Все исходники оказались засраны новомодной чешуйнёй под названием "а давайте сделаем так, чтобы даже идиот мог писать на C# и все ссылки будут ненулевые!". Другими словами, вся либа сплошь засрана "Ссылка?" типами. Ну, это помимо того, что автору совершенно наплевать, что ты там пишешь под FW 4.8 — у него-то уже C# 9.0 и ветер в ушах свистит! Посему, проект даже в ссылках лажает, т.е. его никто даже не пытался собрать под .NET FW 4.8!
Я потратил время и таки вычистил эти "?"-сопли — исходники тут. Проект канпеляется под C# 8.0/VS2019 и не содержит подписи. И да, обходной путь в виде snremove.exe не работает, ибо выдаёт bad image.
Отредактировано 06.05.2022 21:43 Kolesiki . Предыдущая версия . Еще …
Отредактировано 06.05.2022 18:45 Kolesiki . Предыдущая версия .
Re: Newtonsoft JSON - авангардная шиза
От: rudzuk  
Дата: 07.05.22 08:44
Оценка:
Здравствуйте, Kolesiki, Вы писали:

K> Ну, это помимо того, что автору совершенно наплевать, что ты там пишешь под FW 4.8 — у него-то уже C# 9.0 и ветер в ушах свистит! Посему, проект даже в ссылках лажает, т.е. его никто даже не пытался собрать под .NET FW 4.8!


Пральна, ибо нефиг трупы гальванизировать.
avalon/3.0.0
Re[2]: Newtonsoft JSON - авангардная шиза
От: Kolesiki  
Дата: 07.05.22 20:51
Оценка: :)
Здравствуйте, rudzuk, Вы писали:

R>Пральна, ибо нефиг трупы гальванизировать.


Я б тоже поржал над шуткой, только тонкость в том, что в данном случае именно Core — мёртворождённый зомби! Неуместное дитя своего безумного создателя.
А .NET FW — как раз стабильный фрэймворк здорового человека: годами отлаженные либы, ГУЙ, данные, всё на месте. И только охреневаешь от того, сколько леммингов ведутся на морковку "мы наш, мы новый фрэймворк построим!". Сейчас такие времена, что ДАЛЕКО не всё, что новое — хорошее. Автопром, еда, софт — типичные примеры.
Re: Newtonsoft JSON - авангардная шиза
От: vaa  
Дата: 08.05.22 02:56
Оценка: :)
Здравствуйте, Kolesiki, Вы писали:

K>Почему такой заголовок? Да потому что бесит уже! Люди ещё толком в новшества не въехали (да и по диспутам видно, что новшества — то ещё говно), а некоторые "авангардисты" уже насрали в исходники! Скачиваю сабж, а он за каким-то якодзуном ПОДПИСАН. Ладно, думаю, чо я — не погромизд штоле, ща сканпеляем без подписей. ХРЕН ТАМ! Все исходники оказались засраны новомодной чешуйнёй под названием "а давайте сделаем так, чтобы даже идиот мог писать на C# и все ссылки будут ненулевые!". Другими словами, вся либа сплошь засрана "Ссылка?" типами. Ну, это помимо того, что автору совершенно наплевать, что ты там пишешь под FW 4.8 — у него-то уже C# 9.0 и ветер в ушах свистит! Посему, проект даже в ссылках лажает, т.е. его никто даже не пытался собрать под .NET FW 4.8!

K>Я потратил время и таки вычистил эти "?"-сопли — исходники тут. Проект канпеляется под C# 8.0/VS2019 и не содержит подписи. И да, обходной путь в виде snremove.exe не работает, ибо выдаёт bad image.

не все так плохо. вот например Remove parameter null-checking from C# 11
к 12-й может и нулэйбл повычистят.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[3]: Newtonsoft JSON - авангардная шиза
От: rudzuk  
Дата: 08.05.22 07:16
Оценка: +8 -1
Здравствуйте, Kolesiki, Вы писали:

K> R>Пральна, ибо нефиг трупы гальванизировать.


K> Я б тоже поржал над шуткой, только тонкость в том, что в данном случае именно Core — мёртворождённый зомби! Неуместное дитя своего безумного создателя.

K> А .NET FW — как раз стабильный фрэймворк здорового человека: годами отлаженные либы, ГУЙ, данные, всё на месте. И только охреневаешь от того, сколько леммингов ведутся на морковку "мы наш, мы новый фрэймворк построим!". Сейчас такие времена, что ДАЛЕКО не всё, что новое — хорошее. Автопром, еда, софт — типичные примеры.

FW — все. Можно сколько угодно долго цепляться за соломинку собственных представлений, но реальности это не изменит. Либо ты бежишь вместе с майкрософтом, либо глотаешь пыль на обочине. Все просто.
avalon/3.0.0
Re[3]: Newtonsoft JSON - авангардная шиза
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 08.05.22 08:54
Оценка:
Здравствуйте, Kolesiki, Вы писали:

K>Я б тоже поржал над шуткой, только тонкость в том, что в данном случае именно Core — мёртворождённый зомби! Неуместное дитя своего безумного создателя.

K>А .NET FW — как раз стабильный фрэймворк здорового человека: годами отлаженные либы, ГУЙ, данные, всё на месте. И только охреневаешь от того, сколько леммингов ведутся на морковку "мы наш, мы новый фрэймворк построим!". Сейчас такие времена, что ДАЛЕКО не всё, что новое — хорошее. Автопром, еда, софт — типичные примеры.
Эти лемминги как раз и продвигают .Net Core за счет облаков. И их становится больше https://insights.stackoverflow.com/survey/2021#web-frameworks
и солнце б утром не вставало, когда бы не было меня
Re: Newtonsoft JSON - авангардная шиза
От: -n1l-  
Дата: 08.05.22 14:38
Оценка: +1
Здравствуйте, Kolesiki,
чет не понял, насколько я вижу совместимость с .net framework есть даже в последнем релизе.
https://www.nuget.org/packages/Newtonsoft.Json/
Re: Newtonsoft JSON - авангардная шиза
От: IT Россия linq2db.com
Дата: 10.05.22 21:00
Оценка:
Здравствуйте, Kolesiki, Вы писали:

K>Другими словами, вся либа сплошь засрана "Ссылка?" типами.


"Ссылка?" рулит!
Если нам не помогут, то мы тоже никого не пощадим.
Re[4]: Newtonsoft JSON - авангардная шиза
От: Kolesiki  
Дата: 13.05.22 00:16
Оценка: :)
Здравствуйте, rudzuk, Вы писали:

R>FW — все


Это тебе кто сказал? Наделла в курилке?

R>Можно сколько угодно долго цепляться за соломинку...


Ну тут фантазёр пока только ты. Авангард безумцев, которые в упор не понимают, зачем им всё это, но отчаянно машут флагами и бегут непойми куда.
То, что MS бросилась подлизывать Линуксу (ну и эпплу, чо уж) — всего лишь временная мода смузихлёбов. Когда я был маленький и ходил в институт, я тоже лелеял мечты то написать ОС, то чтобы линукс победил... но нет, реальность всех вернула на место. Вендуза хоть и была полна багов, мощно держалась за десктоп и в конце концов победила. Так что я даже малейшего смысла не вижу брать абсолютно рабочий FW и корёжить его в какую-то "многоплатформенную шнягу". Вы сами-то хоть понимате, зачем вам несколько ОСей?? А то далдонят как мантру "многоплатформенность"! Это только СРЕДСТВО. Какие именно цели у вас? Чтобы ваши убогие нотепады работали на линуксе? Или может кто-то отважится написать Ворд для МакОСи? Это не риторический вопрос, реально интересно, что умного могут сказать апологеты .NET Core.
Re[2]: Newtonsoft JSON - авангардная шиза
От: Kolesiki  
Дата: 13.05.22 00:17
Оценка:
Здравствуйте, -n1l-, Вы писали:

N>Здравствуйте, Kolesiki,

N>чет не понял, насколько я вижу совместимость с .net framework есть даже в последнем релизе.

Ну так сканпеляй под VS2019 — вместе поржём. А прыгать на VS2022 считаю рано пока.
Re[2]: Newtonsoft JSON - авангардная шиза
От: Kolesiki  
Дата: 13.05.22 00:22
Оценка: :)))
Здравствуйте, IT, Вы писали:

IT>Здравствуйте, Kolesiki, Вы писали:


K>>Другими словами, вся либа сплошь засрана "Ссылка?" типами.


IT>"Ссылка?" рулит!


Ну если нанял десяток индусов "пять баксов за пучок" — то да, сидишь такой и вопросики расставляешь! А в реальной программе эта муитень нафиг не нужна. Нет даже такой идеи "все ссылки должны быть заполнены" — бизнес-логика может прекрасно оперировать null и надёжно работать. Ну а кто нанял рукожопов на проект — тот сам себе злобный буратина.

Могу откровенно сказать, ИНОГДА, ну вот просто очень иногда славливал NRE. И то только на этапе отладки. И вот теперь ради безголовых обезьян я должен коверкать свой код "вот ты, ссылка, можешь быть нулевой"?? Делать больше нечего!
Кто не понимает собственного кода — тому нечего делать в профессии.
Re[2]: Newtonsoft JSON - авангардная шиза
От: Kolesiki  
Дата: 13.05.22 00:29
Оценка: +1 :)
Здравствуйте, vaa, Вы писали:

vaa>не все так плохо. вот например Remove parameter null-checking from C# 11


ВОТ ИМЕННО!! Это каким безголовым, недальновидным архитектором надо быть, чтобы вкорячивать свои "!!":

We do not have sufficient confidence that this is the right feature design for C# and are removing it from C# 11.


Я в жизни не помню такого маразма, чтобы хоть в одном языке ввели фичу, а потом стыдливо "мы не уверены"... Куда катится программинг?? Что за обезьяны его заполонили? Испанский стыд!
То же самое с nullable ref — жалкая попытка прикрыть некомпетентных разрабов фичами языка. Такое ощущение, что для них синтаксис и легаси вообще ничего не значат! Узнаю МОЛОДЫХ подаванов, у которых идей — много, а мозгов и опыта — с гулькин дзун. Хочешь сладких апельсинов изменить синтаксис? Да ради бога! Ща ASCII откроем и забабахаем чо хошь.
Это ужасно — во что скатилась такая фундаментальная область, как компиляторостроение.
Re[3]: Newtonsoft JSON - авангардная шиза
От: IT Россия linq2db.com
Дата: 13.05.22 00:36
Оценка: +5
Здравствуйте, Kolesiki, Вы писали:

K>Кто не понимает собственного кода — тому нечего делать в профессии.


Ты прямо целую философию подвёл, чтобы оправдать собственную лень
Если нам не помогут, то мы тоже никого не пощадим.
Re[5]: Newtonsoft JSON - авангардная шиза
От: Teolog  
Дата: 15.05.22 10:37
Оценка: 2 (1) +3
Не надо беспокоиться, просто наконец вышла новая версия .NET c немного переделанным API.(.NET 5,6).
.NET 5 вполне себе работает на windows 7 если ее не забыть поставить древнее обновление ядра, по крайней мере у меня на стендовых машинах.
Никакой платфомо-независимости не добавлено, просто windows-only классы наконец выкинули в отдельные модули которые можно не подключать, если не нужны.
Соотвественно есть рантайм без них, который как-то работает на линуховых серверах.
В синтаксис добавили немного сахара который экономит 5 минут в день, и кое-какое API позволяющее номально работать с пулами памяти и буферами выделенными на стеке, добавили не до конца, еще будут прокидывать это везде и всюду.
object? тип данных, это вообще отличная штука позволяющая четко декларировать допустимо-ли пихать внутрь null или нет. Заодно оно следит, чтобы object? не переходило в object без проверки. Эти постоянные проверки на null во внутренних функциях, когда замучаешься достоверно устанавливать может/не может изрядно задолбали.
Естественно вспомогательные библиотеки для которых качество кода и количество мусора в памяти критичны, бросились использовать новые возможности в надежде выловить на пару багов больше. Это Newtonsoft еще на Span<byte> и пулы не перешел, скоро перейдет, тогда вообще бакпортировать невозможно будет.
Re[6]: Newtonsoft JSON - авангардная шиза
От: Kolesiki  
Дата: 07.06.22 01:24
Оценка:
Здравствуйте, Teolog, Вы писали:

T>Эти постоянные проверки на null во внутренних функциях....


Извини, а зачем это проверять?! Ну вот взял какой-нть клоун и вызвал CreateDir(null) — ну и словит по шапке — ЧТО СЛУЧИЛОСЬ-ТО?? Твой нуль — твои проблемы!
А вот как раз сам код должен быть максимально лоялен ко входным данным. Скажем, если я вызвал DeleteDir(null) — что в этом такого? Ну нет пути — ничего и не удаляй! "Зачем ругацца, нашальника??" (ц)
Меня до сих пор выбешивает та обезьяна, что запиливала Dictionary и который падает при каждом чихе! И ладно бы это вчера изобрели, но нет — перед носом же есть Перл! 30 лет языку, а до сих пор фору даёт мелкомягким "изобретателям".

Моё мнение по null пока что непоколебимо: боишься null — пиши проверки! Ставь атрибуты. Но нельзя категорически превращать C# в "бейсик для дебилов" — бейсик УЖЕ ЕСТЬ, пусть туда и идут. А C# пусть останется нам, кто программированию учился, а не в автобусе лекцию услышал.
Re[6]: Newtonsoft JSON - авангардная шиза
От: Kolesiki  
Дата: 07.06.22 01:39
Оценка:
Здравствуйте, Teolog, Вы писали:

T>Не надо беспокоиться, просто наконец вышла новая версия .NET c немного переделанным API.(.NET 5,6).


Мне тупиковая ветвь "Core" вот вообще не интересна! Просто поверь старой Ванге — молодые абизяны поиграются в "архитекторов", попрыгают с GUI и сольются обратно на индийские пальмы! Нельзя бесконечно врать и насильно загонять всех под ублюдочный web-UI, подменяя им нативные GUI приложения.
Почему так важен GUI? Да потому что без него вообще НИ ОДИН язык не интересен! Более того — важен не просто "похожий" ГУЙ, а полностью нативный платформе интерфейс. Например, "tray"-зона в винде или "системное меню окна".
Очевидно, что ни один "многоплатформенный пук" не потянет нативность, и уж тем более специфичные для платформы решения (memory mapped IO, к примеру).
Кора — это урезаный и очень невовремя переписанный .NET; Ну примерно как сейчас навязать американцам адекватные "метры" и "220 вольт". Слишком поздно и слишком неуклюже будет происходить переход, поэтому лучше оставить "хорошее" и не гнаться за "лучшим". Тем более, что судя по рынку, никому в пень не упёрлись ни линупсы, ни макакоси — народ спокойно сидит в Венде и платит за полноценные приложения.
Re[7]: Newtonsoft JSON - авангардная шиза
От: rudzuk  
Дата: 07.06.22 07:54
Оценка:
Здравствуйте, Kolesiki, Вы писали:

K> Но нельзя категорически превращать C# в "бейсик для дебилов"


Что значит превращать???
avalon/3.0.0
Re: Newtonsoft JSON - авангардная шиза
От: Aquilaware  
Дата: 01.07.22 09:24
Оценка:
Здравствуйте, Kolesiki, Вы писали:

K>Скачиваю сабж, а он за каким-то якодзуном ПОДПИСАН.



Чем подпись не угодила?
Re[7]: Newtonsoft JSON - авангардная шиза
От: Александр Кузнецов Россия  
Дата: 05.07.22 05:18
Оценка:
Здравствуйте, Kolesiki, Вы писали:

K>Мне тупиковая ветвь "Core" вот вообще не интересна! Просто поверь старой Ванге — молодые абизяны поиграются в "архитекторов", попрыгают с GUI и сольются обратно на индийские пальмы! Нельзя бесконечно врать и насильно загонять всех под ублюдочный web-UI, подменяя им нативные GUI приложения.

Простите за мой одесский акцент, но может таки старой Ванге пора уже немного высунуть нос из-за компа, посмотреть по сторонам и перестать делать людям смешно?

Есть куча разных типов задач. Это и программирование микроконтроллеров, и разработка под мобильники (на долю которых сейчас приходится процентов 70 всех поисковых запросов в инете), и десктопные приложения, требующие высокой производительности и максимального доступа к железу, и разные веб-сайты с многомиллионной аудиторией, для которых задача быстрого обновления гораздо важнее общей скорости. Мир, он разный.

K>Почему так важен GUI? Да потому что без него вообще НИ ОДИН язык не интересен! Более того — важен не просто "похожий" ГУЙ, а полностью нативный платформе интерфейс. Например, "tray"-зона в винде или "системное меню окна".

Да, для определённого класса приложений. А ещё бывают приложения, которые надо запускать и в винде, и под линуксом, и на мобилках. И у них, внезапно, должна одинаково работать логика при разном UI, который вообще не обязан ничего общего с виндой иметь. Ну правда, где там трей, или системное меню в мобилках? Нету. И таких приложений сейчас явное большинство.

K>Очевидно, что ни один "многоплатформенный пук" не потянет нативность, и уж тем более специфичные для платформы решения (memory mapped IO, к примеру).

Если всё приложение живёт ровно на одной машине — да, даже спорить не собираюсь. Вот только терабайтные базы и десятки тысяч клиентов в час при относительно сложной логике — это уже откровенный перебор для одного сервера (прокачать машину, может, и можно, вот только стоимость будет... дешевле в горизонтальное масштабирование уйти). Про всякие репликации, резервирования, распределённые сервера и пиковые нагрузки, которые могут быть в разы больше, молчу в принципе.
Я сам могу сколько угодно ругаться на всякие докер-контейнеры, но не знаю пока более дешёвого способа обеспечить стабильное динамическое масштабирование приложения под нагрузкой, кроме как переложить соответствующие задачи на облако. Просто как пример, мы когда перетащили на кор приложение с фреймворка, стоимость его поддержки сразу упала на треть, за счёт возможности более гибко поднимать/гасить контейнеры.

K>Кора — это урезаный и очень невовремя переписанный .NET; Ну примерно как сейчас навязать американцам адекватные "метры" и "220 вольт". Слишком поздно и слишком неуклюже будет происходить переход, поэтому лучше оставить "хорошее" и не гнаться за "лучшим".

Про урезанный — поспорю. Да, есть задачи, которые очень плохо портируются с фреймворка на кор, но их не очень много. Начиная с 3.1 кора процесс вполне вменяем и требует лишь относительно небольшой донастройки. Про клиентскую часть и сопутствующие фреймворки не скажу, с ними, по сути, не работал, хотя на серверной части генерацию картинок пришлось на SkiaSharp переписывать, но зато бекенд запустился не с полпинка исключительно из-за сложности самого приложения и необходимости резать его по контейнерам. При этом количество потребляемых ресурсов... сократилось, так как на стороне сервера место нескольких десятков тяжёлых машин под виндой заняла примерно сотня докеров под линуксом, которым не нужен ни гуй, ни дополнительные обвесы винды, и которым вполне хватает 256/512 Мб оперативки для типовых задач.
Так что если задача не упирается жёстко в виндовый (именно виндовый!) GUI, то явной разницы между фреймворком и кором я лично не вижу. Есть задачи (ограниченные локальной машиной), которые будут быстрее работать на фреймворке, а есть задачи (в первую очередь на серверную часть распределённых больших приложений), где явно лучше заходит кор.

K>Тем более, что судя по рынку, никому в пень не упёрлись ни линупсы, ни макакоси — народ спокойно сидит в Венде и платит за полноценные приложения.

Если верить статистике, то народ сидит на Андроиде . Винда на втором месте. Вопрос в том, что у типового пользователя винда сейчас — это в гораздо большей степени инструмент запуска браузера с последующим выходом в интернет и работой там, чем ядро для запуска кучи нативных программ (я сам тут исключение, так как и софт для разработки стоит, и для скринкастов, а они как раз типичные нативные). По линухом же работает 1% машин... проблема в том, что значительная часть от этого 1% составляют сервера, обеспечивающие полноценную работу всех остальных "оконечных" систем.

В общем, есть желание целенаправленно заниматься разработкой именно под винду и именно под UI — да, фреймворк вполне себе хороший и логичный выбор. Но, как это ни печально, именно он сейчас тупиковая ветвь развития с вполне однозначно обозначенными микрософтом дальнейшими перспективами.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Re[2]: Newtonsoft JSON - авангардная шиза
От: vsb Казахстан  
Дата: 05.07.22 05:52
Оценка:
Здравствуйте, rudzuk, Вы писали:

K>> Ну, это помимо того, что автору совершенно наплевать, что ты там пишешь под FW 4.8 — у него-то уже C# 9.0 и ветер в ушах свистит! Посему, проект даже в ссылках лажает, т.е. его никто даже не пытался собрать под .NET FW 4.8!


R>Пральна, ибо нефиг трупы гальванизировать.


4.8 вышел 18 апреля 2019 года. Быстро у вас в донете версии умирают. Для сравнения — жава 8 вышла 18 марта 2014 года и многие на нее ещё даже не мигрировали. А уж библиотеки совсем редко выше неё требования ставят. Библиотекам сам бог велел быть консервативными и сидеть на старых версиях до последнего.
Отредактировано 05.07.2022 5:59 vsb . Предыдущая версия .
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.