Да победит сильнейший!
Ruby лучше Python. Докажите обратное. Только сразу исключаем популярность, здесь разбираем конкретно технические моменты, включая "сахар".
Пчелы не тратят свое время, доказывая мухам, что мед лучше говна
зиг гораздо лучше сей
тайпскрипт гораздо лучше яваскрипта
ява гораздо лучше шарпов
пхп гораздо лучше питона
го гораздо лучше баша
Да и мухи пчёлам ничего не доказывают.
Этого в детстве мама в жопу ебала, пока папа борщ варил.
Тред бесконечный, но не закреплён. Значит, он может и утонуть, если какое-то время никто не будет ничего постить?
>Ruby
Везде end добавлять надо.
Фишка питона с indentation вообще пушка-бомба - даже говнокод на питоне хочешь не хочешь, а нормально читается
> Фишка питона с indentation вообще пушка-бомба - даже говнокод на питоне хочешь не хочешь, а нормально читается
В нормальных языках делаешь ctrl+l и весь код форматируется по твоим личным предпочтениям, если что-то не нравится. Ты наверное первый день в программировании, или я просто не представляю какой говнопиздец может быть на питухоне написан, что простое форматирование для тебя это манна небесная.
Такие треды уже бывали много раз, хотя в последние пару лет анон обленился.
Каши будет не больше, чем в любом тематическом треде, где разные обсуждения идут в соседних постах.
C# самый лучший язык современности, серебрянная пуля для всего - cli программы, веб (фронт и бек), игры, кросплатформенный десктоп, мобилки, даже для ИИ есть официальные инстурменты. Пидорашкам на джаве из сберзалупы не понять величия дотнета и его абсолютную доминацию на рынке из мейнстримных языков.
>В нормальных языках делаешь ctrl+l и весь код форматируется по твоим личным предпочтениям, если что-то не нравится.
Какой же долбоёб господи ёбтвоюмать. Ну попробуй отформатируй код по ctrl+l, который кто-то прислал в чате, например, или на фотке, или на пастбин + десяток других похожих сайтов скинул
>простое форматирование для тебя это манна небесная
Типичный двачерский ебаклак с передёргиваниями, который даже пост длиной в один твит понять не способен. Сам себе придумал тезис, сам его и победил.
> Какой же долбоёб господи ёбтвоюмать. Ну попробуй отформатируй код по ctrl+l, который кто-то прислал в чате, например, или на фотке, или на пастбин + десяток других похожих сайтов скинул
В любом случае всё и так отлично понятно с любыми отступами. Да и в мессенджерах не кидают большие проекты, что сложно понять, а если большой, то можно и в среде разработки открыть.
> Типичный двачерский ебаклак с передёргиваниями, который даже пост длиной в один твит понять не способен. Сам себе придумал тезис, сам его и победил.
А что я не так понял? Говори правильный тезис тогда.
Когда тебе надо прочитать говнокод, отступы - это самая маленькая проблема. Говнокод - это в первую очередь хуёвый дизайн кода, некорректная разбивка на модули. Это никаким форматированием не лечится.
Как же жирнота, божее
Сколько гетсетов сегодня написал, пидоран? Или тебя пораньше отпустили потому что в прошлые выходные отрабатывал?
Почему джависты предъявляют за гет сеты? Что с ними не так? Как будто в жабе нет свойств.
А вот в котлине всё - свойства, и не надо писать гетсеты или методы по дефолту
Другими словами это рейтинг.
https://www.tiobe.com/tiobe-index/
Плюсы поднимаются с 2016.
>Можешь сразу идти
Не могу. Ты уже там.
Это точно лучше, чем бессмыслица выкрикивать каждый своё в треде. Кому-то важен рейтинг именно по двачу? Так примерно такой же и будет. А дискутировать на все темы сразу невозможно.
Я дохуя лет джавист, и за все это время никогда не понимал этой дрочи оборачивать поля структуры данных методами-пустышками, которые в лучшем случае не делают нифига, зазря стекфрейм аллоцируют там, где можно было просто обойтись доступом к полю обьекта (в худшем, какой нибудь пидарас еще туда логики навалит, или аспектов понавешает, превращая честную понятную адекватно ведущую себя структуру данных в структуру-пиздабола, недоstruct-недообьект).
Единственная условно-вменяемая причина для существования этого безобразия - фреймворки, использующие proxy, по типу хибернейта, но опять же ОРМы вообще и JPA/хибернейт в частности - мягко говоря спорные темы. Какого хуя метастазы этой говнопарадигмы протекли за пределы джавы в кучу языков и настолько сильно прижились там, что заимели переосмысление в виде хваленых свойств?
Нахуя вам свойства, чуваки? Что вы в них суете?
>>Ой, ну вот полон интернет разных тестов.
>Взял шарпомуший высер в качестве пруфа, лол.
Ну на ещё.
https://www.techempower.com/benchmarks
Чтобы спринг найти придётся поиск использовать.
>Какие велосипеды? Кэтч на фьючу вешаешь, и все блять.
Это вот этот твой метод чейнинг на скриншоте джаваскрипт-стайл? Пиздец.
Алсо я не вижу нигде в твоём коде упоминания виртуальных тредов. Ты ничего не забыл?
>>Зато как обычно можно десятком разных способов сделать одно и то же
>А вот это как раз проблема сишорпа. Даже фанбои ноют, что слишком много сахара, хуй разберешься, чем пользоваться.
Так.
Thread.ofVirtual().start()
Thread.startVirtualThread()
Через ExecutorService напрямую (.submit())
Через ExecutorService и Future
Через ThreadFactory
Наверное ещё есть способы.
Я не знаю, про какой конкретно сахар ты говоришь в шарпе. У меня не возникает проблем в выборе как код писать.
Когда же вы наконец запомните, что ответы на пост в других тредах не видно? Позорище.
Очевидно лучший язык программирования это машинные инструкции, записанные мнемониками. Угадайте как он называется. Он действительно лучший с точки зрения эффективности написанных программ. Если пишет специалист.
Но у этого языка есть два недостатка:
1. Практически отсутствует переносимость.
2. Сложность написания программ.
На Стишок на табуреткеах не спрашивают алгосики
> хуяришь код, получаешь бабки, похуй.
> не спрашивают алгосики
Ну и в чём прикол тогда?
Меня не покидает ощущение, что в PHP, 1С и другие подобные языки вкатываются те, кто ненавидит программирование, но хотят высокую зп относительно других профессий.
В php вкатываются люди у которых подход шо называется getting things done. Они пишут бизнес код чтоб работало а не паттерны с алгосиками учат.
Алгоритмы не нужны никому ни на каком языке, а спрашивают их шоб мозги ебать
>В php вкатываются люди у которых подход шо называется getting things done. Они пишут бизнес код чтоб работало а не паттерны с алгосиками учат.
ФРАКТАЛ ПЛОХОГО ДИЗАЙНА
Scratch круче Go, MATLAB, Kotlin'a, Swift'a и 🎁'a
Пишем на Скрэтче наносекундные трейдинговые системы и зашибаем миллионы. Язык будущего.
Всё что нужно знать о TIOBE
>Ну и в чём прикол тогда?
Прикол в том, что все алгоритмы давно реализованы в библиотеках, если ты всерьез будешь от руки писать в кодовой базе сортировку/поиск или структуры данных - тебя посадят в психушку.
Реальному бизнесу гораздо важнее повседневные задачи - знание их фреймворков/технологий, среднего уровня архитектурные навыки. И чтобы ты как можно быстрее мог начать ебашить.
база
>Меня не покидает ощущение, что в 🎄, 1С и другие подобные языки вкатываются те, кто ненавидит программирование, но хотят высокую зп относительно других профессий.
О, ты, наверное, из тех парней, что любит надрачивать на свой код, поглаживая свой пивной животик, попёрдывая и приговаривая полушёпотом "ух, бля, вот это я тут навернул изъёбисто. Все, наверное, охуели!". А затем, неоднократно возвращаться к своей писанине вновь и вновь, пересматривая и вызывая жуткое потоотделение на всех участках кожи, где есть хоть какие-то складки. В действительности, конечно, на твой код всем похуй. Работает, не бросает ошибок, и то ладно.
>>2980476
>Прикол в том, что все алгоритмы давно реализованы в библиотеках
На другой чаше весов вот такой вот великовоз🎁ный долбоёб, что носится со сказанной, некогда, мантрой, и вторит её неофиту снова. Алгосики нужны не для вайтбординга и даже, вотэтоповорот, не для того, чтобы бежать и имплементить их в Новогодний Выпускуктовом коде. Они нужны банально для того, хотя бы, чтобы уметь выбрать оптимальный, уже реализованный алгоритм и необходимую библиотеку. Откуда у человека без базы возьмётся представление о бинарном поиске или о префиксных деревьях, если применение их требует слуГлинтвейн? Или будем жрать с ложечки инструкции от техлида?
Это объяснение подходит к питону, жс, даже SQL. В чем твой аргумент по пчп?
>Они нужны банально для того, хотя бы, чтобы уметь выбрать оптимальный, уже реализованный алгоритм и необходимую библиотеку
Да, но для этого требования "знания" алгоритмов куда меньше, на порядки меньше чем их требуют знать на Стишок на табуреткее
>носится со сказанной, некогда, мантрой
Сам же признаешься что всё сводится к выбору библиотек и сам же называешь это мантрой. Ну ты уж определись наверное?
>Сам же признаешься что всё сводится к выбору библиотек и сам же называешь это мантрой. Ну ты уж определись наверное?
А в чем ты видишь противоречие? Чем более объемные знание алгоритмической базы => тем выше вероятность принимать (по месту) верные решения в выборе библиотек, их реализующих.
Чем меньше знаний в области алгоритмической базы, тем больше времени ты тратишь на поиск решения и с меньшей вероятностью примешь верное (по месту) решение.
Разницу видишь? А она есть. Ты утверждаешь, что знание алгоритмов не нужно, при этом каким-то мифическим образом Белый Медведь знает, какую именно применить библиотеку. Про это был мой заключительный тезис.
>Нахуя вам свойства, чуваки? Что вы в них суете?
Ну ТУТ ТАК ЗАВЕДЕНО, а именно POJO-стандарт, во-первых
Раньше там было удобно разделять чтение и запись для поиска по кодовой базе, сейчас ИДЕ с этим справляется конечно
Плюс удобно перехватывать запись или чтение и что-то делать по этому событию/возвращать другое значение формально сохраняя интерфейс (т.е. переделывать все не надо)
Но мне кажется сейчас уже вполне для простых дата-объектов можно использовать ридонли поля, хотя моя команда наверное с этим не согласится.
>Ну ТУТ ТАК ЗАВЕДЕНО, а именно POJO-стандарт, во-первых
Какая нахрен POJO. 🍊Bean уж тогда, а не POJO...
Ну епт - ТУТ же страшная и ужасная 🍊, какие к ней могут быть вопросы. Вопрос был про ТАМ, где 🥗еи и прочие завсегдатаи ту🎄 языковых срачей дрочат на языковую фичу "проперей". Нахуя вам эта фича, челы?
В том же 🥗е, к примеру - 🥗еи хоть когда то суют в эти свои пропертя хоть что то? Или в качестве дрочепаттерна под каждым свойством обмазываются `{ get; set; }`?
>В том же 🥗е, к примеру - 🥗еи хоть когда то суют в эти свои пропертя хоть что то? Или в качестве дрочепаттерна под каждым свойством обмазываются `{ get; set; }`?
Изредка бывает логика в свойствах.
Может быть ридонли свойство, которое вычисляется. Ну типа объект прямоугольник, и у него есть площадь равная произведению сторон.
Может быть надо изменить что-то в логике не меняя контракт, тогда вписываешь логику.
В подавляющем количестве случаев, конечно, просто гетсет.
>В подавляющем количестве случаев, конечно, просто гетсет.
О чем и речь. Зато гонору, понтов было - уууу...
>Может быть ридонли свойство, которое вычисляется. Ну типа объект прямоугольник, и у него есть площадь равная произведению сторон.
А честный метод square() для такого случая чем хуже?
> А честный метод square() для такого случая чем хуже?
Вычисляешь один раз на апдейт сторон, а не каждый раз при вызове. В хайлоаде (и наверное геймдеве) критично, остальным похуй
Да ладно. Хошь сказать вычисляемые свойства 🥗а из коробки умеют в кэширование и инвалидацию? Чет верится с трудом. А нахрена тогда вот здесь в доках стока ебли - руками кешируют фуллнейм, руками зануляют его если чето изменилось...
https://learn.microsoft.com/en-us/dotnet/csharp/properties#cached-evaluated-properties
Эдак как в примере я и с методом могу. Че тут такого?
>>В подавляющем количестве случаев, конечно, просто гетсет.
>О чем и речь. Зато гонору, понтов было - уууу...
Ну так в джаве тоже принято геттеры и сеттеры делать для каждого поля, потому что по инкапсуляции публичных полей быть не должно.
>>Может быть ридонли свойство, которое вычисляется. Ну типа объект прямоугольник, и у него есть площадь равная произведению сторон.
>А честный метод square() для такого случая чем хуже?
1. Так реализация протекает в контракт.
Пользователь теперь точно знает, что там какие-то вычисления.
2. Это же не какое-то действие, это просто получение атрибута. Это по сути семантический маркер. Типа побочных эффектов нет, тяжёлых вычислений нет, сущности не плодятся.
>Ну так в джаве тоже принято геттеры и сеттеры делать для каждого поля...
Кто бы спорил - я с этого же и начинал (>>2977804).
>потому что по инкапсуляции публичных полей быть не должно
Ага. У объектов. Только где объект, а где структура данных. Хошь честное ООП, нечего упарываться по структурам - проектируй адекватно публичный контракт к этим данным. Но йоу, по чистому ведь в ООП давно уже никто не кодит, так нахуя проецировать принципы парадигмы на те вещи, которые ей попросту не принадлежат? Ради самого принципа?
>Так реализация протекает в контракт.
Нихуя. Метод square() как раз и есть честная абстрактная декларация того, что к сущности, которая им обладает, применимо такое понятие как "площадь", при этом алгоритм вычисления площади (который суть и есть - деталь реализации) этой декларацией никак не раскрывается. Метод square в теории вообще может быть частью интерфейса "фигура", для которого объект "квадрат" будет лишь одной из многих возможных имплементаций.
Если в 🥗е свойства можно абстрактно декларировать в интерфейсах, то здесь по части инкапсуляции - паритет, разницы никакой.
>Это же не какое-то действие, это просто получение атрибута. Это по сути семантический маркер. Типа побочных эффектов нет, тяжёлых вычислений нет, сущности не плодятся.
Хз, ИМХО ты щас какие то загоны описываешь. По твоему если метод - то обязательно внутри должна быть стейтфул-персистентная хтонь? Почему метод не может тоже быть свободен от сайд-эффектов?
Если уж речь пошла про маркеры - обрати внимание: я не предлагал называть метод getSquare. Как раз по той же причине что ты озвучил - это не действие.
Вместо котелка лучше Groovy, конечно.
Эмулятор это вообще довольно широкое понятие, если речь о современных приставках то тут тебе не эмулятор нужен, а виртуальная машина которая будет запускать ОС этой приставки.
В старых приставках типа sega нужен был именно эмулятор, прошивка системы не смогла бы работать на железе в 2 раза мощнее, потому что код самих игр полагается на то чтобы запускаться на определенном железе. Ну там раз в N-операций процессора генерируется враг и тд.
ОС пски запустить на более хуевом железе чем сама пс-ка можно. А вот полноценный эмулятор написать не получится так как ты хочешь.
Вообще ты лучше скажи чего ты хочешь добиться чемс эту хуйню. Можно ли написать код так чтоб заставить игры летать на хуевом железе? Нельзя
Ровно наоборот. Вместо getValue() для каждого поля пишешь свойство. Поля должны быть доступны из вне, но изменяться только внутри класса.
Пока джава-господа вешают один @Getter на весь класс, шарподегенераты хуярят это на каждое поле и прихрюкивают про getValue(), которые уже 20 лет никто не пишет.
Если я правильно понял, это отдельная библиотека, которая точно так же генерирует геттеры, только через костыль в виде аннотации. Так что ты так же гет сеты пишешь по сути, так в чем доеб?
Я не шарпер и не жабер
>вешают один @Getter на весь класс
Как будто повод для гордости. Уже кучу релизов как рекорды завезли, а джаваны все еще ломбокоректал себе в анус ставят.
Ну явно больший повод для гордости, чем ебучие {get; set;}. Да и рекорды часто используются, когда подходят по задаче.
В том, что я пишу один раз на весь класс, а шарподауны по 20 раз на класс.
>Сравнение эффективности 20 языков программирования
https://www.opennet.ru/opennews/art.shtml?num=60384
си, зиг, ним, остальные... )
>>2973076 (OP)
>производительность PHP оказалась примерно в 4 раза выше, чем CPython
Че ты хуйню какую-то принес, уже сто раз показывали разные тесты где джава и раст на пару ебут всех во все дыры.
Джава самый медленный из "быстрых" языков. Быстрее пыхи руби питона жса и производных, но медленнее си, си плюсов, объектив си, раста, го и всего что компилируется в нативный код. А разгадка одна - jvm
>ц, в, фортран90, ржа, д, зиг, ним, свифт(, юля)
с принебрежимой разницей
все задачи так и не реализованы для всех языков
сколько это ещё будет продолжаться, как думаете?
Что продолжаться? Постинг каких-то манякартинок в тред?
https://github.com/gunnarmorling/1brc
Ну ты организуй такой же ивент, чтоб тебе присылала код куча народу, получишь свои пруфы.
>джава в 2024
Во-первых зачем это мертвое говно в треде, а во-вторых
https://github.com/gunnarmorling/1brc/discussions/44
Может за 4.25 секунд, но один хуй бенчи это развлечение для даунов.
Ну ты интересный такой. Взял многочасовую работу кучи людей и принёс сюда, типа повторите.
Тебе никто бесплатно такое делать не будет.
При этом я уверен, что твоя собственная имплементация на джаве работала бы значительно медленнее.
>This approximately scales to 8.8 seconds on the evaluation server (by comparing local run of the top reported result to the reported time).
Шарподебил не осилил дочитать до конца, да?
@
>https://github.com/gunnarmorling/1brc/discussions/44#discussioncomment-8025810
>Unfortunately not available on unix platform as I see : Unhandled exception. System.PlatformNotSupportedException: Named maps are not supported.
Что из-за jvm скорость ниже. Хватит включать дурачка, дебилоид, если ты, конечно, хоть чтл-то включал.
У С++ преимущество - он обратно совместим с Си. Почти полностью, за исключением некоторых нюансов. Впрочем, как и Паскаль с классами это надмножество на классическим Паскалем.
Кроме того эти языки способны генерировать код, который способен работать на голом железе, без операционной системы. Кто еще, кроме Forth и не к ночи упомянутых ассемблеров так может?
Все скриптовые языки, кроме Бейсика из BIOS, нервно курят в сторонке и даже не расматриааются.
А всякие модные языки для "системного программирования" подходят для системного программирования только на бумаге.
Для некоторых задач подходят C# и Java, но только там, где малой ценой нужна безопасность. Их прелесть в том, на них сложно сделать косячную программу, которая будет искажать резульат. Программа по любому чиху сгенерит exception и привлечёт внимание разработчика, в то время как нативно скомпилированные программы могут хуячить хуйню, но не падать, пока не вылезли за пределы своей памяти.
Самые хуёвые языки это ассемблеры. Сложность написания кода, большой объём исходного кода, непереносимость - всё это убивает в них смысл. Единственный смысл в ассемблерах - писать на них архитектурно-зависимые оптимизированные библиотеки.
Видится мне что по ту сторону экрана сидит какой-нибудь питухонщик, ни разу не писавший на крестах, который создал пост, чтобы получить кучу хейта к плюсам в ответ и получить от этого некоторое извращённое удовольствие. Ни один программист, увидевший то, как его программа упала из-за ошибки, о которой нет информации больше, чем "SIGSEGV", без какого-либо номера строки и вообще пояснения в принципе, не будет хвалить плюсы.
Девочка, тебя сегодня нахуй посылали?
Закрой свою пасть - землю видно.
Я тебе сейчас int 21h в попу засуну, будешь на видеоадаптере Hercules до конца своей бесполезной жизни работать.
А ну кыш отседова, чепушила! Кто тебе, ковырялке слово давал?
Ах да, тупая ты пиздень, используй ключ компиляции -g, для g++. И запускай програму под gdb. И увидишь ЧО происходит.
Но сначала нахуй пройди.
Потому что ебало завали. И не спорь с дядей, который первую денюжку за программирование получил в 1993 году, когды ты ещё не родилось наверное. Иди, сука, спорь с такими же как ты, а не лезь со свиным рылом в калашный ряд к ГОСПОДАМ.
1. Пиши код правильно.
2. Используй msvc - лкчшую среду разработки.
3. Покрывай тестами.
4. Прототипируй алгоритм на типобезопасных языках.
Слушай, я не говорил что С/С++/Pascal это идеальные языки. Они не идеальны, далеко не идеальны, но они лучшие. На них реально можно написать ВСЁ.
Forth это академическая хуйня. Придуман для управления телескопом. Знать его, точнее ознакомиться, не помешает - надрачивать на понимание обратной польской записи он самое то, но практическая ценность маловата.
Это цена, которую приходится платить за скорость. Вот я вчера ебался с портом win- api программы под Иксы. Забыл проинициализировать поле структуры. В дебажной компиляции всё работало, а в релизе генерило хуйню. Пришлось обмазываться отладочным выводом в stdout, дрочить gdb и нервничать. Типобезобасные языки выловили бы ошибку, наверное, на этапе компиляции. А если бы не выловили, то при старте программы точно бы указали на проблему с неинициализированным полем структуры.
Но фишка в том, что эта программа, о которой веду речь, была бы просто бесполезна, будь она написана на любом языке, который не может генерировать нативный код, в виду неприемлемого быстродействия.
Я сказал. Мне похуй - я эксперт с опытом разработки более 30 лет. И пока, слава богам, в маразм ещё не вступил.
Ну приходи тогда, когда принесёшь что-то побольше яскозал.
>Просто потому, что на них можно написать ВСЁ.
Щас бы плюсах скрипты для автоматизации, интернет магазины или фронтенд
Легко и непринужденно.
А если лениво, то можно за недельку/месяц написать интерпретатор любого скриптового языка и реализовать на этом интерпреторе то говно, что ты перечислил.
Кстати, долбоёбы так и поступают. Долбоёбы породили PHP, Питон и прочую грязь.
А так-то и на bash, можно программироаать, если это можно назвать программированием.
Скажем так, мой код есть в продуктах, которые используют десятки тысяч пользователей по всему миру. И который используют прикладные программисты. Возможно что даже ты сталкивался с производными от моего труда, только косвенно, через третьи или четвёртые руки.
Нет, мне не нравится то, за что мне платят деньги. Но такова жизнь. И самое забавное что это не любимый мной С++.
Ясн, безработный.
Ммм, узнаю этот вайб дебила из яндыкса
>мы пишем все на С++ патаму что нам нужна про-из-во-ди-тетльность
>тысячи микросервисов говна, общающихся через json
>общающихся через json
Ну хоть не через XML.
В принципе, я всегда любил бинарные протоколы. И сейчас люблю. Но не все. С тех пор, как пришлось покопаться во внутренностях XLS (не путать с XLSX), моя любовь к бинарным протоколам значительно поубавилась. Заебёшься отлаживать бинарные протоколы.
А С++ охуенный язык, но только если на него долго и мучительно переползать с Си. Если учить его до Си, то можно и не понять смысл указателей. А без указателей С++ вырождается в неэффективный инструмент для дебилов.
сравни
std::stack<struct MyHugeStruct> bla1;
и
std::stack<struct MyHugeStruct*> bla2;
Вроде мелочь, звёздочка, а смысл меняется полостью.
>А С++ охуенный язык, но только если на него долго и мучительно переползать с Си. Если учить его до Си, то можно и не понять смысл указателей. А без указателей С++ вырождается в неэффективный инструмент для дебилов.
Переползать с си? Те кто на си кодят уже никуда не переползают, лол
>переносимость
Очень переоценённое качество. И понимается превратно.
>Сложность написания программ.
Имплицитное качество программирования вообще.
В ЯВУ тщательно суетливо заметают под ковёр - итог предсказуем.
> Очень переоценённое качество. И понимается превратно.
Уф, сейчас бы поддерживать ≈20 актуальных микроархитектур процессоров
>TIOBE
Питон, Си, Си++, Ява, Си#, ЯваСкрипт
>PYPL (Google Trends)
Питон, Ява, ЯваСкрипт, Си/Си++, Си#
>IEEE Spectrum
Питон, Ява, Си++, Си, ЯваСкрипт, Си#
>RedMonk (GitHub)
ЯваСкрипт, Питон, Ява, ПХП, С#, ЦСС, Си++
Итого: Питон, Ява, ЙС, Си/Плюсы, Шарп!
Нинужна.
Подожди, а нахуя там волатайл вынесен в анноташки? Че типа эти сумрачные гении посчитали, что если есть атомики, то волатайлы не нужны?
Нет, на джаве есть валью типы, это примитивные типы.
Вообще-то по тиобе Скрэтч круче раста, котлина, матлаба, го и руби. Так что кто не пишет на скратче трейдинговые микросервисы скоро останется без работы.
А с чего ты взял, что это жабоёб? По говноедству в этом треде шарпомухи гораздо больше. Неспроста они мухи же.
Как так? А кто оправдывает бойлерплейт возможностью среды разработки сгенерировать его (сидит в классах с говном)? А кто жрёт то, что скормили майки с лопаты, презирая всё что неискаропки, даже если скормлено говно?
>Как так? А кто оправдывает бойлерплейт возможностью среды разработки сгенерировать его (сидит в классах с говном)?
public record Dto(int Prop1, string Prop2);
Всё, короче уже некогда. А ты дрочи свой жабий бойлерплейт, генерируемый костылями типа лобка.
>А кто жрёт то, что скормили майки с лопаты, презирая всё что неискаропки, даже если скормлено говно?
Я такого нигде не писал. Например, NewtonSoft.Json -- очень хороший 3rd party сериализатор, лучше изкоробочного. Использую везде, где надо руками работать с джейсоном.
А причём тут рекорды и твои мнения, если речь шла про то, какие оправдания я получал в шарпотреде пару месяцев назад, когда делал круговое обоссывание?
>А причём тут рекорды и твои мнения, если речь шла про то, какие оправдания я получал в шарпотреде пару месяцев назад, когда делал круговое обоссывание?
Рекорды тут при том, что это самое то для хранения данных. Работает быстрее, чем классы, и иммутабельные, чтобы всякие джуны не смели значения менять.
Я не знаю, что там писали пару месяцев назад, и я не отвечаю за других разработчиков, если что.
Впрочем я подозреваю, что круговое обоссывание ты делал ровно над собой, учитывая то, насколько жаба хуже шарпа.
> Рекорды тут при том, что это самое то для хранения данных. Работает быстрее, чем классы, и иммутабельные, чтобы всякие джуны не смели значения менять.
А причём тут всё это?
> учитывая то, насколько жаба хуже шарпа.
Как так? А у кого
1. Семантика.
1.1. Неймспейсы. Полный пиздец. Рассинхрон с пакетами, лишние отступы, проблемы с уникальностью названий - полный пиздец.
1.2. Перенос { на новую строку. Это уродливо. Читать код с кучей не пустых, а заполненных одним ебучим символом строк - неудобно.
1.3. Наследование интерфейса через :. Бесполезное сокращение.
1.4. IZalupa как название интерфейса по дефолту. Убивает семантику полиморфизма. Когда ты обращаешься в джаве к интерфейсу, ты чувствуешь, что обращаешься к живому объекту, а не к гондону между объектом и тобой.
1.5. Названия методов с большой буквы. В джаве после прочтения первого символа сразу понятно, что это не операция делегирования, а уже непосредственно вызов.
2. Функционал.
2.1. Наличие бойлерплейта (в джаве есть ломбок, который наглухо разъёбывает уродские попытки в избавление от бойлерплейта в петушарпе с помощью get; set;.)
2.3. Отсутствие виртуальных тредов.
2.4. Прибитость гвоздями к винде.
2.5. Отсталые енумы.
2.6. Отстутствие модулей.
2.7. Отсутствие системы сборки. Нугет/мсбилд - это посмешище, которое даже с антом сравнивать без смеха нельзя. А на джаве есть такие божественные тулзы, как мавен, с тысячами плагинов.
3. Экосистема. У петушарпа позорная экосистема.
4. Свобода и распределённость. На петушарпе половину всего кода пишут майки, водя за ручку петушарповых детишек и говоря им, что и как делать. Следствием из этого является пункт 3 и ограниченность петушарпа ровно на том, что нахуевертили майки. Пока на джаве ты волен, как барин, воротить нос и выбирать лучшую библиотеку под твои задачи, на петушарпе ты жрёшь то, что тебе с лопаты майки скормили. Пока на джаве ты выбираешь между жуком и queryDSL, на петушарпе ты жрёшь огромную кучу говна, слепленную из несовместимых вещей, что в здоровом Java мире даже никак не пересекаются, под названием LINQ.
5. Поддержка кода. Пока код с Java 1 работает на Java 19 и будет работать вплоть до Java 119, на петушарпе каждую версию ломается обратная совместимость, нельзя просто взять и заюзать библиотеку, в которую не было завезено апдейтов за последние несколько лет.
6. Скорость. Петушарп намного медленнее джавы, взять тот же techempowered и тот самый видос где джава обоссала в 11 раз шарпоговно.
> Рекорды тут при том, что это самое то для хранения данных. Работает быстрее, чем классы, и иммутабельные, чтобы всякие джуны не смели значения менять.
А причём тут всё это?
> учитывая то, насколько жаба хуже шарпа.
Как так? А у кого
1. Семантика.
1.1. Неймспейсы. Полный пиздец. Рассинхрон с пакетами, лишние отступы, проблемы с уникальностью названий - полный пиздец.
1.2. Перенос { на новую строку. Это уродливо. Читать код с кучей не пустых, а заполненных одним ебучим символом строк - неудобно.
1.3. Наследование интерфейса через :. Бесполезное сокращение.
1.4. IZalupa как название интерфейса по дефолту. Убивает семантику полиморфизма. Когда ты обращаешься в джаве к интерфейсу, ты чувствуешь, что обращаешься к живому объекту, а не к гондону между объектом и тобой.
1.5. Названия методов с большой буквы. В джаве после прочтения первого символа сразу понятно, что это не операция делегирования, а уже непосредственно вызов.
2. Функционал.
2.1. Наличие бойлерплейта (в джаве есть ломбок, который наглухо разъёбывает уродские попытки в избавление от бойлерплейта в петушарпе с помощью get; set;.)
2.3. Отсутствие виртуальных тредов.
2.4. Прибитость гвоздями к винде.
2.5. Отсталые енумы.
2.6. Отстутствие модулей.
2.7. Отсутствие системы сборки. Нугет/мсбилд - это посмешище, которое даже с антом сравнивать без смеха нельзя. А на джаве есть такие божественные тулзы, как мавен, с тысячами плагинов.
3. Экосистема. У петушарпа позорная экосистема.
4. Свобода и распределённость. На петушарпе половину всего кода пишут майки, водя за ручку петушарповых детишек и говоря им, что и как делать. Следствием из этого является пункт 3 и ограниченность петушарпа ровно на том, что нахуевертили майки. Пока на джаве ты волен, как барин, воротить нос и выбирать лучшую библиотеку под твои задачи, на петушарпе ты жрёшь то, что тебе с лопаты майки скормили. Пока на джаве ты выбираешь между жуком и queryDSL, на петушарпе ты жрёшь огромную кучу говна, слепленную из несовместимых вещей, что в здоровом Java мире даже никак не пересекаются, под названием LINQ.
5. Поддержка кода. Пока код с Java 1 работает на Java 19 и будет работать вплоть до Java 119, на петушарпе каждую версию ломается обратная совместимость, нельзя просто взять и заюзать библиотеку, в которую не было завезено апдейтов за последние несколько лет.
6. Скорость. Петушарп намного медленнее джавы, взять тот же techempowered и тот самый видос где джава обоссала в 11 раз шарпоговно.
>public record Dto(int Prop1, string Prop2);
>Всё, короче уже некогда. А ты дрочи свой жабий бойлерплейт, генерируемый костылями типа лобка.
Так рекорды в джаббе есть
GraalVM компилирует в нативный код. Ещё оправдания?
Тут дело не в том, что они и в джаве есть, а в том, что они никакого отношения к теме не имеют. Это как отвечать на вопрос про конструкторы заявлениями про медленность джавы.
Ещё как имеют.
Plain old objects в шарпе получаются длиннее, чем в джаве+ломбоке, но рекорды, в которых можно, и даже более предпочтительно во многих случаях, хранить данные, в шарпе короче, чем в джаве.
Но вообще вопрос не стоит выеденного яйца, потому что разница в обеих случаях мизерная, плюс в шарпе в свойствах может быть не только гет-сет, но и гет-инит, который разрешает устанавливать значение только при инициализации объекта. Ещё в шарпе свойство можно пометить как required, и компилятор будет проверять, что ты ему присваиваешь значение каждый раз, когда объект создаёшь. Такое ломбок не умеет.
Ну и, конечно же, объект с гет-сет свойствами в шарпе инициализируется так: new Person { Name = "Skuf", Age = 40 }, что хорошо сочетается с init и required, в то время как в джаве придётся вызывать сеттеры.
Так что в целом джава по бойлерплейту и возможностям касательно plain old objects сосёт с проглотом.
Тред можно закрывать? Всё разложил по понятиям?
Какой же даун блядь, это просто пиздец. Мало того что он не понял смысл поста и продолжил повторять нерелейтед хуйню, так и ещё насрал в штаны, опозорившись на незнании элементарного @RequiresArgsConstructor.
>Какой же даун блядь, это просто пиздец.
Ага, я с тебя, дауна, уже больше месяца хуею.
>Мало того что он не понял смысл поста и продолжил повторять нерелейтед хуйню,
У тебя как у золотой рыбки память что ли?
- азаза гет сет бойлерплейт дерп дерп
- можно данные хранить в рекордах, у них вообще минималистичный синтаксис декларации
- в джаве тоже рекорды есть
- да, но там декларации длиннее
- хурр дурр нерелейтид
Оно ещё как релейтид, даунидзе.
> так и ещё насрал в штаны, опозорившись на незнании элементарного @RequiresArgsConstructor.
Дополнительный бойлерплейт. Мало того, что по декоратору на поле надо вешать, так ещё и на класс декоратор. В итоге вполне вообще получается ехал декоратор через декоратор, а код вообще не похож на то, что получается в итоге.
Ещё и в импорты эти все декораторы надо записывать, вообще пиздец.
И даже это уродство всё ещё не дотягивает до элегантной шарповой инициализации.
Да, FAR. У фара крышу сносит от этого синтаксиса - некоторые мнемоники угадывает, а о некоторых не знает.
Ему нужно внимание.
Какой же даун блядь, это просто пиздец. Мало того что он до сих пор не понял смысл поста и продолжил повторять нерелейтед хуйню, так и ещё насрал в штаны, опозорившись на незнании того, куда вещается @RequiredArgsConstructor и как пишутся и работают импорты.
Ты натурально то ли тупой, то ли слепой.
>куда вещается @RequiredArgsConstructor
Что я писал?
> Мало того, что по декоратору на поле надо вешать, так ещё и на класс декоратор.
А на поле тебе надо @NonNull вещать (sic!) или делать его final, но это уже другое поведение.
>как пишутся и работают импорты
Ну и как они пишутся? Через шорткат IDE подставляет? Так я и {get; set;} через шорткат добавляю. После первой строчки мне
VS конкретно советует это писать на всех остальных, и подставляет это через tab. В этом случае твой аргумент про {get; set;} инвалид, а ты просто тупое чмо.
Но давай посмотрим конкретно на пример с сайта лобка
https://projectlombok.org/features/constructor
>import lombok.AccessLevel;
>import lombok.RequiredArgsConstructor;
>import lombok.AllArgsConstructor;
>import lombok.NonNull;
Итого 4 импорта, в шарпе был бы 1.
>@RequiredArgsConstructor(staticName = "of")
>@AllArgsConstructor(access = AccessLevel.PROTECTED)
>public class ConstructorExample<T> {
> private int x, y;
> @NonNull private T description;
>
> @NoArgsConstructor
> public static class NoArgsExample {
> @NonNull private String field;
> }
>}
Итого 5 декораторов на 5 строчек с каким-то кодом.
В итоге это разворачивается в код, который из примера выше совершенно не читается.
И вся эта еботня только потому что java не умеет в свойства.
Ты натурально то ли тупой, то ли слепой.
>куда вещается @RequiredArgsConstructor
Что я писал?
> Мало того, что по декоратору на поле надо вешать, так ещё и на класс декоратор.
А на поле тебе надо @NonNull вещать (sic!) или делать его final, но это уже другое поведение.
>как пишутся и работают импорты
Ну и как они пишутся? Через шорткат IDE подставляет? Так я и {get; set;} через шорткат добавляю. После первой строчки мне
VS конкретно советует это писать на всех остальных, и подставляет это через tab. В этом случае твой аргумент про {get; set;} инвалид, а ты просто тупое чмо.
Но давай посмотрим конкретно на пример с сайта лобка
https://projectlombok.org/features/constructor
>import lombok.AccessLevel;
>import lombok.RequiredArgsConstructor;
>import lombok.AllArgsConstructor;
>import lombok.NonNull;
Итого 4 импорта, в шарпе был бы 1.
>@RequiredArgsConstructor(staticName = "of")
>@AllArgsConstructor(access = AccessLevel.PROTECTED)
>public class ConstructorExample<T> {
> private int x, y;
> @NonNull private T description;
>
> @NoArgsConstructor
> public static class NoArgsExample {
> @NonNull private String field;
> }
>}
Итого 5 декораторов на 5 строчек с каким-то кодом.
В итоге это разворачивается в код, который из примера выше совершенно не читается.
И вся эта еботня только потому что java не умеет в свойства.
>>3018118
А как по мне - вы о какой-то хуйне спорите.
Не, ну серьёзно.
Тут вот то ли мальчонка, то ли девчонка, пишет, мол, "чего ты нерелейтед хуйню постишь?". А мне больно от сего, тонкие струны души задевает. И от вашего пустого спора тоже больно. Обсуждаете сорта... э-э-э-э-э... управляемых языков, в какие-то дебри лезете.
Плясать нужно от задач. Не писюнами языками программирования меряться, а задачами, которые решаешь. Это более адекватная оценка. Не правда ли?
Какой же даун блядь, это просто пиздец. Мало того что он до сих пор не понял смысл поста и продолжил повторять нерелейтед хуйню, так и ещё насрал в штаны, опозорившись на незнании того, зачем нужен и что делает ноннулл и как пишутся и работают импорты.
По существу было сказано ещё до трёх твоих нерелейтед бахов, на что как раз ты по существу не ответил.
Чет хитрые жабисты не упомянули чем все закончилось.
Потому что есть опенждк, а вот якобы бесплатный петушарп у которого половина классов работает только на проприетарной шинде как раз проприетарное говнище. Ой-ой, опять шарподаунам надавали за щеку на их же тейках?
Почему так?
До джава 8 ты писал на том рантайме который в продовом аппликейшн-сервере.
Потом контейнеры убили аппликейшен сервера, но примерно в то же время оракл поменял лицуху на свой рантайм и модель релизов, а также, начиная с 9 выпилили часть мёртвых фич и сломали обратную совместимость для любителей в рантайме попатчить чужие классы. В итоге, все кто выбрались из ямы java8 кучкуются вокруг lts релизов - 11 и 17.
https://www.oracle.com/java/technologies/java-se-support-roadmap.html
https://access.redhat.com/articles/1299013
Что ты высчитываешь? Результат в табличке - это всё запуск на одном и том же сервере, что джавы, что дотнета.
Тут не надо ничего сканировать, оно прямо так и сравнивается.
Плюс к этому, решение buybackoff слева и справа - это разный код, они же все регулярно апдейтят свои программы, добавляя новые оптимизации.
Окей. Потому что ты поделил лампочки на апельсины, потом умножил на абу и получил в итоге какую-то хуйню.
Так понятнее?
Какое сочное ВРЕТИ от анального жабаклоуна.
Оладушек, на скринах прогоны для разных версий кода и твои расхождениях в коэффициентах объесняютсч очень прост - все участники успели дополнительно оптимизировать свои реализации (у тебя же на скрине написано 3 weeks ago, а по ссылке анона время последнего прогона всех решений 22 января, что было неделю назад)
А может быть в том, что перед тем, как прогонять петушарповый тест его прогревают в хайперфайне, а джавакод не прогревается? Об этом не подумал, шарподебилоид?
>hyperfine -w 1 -r 5 -- "./1brc ~/git/1brc_data/measurements.txt"
>>3022029
Все спорите об управляемых языках. Вы этим говном тред до бамплимита доведёте. Ух. Ну ловите дровишек.
Если вы пишите на безопаснвх языках, типа C# и Java, то вы неуверенные в себе люди и боитесь ошибок. Смелые люди пишут на языках, которые ограничивает лишь операционная система, а не средства языка.
Ну да, про unsafe я слышал, но его использование - признак плохого кода, плохого стиля, плохой надёжности, потенциальных проблем с переносимостью и плохого проектирования.
Ну так добавь прогрев для джава кода. Можешь просто мр с sh-ком в репозиторий лучше жабарешения оформить и дождаться пока новые результаты подтянут. А можешь просто добавить прогрев и все решения на своей машине прогнать (а лучше арендованной VDS-ке) и принести сюда. Пока что все твои вскукареки и высчитывание маня коэффициентов хуй знает между чем не более чем просто ВРЕТИ. Ты реальные цифры давай, с не попытки высчитать хуй знает что. Пока реальные замеры не принесешь - ты официально попущен.
Так у статистики джавы на 17 джаве 45%. К слову это не "40% на новом сидят", это "40% пользуются новым", там вместе больше 100% выходит намного.
Тебе кинули последнию версию этого говномарафона оптимизаций. Нахера ты там с контекста что-то вырезаешь. Отсосал и раст и жаба.
Жаба так медленно развивается, что естественно она будет сосать, это же древний кал.
По делу-то что-то высрешь?.
Я что-ли высирал про быстрый петушарп? Бремя доказательства лежит на утверждающем, так что тащи нормальные тесты с нормальным прогревом.
Я это делал на PDP-11 - писал в машинных кодах по справочнику.
Где теперь твой бох?
>>3022089
> тесты джесонов
https://www.json.org/json-en.html
Не, ну внатуре помешанные. На Сях/Плюсах/Паскале/etc за один день пишется потоковый обработчик json, с каллбэками, и он кроет по производительности ваши тесты ну просто на неприличную величину.
Не теми писюнами меряетесь, ох, не теми.
Это ты утверждаешь, что там нет прогрева и с прогревом будет намного быстрее, вот и доказывай свои утверждения сам.
>В том опросе новейшая
Как узнать, что джавист врет? Просто, он открыл рот.
Там кстати есть и 21 версия, но она там на дне статистической погрешности.
Тебе надо ты и тащи. Твоё утверждение - "жаба всрала только из-за того, что её не прогрели". Так что это тебе нужно этот тезис доказывать не мне. Так что прогрей код и принеси.
Хотя хз что ты там греть собрался. Код очень простой и при AOT-компиляции все возможные оптимизации и так применятся. Ну, можешь ещё PGO-замутить, если GraalVm в него может.
.net 7 release date November 8, 2022
java 17 release date 14 September 2021
Больше, чем на год новее 17 жабы
>> Чистым английским языком на скрине написано, что опрос проводили, когда .Net 8 был в превью и ещё официально не релизнулся
>> Джавадебил - АРЯ, ГДЕ 8 ДОТНЕТ?????
Так по такой логике и джава 17 новое. Ты либо крестик сними, либо трусы надеть.
Да кому не срать что какая-то лтс выход раз в десять версий, когда мы говорим про последние версии языков вообще.
А я думал мы говорили про актуальность языков, а не про перемогу в специальной олимпиаде.
Я не тот, анон с которым ты вёл срач дискуссию. Ели это был ответ на тейк "Где ещё не вышедшая жаба 21", то тогда извиняюсь, зря быканул.
Малолетнее чудо выбрало древнюю, не развивающуюся технологию и теперь превозмогает за все кобол сообщество.
Самое смешное, это как они называют технологические новшества в языках, грааль, валхала, ппц ну просто испанский стыд. Там даже для геттеров и сетеров свое имя завезли. А все почему? Потому что новшества если и прилетают, то они как праздник раз в 10 лет.
Ну не проецируй, шарпообоссанец. https://www.jetbrains.com/lp/devecosystem-2023/ . Если слишком тупой и не понял, где смотреть язык — слева вверху есть выпадающий список, где можно выбрать петушарп и джаву.
Всё кроме этого по делу:
> Малолетнее чудо выбрало древнюю, не развивающуюся технологию и теперь превозмогает за все кобол сообщество.
> Самое смешное, это как они называют технологические новшества в языках, грааль, валхала, ппц ну просто испанский стыд. Там даже для геттеров и сетеров свое имя завезли. А все почему? Потому что новшества если и прилетают, то они как праздник раз в 10 лет.
Всё, кроме того, что не по делу, по делу.
Ну так, дебил, у тебя
19 жаба 8%
7 дотнет 39%
Они как оба 2022 года.
Да блин очевидно что жаба по инерции летит на легаси, никто новые проекты на новых версиях не поднимает, а месят старое говно, которое лучше не трогать.
В шарпе тоже. .NET 6 и свежевышедший .NET 8 это LTS-сы.
Ну явно оно там поменьше влияния имеет, чем на джаве. На джаве большинство катятся с лтс на лтс не думая о промежуточных релизах. Да и если посчитаем с последнего лтс у обоих, то получим 76 попугаев на петушарпе и 72 попугая на джаве, с учётом того что петушарповый лтс вышел на год раньше джавовского.
Пошли МАНЯврирования. Давай так, теперь ты заявляешь, что тесты не валидны. Как это утверждение можно доказать? Правильно - прогнать самому тесты и принести реальные цифры, которые бы это доказывали. Так что ждём от тебя результаты прогона хотя бы лучшего прогретого жаба и дотнет решения. Философствования о том, что код не прогрет и поэтому тесты не валидны тебе не помогут, так как, ты сам согласен с тем, что прогрев, возможно, такого влияния иметь не будеть. Давай нам реальные цифры, а не манятеории.
Словесных доказательств невалидности достаточно, как достаточно было бы, если бы оказалось, что на петушарп, например, 100 миллионов строк загоняется вместо миллиарда. И я не говорил, что прогрев не будет иметь влияния, я лишь сказал, что факт валидности тестов от этого не изменяется.
Да некуда никто не катиться.
Будущее языка определяется тем, делаются ли сейчас новые проекты на языке или нет, по процентам видно что все больше тащат древнее говно.
В общем, спорить джава vs шарп, это как спорить perl vs php где-нибудь в 2002 году. Всегда видно когда технология "все", да кто-то там копошиться, даже вот асинхронность завезли когда бум был 14 лет назад.
Евангелисты еще повытаскивают язык, но уже все и убил язык не шарп, а котлин, который выпнул из андроида.
По делу-то что-то будет?
Не достаточно, так тебя нет достоверной информации о том, как прогрев жаба-кода повлияет на его итоговый результат в данном конкретном случае. Пока что все твои рассуждения это просто манятеории и ВРЕТИ.
Плюс, как ты прокомментируешь, что собранная AOT-ом версия шарпового кода на 60% быстрее AOT-нутой версии жабакода? В данной ситуации прогрев такого влияния иметь не будет, так как весь код уже был собран в натив + у AOT-компилятора было больше процессорного времени на выполнение оптимизаций. чем обычно есть у JIT-а.
Теоретически в джит с прогревом могут быть оптимизации на основании того, как оно конкретно работает.
Но вообще даже в чисто жабьем компетишене никто ничего не прогревает, так что если жабоклоуну так сильно хочется, то пусть прогревает сам.
> так тебя нет достоверной информации о том, как прогрев жаба-кода повлияет на его итоговый результат в данном конкретном случае.
Этого и не нужно. Достаточно возможности того, что это повлияет. И зная то, что java набирает скорость именно благодаря своему житу, не имеющего аналогов такого же качества, это вполне вероятно.
> Плюс, как ты прокомментируешь, что собранная AOT-ом версия шарпового кода на 60% быстрее AOT-нутой версии жабакода?
Прокомментирую так, что АОТ в джаве никогда не был задачей номер 1.
У шарпа разница между jit и aot гораздо меньше, чем у жабы. Получается, у жабы джит был ещё менее важной задачей, раз неважный аот настолько лучше.
У тебя контекст 5 последних постов или чё? Очевидно после прогрева весь код житом в нативный в памяти скомпилируется.
Сыглы, 3 года в бэке, ни разу не видел чтобы джаву использовали в проектах. Сейчас везде питон, нода, го. По постам в треде даже видно, что это умирающая технология.
Ты, чем спорить тут, давно бы уже проверил сам.
Возьми самое быстрое решение, запусти у себя на машине без прогрева, с прогревом и аот, и выложи результаты сюда.
Тогда будет понятно, надо ли что-то обсуждать или нет.
>> Теоретически в джит с прогревом могут быть оптимизации на основании того, как оно конкретно работает.
Я просто немного увлекался теорией оптимизации кода в студенчестве и особо не вижу в представленных жабарешеениях мест, где бы собранный во время исполнения профиль мог бы дать выполнить оптимизации, которые бы дали сильный буст относительно собранного AOT-ом кода. Одна из основных оптимизаций, которая даёт буст, собранному JIT-ом коду - девиртуализация интерфейсных вызовов, не может быть применена, так как они в коде не используются. А заинлайнить методы может и AOT-компилятор, причём сделает это эффективней, так как у него больше времени на просчёт различных эвристик.
>>3022217
Этого и не нужно. Достаточно возможности того, что это повлияет.
Ну так принеси замеры, где показывается это влияние. Только тебя не устраивают результаты тестов. Меня, и всех участвовавших в этой специальной олимпиаде джавистов они устраивают.
>>3022223
Ну а в .NET AOT теперь официально поддерживаемая фича. Так что заявления о том, что использовать AOT НИЧЕСТНА со стороны жабапараши не принимаются. И тогда, если сравнивать официально поддерживаемый жабой JIT и официальный шарповый AOT, разница вообще в 2 раза не в пользу жабы получается.
Ну пока что в треде шарподебилы по делу обоссывают джаваскуфа, а он передергивает, клоуничает и сливается от ответов. Многое говорит о комьюнити джавы.
Да проведу, проведу, не беспокойся. Не могу же я мгновенно вам нассать на ебальник, надо сначала мочу по мочеточнику продавить.
>>3022239
> Ну так принеси замеры, где показывается это влияние. Только тебя не устраивают результаты тестов. Меня, и всех участвовавших в этой специальной олимпиаде джавистов они устраивают.
> Этого и не нужно.
> Ну а в .NET AOT теперь официально поддерживаемая фича. Так что заявления о том, что использовать AOT НИЧЕСТНА со стороны жабапараши не принимаются. И тогда, если сравнивать официально поддерживаемый жабой JIT и официальный шарповый AOT, разница вообще в 2 раза не в пользу жабы получается.
Никто и не говорил, что использовать АОТ нечестно.
Себе в рот обоссывают что-ли?
>Да проведу, проведу, не беспокойся. Не могу же я мгновенно вам нассать на ебальник, надо сначала мочу по мочеточнику продавить.
Так ты не пиши посты, а проводи тесты. Тред никуда не уплывёт, мы можем пару часов подождать.
>> Да проведу, проведу, не беспокойся.
Хорошо, ждём. Только ссылку на репозиторий с кодом приложить не забудь. А то пиздлявым джавадебилам с двача (шарподаунам тоже, кстати) на слово веры нет.
Чайник рассела тоже никто не оспаривал.
А нет, шарподебилие может праздновать велику перемогу, петушарп смог объехать джаву аж на целых 36% с 1,4 секунд на джаве до 0,9 секунд на шарпоговне.
Но стоит сразу же поумерить пыл шарподебилов, это заслуга не говнета, а копротивленца, которому так припекло и поломало манямирок превосходство джавы, что он высрал 2к строк анальнейшей работы с небезопасной памятью (против 400 строк у топ 1 джавы с гораздо более адекватным кодом), и напомнить про существование бенчмарков в более реалистичных условиях на techempower, а также про проведённые в прошлом году бенчмарки линка и стрима, где стримы оказались в три раза быстрее и даже насколько я помню короче по строкам кода.
Бенчмарки проводились полностью на рам-диске для минимизации влияния всяких кешей диска и прочей хуйни, с 8 говнетом и 21 граалем, в зачёт шёл лучший результат из 10 запусков. По AOT'у: ожидаемо ухудшило результаты на джаве, так как у джита не было возможности собирать данные для оптимизации, и не, почему-то, не изменило результаты на петушарпе.
https://github.com/javach-kun/1brc-java-vs-petusharp-bench
Чувак там в шарпах целые команды сидят и пилят оптимизацию, просто вникни в патчи (ниже тебе ссылка даже на ру-подкасты). В жабе же все думают какой еще сахар с котлина стырить.
Жаба живет только на евангелистах на конфах, у них все там заведомо круче в головах, я сам в это тоже верил, а потом понял что наелся буллшитов.
https://www.youtube.com/@DotNetRu/videos
> В жабе же все думают какой еще сахар с котлина стырить.
Лол, ведь реально котлин теперь бета версия жабы
>бенчмарков в более реалистичных условиях на techempower
На techempower в реалистичных условиях спринг сосёт с проглотом у асп.нет, а выигрывают только какие-то недофреймворки, которые ничего не умеют, и которые никто не использует.
Я смотрю, один из участников забега со стороны джавистов пытался соптимизировать java-код с помощью unsafe-а. Но не получилось, не фортануло.
Как же работа с ансейфом в джаве юебищно выглядит, пиздец
Ты бы хоть посмотрел шарподебилий код.
Ебло, а в джаве не пилят что-ли? Один шипилёв чего стоит. И в реальных условиях джава как раз оказывается быстрее петушарпа благодаря его оптимизациям.
Ты бы ещё while (true) написал и спрашивал а почему зависло всё. Факт — джава быстрее, и кому надо может воспользоваться её скоростью. Очевидно долбоёбов с мантрой про преждевременную оптимизацию вместо мозга никакая скорость языка не спасёт.
>Как же код в джаве юебищно выглядит, пиздец
Починил тебя.
Я лично знаю несколько человек, которые писали на джаве, а потом перешли на шарп и вздохнули с облегчением. Наоборот не знаю никого.
И я сам, когда искал ещё свою первую работу, начал делать для одной компании тестовый сайт на жабе (спринга тогда ещё не было, всё приходилось руками делать), охуел от отсталости жабы и пошёл делать сайты на шарпе, у которого как раз вышел MVC 3.
К сожалению иногда приходится писать код под андроид, всё время плююсь от этого убожества.
>>3023011
> И в реальных условиях джава как раз оказывается быстрее петушарпа благодаря его оптимизациям.
>>3023012
>Факт — джава быстрее, и кому надо может воспользоваться её скоростью.
Пиздец у тебя самоубеждение. Тащи пруфы на скорость, потому что пока что ты ИТТ только сам себя обоссал.
Сори за оффтоп, но ты бы перешел с джавы на сишарп в 2024 или бы взял условный современный голанг? Меня тоже тошнит от джавы и уебищного спринг бута (это фреймворк над спрингом с кучей магии)
Плохому танцору яйца мешают.
Уже несколько раз в разных тредах объясняли, что микрофреймворки типа vert.x нельзя по скорости сравнивать с asp.net, потому что они легковесные, но ничего не умеют. Asp.net - это огромная махина, которая может в di, аутентификацию/авторизацию, обладающая длинным пайплайном обработки запроса, в который можно вмешиваться и что-то менять. Плюс ещё валидация.
Там исполняется очень много кода, который за всем этим аккуратно следит. За это приходится платить производительностью по сравнению с легковесными фреймворками, которые приняли запрос, десериализовали объект, вызвали твой код, взяли результат, сериализовали и послали.
Можно сравнивать asp.net с аналогичным по функционалу спрингом, и здесь жаба проигрывает. То ли джвм говно, то ли спринг говно.
И тебе уже отвечали, что это претензия только в сторону петушарпа, чьи разрабы не смогли в попилку копролита.
В айти мире, как в аптеке, всё имеет суть и вес.
Языку, как человеку, имя нужно позарез.
Имя вы не зря даёте, я скажу вам наперёд,
Как язык вы назовёте, так он обществу зайдёт.
Как язык вы назовёте, так он обществу зайдёт.
Назовите си плюс-плюсом и скомандуйте вперёд,
И язык полюбят люди, опенсорц и Microsoft.
А вот «ржавым» назовёте, не уйдёте от беды,
Его хейтить будут люди из-за каждой ерунды.
Его хейтить будут люди из-за каждой ерунды.
Скорость исполнения тоже важна. В большинстве случаев добавление удобства написания кода не обязывает ухудшать скорость работы, и оправдания медленности языка через его якобы удобство очень жалки.
Нет, если бы вам нужна скорость, вы бы писали свой WEB на С++ и Паскале с классами. Особо буйные полезли бы в Go.
Просто вы осознаёте что вашим языакам в системном программировании делать нечего, а востребованы они для задач, где нужно быстро и достаточно качественно обслуживать множество текстовых запросов, лазить к базам данных и перерабатывать информацию. За надёжность и скорость исправления ошибок и добавления новвх фич вы платите огромную цену в виде оверхеда по использованию процессора, ОЗУ и внешней памяти.
По хорошему - вас нас надо посадить на баржу, вывезти в океан и утопить. Но мы двигаем промышленность и делаем доступными технологии. Поэтому и живём.
Состою в обеих лагерях, могу биты крутить и регистры умножать, могу писать на этих ваших языках и присматривать за ними в кубере. В составе большой и опытной команды интересных людей. Впрочем, почему могу? Так и живу.
И всё же больно видеть ваш спор. Мышиная возня as is.
>яскозал
>мне этот мир абсолютно понятен!!!
Съеби отсюда, дай серьезным дядям порассуждать о языках
Сидят весь тред запуская микрописьки, которыми никто не пользуется еще и с ансейфом и меряютсянаносекундами вместо того чтобы запустить как в проде спринг и дотнет кор с написанным спагетти кодом из родословных классов и фабрик. Надо fizzbuzz enterprise edition сравнивать для полноты эксперимента
Ты не выглядиль на серьёзного дядю. Увы.
>Один шипилёв
Лол, он там реально один и то пилил гоферский сборщик мусора, который по мнению евангелистов был настолько плохой, что пришлось свой делать такой же.
Что ты высрал?
Если vert.x еще рабочее средство, то остальное там в списке чуть ли не для этих тестов и создавалось. Там страшно эту экзотику даже для петпроектов брать.
Был чел, которые кидал ссылки на самый быстрый (по тем годам) веб-сервер, который был настолько не продукт-реди, что зависал на 404 ошибке. То есть, его никто в течение двух лет даже не использовал (ибо обнаружили бы эту ошибку сразу) этот сервер существовал только чтобы мерятся джава-письками. Там даже автор вышел на связь только через месяц, насколько было насрать.
Но стоит отметить что и асп.нет, который там в топе, он там не дефолтный mvc. Я не сильно разбираюсь как там и что можно выкинуть, но вроде как раз без mvc.
Долбоёб тебя делал.
Нативный код, выраженный в машинных инструкциях по определению быстрее кода, исполняемого виртуальной машиной.
То, что в языки, генерирующие машинный код, пришли миллионы долбоёбов и начали писать как им душа велит, не означает что эти языки сосут по быстродействию. Решают не языки, а алгоритмы. Но при при прочих равных и Ява и С# соснут у любого языка, умеющего в нативный код, если его компилятор в прямых и опытных руках.
Так-то я уже приводил в другой теме. На Бейсике можно найти элемент в данных быстрее, чем на ассемблере, если данных будет достаточно много и программа на Бейсике использует хэш-функцию для поиска, а ассемблерный код будет искать перебором.
Это термальный граничный пример, когда на быстродействие действует выбор алгоритма - самый быстрый (в теории) способ соснёт с проглотом у самого мендленного.
Вымирающий системщик вылез из загона, показать как он нужен.
Каково осознавать, пока ты ручками память гоняешь, люди на управляемых языках пишут веб серверы нагибающие системные языки (ну или как минимум от них не остающие).
Если в 90 плюсы были всем, то к 2024 от них осталось только экзотика и крупный геймдев.
>люди на управляемых языках пишут
Так мне деньги за это платят. Я тоже так пишу. И не факт что моим кодом пользуется меньшее число пользователей, чем твоим. И не факт что географически ореал твоих пользователей шире. Не знаю кто ты, но имею мнение что у меня на пару порядков больше пользователей, чем у тебя, при условии что ты не из Яндекса, не из крупного банка, не из Госуслуг, не с Телеграмма/ВКонтакта/маил.ру|etc
А системное программирование это для души. Это другое. Это совсем совсем другое.
Это и всё на что ты спсобен? Наблатыкался верков и цепляешься за демагогию? Ну так знай - демагог из тебя тоже хуйёвый и до настоящего демагога тебе расти ещё и расти.
Значем чем мы отличаемся, даже если пишем на одном языке? Когда ты видишь документ нового формата, ты лезешь гуглить либу, которая сможет его распарсить. Я тоже лезу гуглить, но либу, а спецификацию на формат, чтобы суметь его распарсить. Вот и весь сказ.
Будешь пиздеть мне про Enterprise? Да рассказывай, послушаю. Только смотри чтобы когда ты полез гуглить, случайно не нагуглил мою либу.
>Я нужен, я важен
>Моя писька длиннее и вероятно имеет более широкий охват аудитории.
>Да да, вот такой я, а ты не такой, вот как я умею самоутверждаться на анонимных форумах, я не ничтожество!
Чувак, иди на пикабу.
Это твоя наплечная параша просто неспособна переварить.
Ты вообще кто? Заблудившася девочка HR, по ошибке залетевшая в этот тред? Хочешь посраться качественно? Ну так завсегда пожалуйста - заходи не бойся, уходи не плачь.
> на анонимных форумах
А чего сразу на анонимных? Про Неуловомиго Джо анекдот знаешь? Ну так ты анонимен настолько, насколько Джо неуловим.
>Когда ты видишь документ нового формата, ты лезешь гуглить либу, которая сможет его распарсить. Я тоже лезу гуглить, но либу, а спецификацию на формат, чтобы суметь его распарсить.
Ну то есть задачу, которая решается за час, ты решаешь несколько дней с неопределённым результатом и неизвестным количеством багов.
У тебя просто зависимость, и ты ей почему-то гордишься. Сама по себе зависимость не является чем-то плохим, но гордиться тут совершенно нечем.
>Ну то есть задачу, которая решается за час, ты решаешь несколько дней с неопределённым результатом и неизвестным количеством багов.
Всё хуже. Задача решается гораздо дольше, результат полностью определён, но в нём есть много багов. Баги исправляются, либа развивается. Главное чтобы баги не ломали чьи-то судьбы и не рушили бизнесы. Для этого вся эта безопасная байда и придумана, и именно поэтому вы спорите кто быстрее json парсит.
Нет, такой подход разработки, когда всё пишется внутри компании, я не пропагандирую. Наоборот, это плохо для бизнеса, плохо для проекта, плохо для денег, плохо для репутации, плохо для техподдержки. Всем плохо.
Но кто-то же пишет либы? Короче, считай что в этой теме я пиарюсь и понтуюсь. А всё от чего? Вот этот анон >>3014891 пришёл и в душу насрал.
И да, вот с этой >>3018151 картинкой неудобно получилось. Кто-то заприметил косяк, да ткнул в дерьмо. Но вот на него точно не в обиде, тот по делу ткнул и мои позором смыл ещё больший позор.
Ты правда странный какой-то. У тебя на картинке посимвольный разбор со стейт-машиной. Сложно придумать что-то более скучное, это, как мне кажется, уровень бухгалтерии: много однотипного, но при малейшей ошибке результат получается вообще не такой, как надо.
Я бы за такое удвоенную зарплату просил, а ты в виде хобби пишешь.
Там дело не в разборе. Всё гораздо хуже - разбор там оказался не нужен. Т.е. этот код, который провисел тут как демонстрация умений, оказался тупо не нужен. И вот этим фактом меня нормально так прилюдно отхлестали по лицу. А я сказал - спасибо, ты очень помог.
Ах да, сказал от души - он реально помог.
Нахуй он продолжает бредогенерировать?
Нет, ты просто взял и заглушил там все ошибки, все карл! Лол, скрипт-киди.
>За такое увольняют.
А ты хорош.
Я обделался лёгким испугом и побежал коммитить вот это, пока не уволили. Кода со скриншота в релизе точно не было.
Или может быть ещё в stdout ошибкой насрать? Вся, как вы любите.
Исключение в этом месте может быть сгененерировано только в случае ошибки во входных данных.
Не намного лучше. Всё в стиле ассемблеро-педальной блядиады, ПРОИЗОШЛА ОШИБКА и всё, ебись как хочешь.
>Или может быть ещё в stdout ошибкой насрать? Вся, как вы любите.
Да, пожалуй, это неплохая идея. Тред когда-нибудь в бамплимит упадёт и все всё забудут.
Или в stderr направить? Пожалуй, ошибка во входных данных всё же в stderr. Ну спасиба! Научили программировть.
Твои рекомендации уже закоммичены и я на тебя не в обиде, вроде и наехал, а пользы с тебя поимел. Спасибо.
Если бы ты не был настолько тупым, ты бы эту пользу получил самостоятельно в первую неделю программирования.
Это точно. Будем дальше обсуждать меня? Я не только тупой, но ещё и красивый. И немного умный. Но больше тупой. Давай, покорми, мож ещё какую пользу извлеку.
Как же он перекрывает.
Ты нарцисс просто. Все остальные как ты сидят в МВП треде, а ты нет. Давай ты просто пойдёшь к ним, и все будут довольны?
>нарцисс
Ты так говоришь, будто это что-то плохое. Ну, кроме раздражения у других нарциссов, которые это видят.
>Давай ты просто пойдёшь к ним
Там сообщения смывает вмиг. Не интересно. Впрочем, а с чего ты решил что меня там нет?
Может лучше об ассемблерах потрещим? Ты на каком ассемблере пишешь? Или твои программы аппаратно-независимы и кросс-платформенны? Насколько кроссплатформенны?
43
Я не хочу с тобой разговаривать. Я с тем же успехом могу и со своими коллегами поговорить, столько же толку будет.
Ты не хочешь рассказать о кроссплатформенности своих программ? Ну пусть не мне, а всем, кто это прочтёт и увидит.
Судя по тому, что ты Java/C# языки широко используются в Вебе, ты мог бы поумничать что твои программы работают везде, где есть браузер. Пальцы погнуть. А ты не хочешь. Может быть ты и правда заблудился в /pr и случайно сюда забрёл?
Поведай о кроссплатформенности.
Не знать что такое логирование. "Я такой же как и ты", говорит, лабы пишу, лол.
>Не знать что такое логирование.
Точно не знать? Это ж вы засираете терабайты логами. А некоторые ещё архивируют и хранят. В этом месте с картинки действительно нужен был лог. Но вы, охуевшие, пишите в лог самую поеботу, срёте-срёте-срёте в логи.
>Это ж вы засираете терабайты логами.
Ладно. Уговорили. Побуду недолго местным шизом, который разговаривает сам с собой. И побуду немного вами, теми, то срёт в логи. Вот вам "энтерпрайз" решение. В случае ошибки оно будет испражняться ошибками в логи, но продолжит спасать документ. Снова всё, как вы любите. Сделал это и мерзко на душе стало. Может не коммитить такое?
Вот это кстати уже неплохо получилось. Все плюсы fail-safe и fail-fast в одном флаконе.
Кстати, плохо. Хорошо что не закоммитил. Потому что в итоге знак вопроса будет не на своём месте. Его надо подмешивать в raw_chars в текущую позицию. А это уже не такая тривиальная задача, как может показаться на первый взгляд. Потому что знак вопроса сначала надо сконвертировать в "сырой" вид.
Вот финальный вариант. Его и запушу.
Засада может быть в каких-то дедовских кодировках из времён мэйнфреймов, там этот алгоритм может наебнуться дать сбой.
В остальных же всех кодировках знак вопрос это знак вопроса. Даже utf-32.
И даже в Shift-JIS есть вот такой - ?и он соседствует сосуществует вот с таким - ? Посмотри, это должны быть два разных символа. ??Разные!
И на этом основании, что символ вопросительного знака в любой современной кодировке имеет код https://bytetool.web.app/en/ascii/code/0x3f/
его можно подмешивать к сырым символам.
На каком же левеле логирования писать в лог, если тебе попадёт файл с переставленными битами? И нахуя ты TRACE в prod притащил, дяденька? Вон, борода уже у тебя расти начала, а TRACE тащить в прод тебя не отучили.
Чи можно отключить? А в доке ты это описал? А пальцем покажешь, где это написано?
Ну вот прочитал про лвл, спасибо бы сказал, а то орет что ему логи кругом засрали.
Ты вообще кукухой поехал на почве собственного вниманиеблядства? Какой у тебя трейс в проде по дефолту?
>Какой у тебя трейс в проде по дефолту?
Ну вот есть он там, программисты "постарались".
Только не надо историй рассказывать, что такой хуйни нигде нет. В больших и сложных проектах с большими команадами TRACE в проде сплошь и рядом. В этих ваших облаках. Из коробочных продуктов его с энтузиазмом подчищают, а в облаках сборки с отладочной информацие бывают чаще, чем ты можешь представить.
Жопой ебёт что-ли, приговаривая {get; set;}? https://www.techempower.com/benchmarks/#hw=ph&test=cached-query§ion=data-r22
Потому что на моно всем насрать. увидел асп.нет, тригер сработал, но не хватило мозгов в той же строчки увидеть mono
>Потому что на моно всем насрать.
Моно спиздили. Но не Майкрософт. Майкрософт, поговаривают, спиздил Monodevelop. А моно спиздили маленькие и большие, гордые и не очень, короче, все кому не лень.
А дело было так. Жил был Мигель Де Икаса - страшно плодотворный человек. Midnight Commander это его рук дело. Основатель GNOME, за что ему руки не подать, но за mc как бы искупает эту вину.
В общем, он как Торвальдс, только в мире прикладного открытоого софта. И вот задумал он повторить технологию .NET на линуксах. Задумал и осуществил. Поначала Майкрософт проигнорила, а затем как прихуела. И сразу прикупила компанию Мигеля и самого Мигеля. Вот тут то Майкрософт и начала поднимать Dot Net Core и спешно закапывать Mono и Monodevelop.
Так же ходят слухи что в основе Visual Studio Code лежит допиленный Monodevelop. Правда это или нет - хуй знает, но среди тех, кто давно живёт в Vusual Studio, такое мнение имеется.
> Midnight Commander это его рук дело.
> mc как бы искупает эту вину.
NC 1986
MC 1994
Единственный за 8 лет обеспокоился тем, что шляться по путям через ls и cd неудобно настолько, что спиздил досовский файловый менеджер. Яркая демонстрация того, как линукс-сообщество вообще относится к юзабилити.
Ты не ответил на вопрос.
На моно сейчас импортозамещение.
У меня вообще есть Zog-теория о технологиях.
Те технологии, которые успешно воровал СССР, отчего-то быстро отмирали. Не все. Далеко не все. Но смотрите сами:
PDP-11 от комании DEC, был сворован в 1801ВМ1. Где сейчас DEC?
МЦСТ лицензировала у Sun Microsystems архитектуру Sparc. Где сейчас Sun?
Лениво копаться, но примеров накопать можно.
Так и Mono - Мигель выпустил джина из бутылки, раздав буквально всем, в том числе импортозамещателям, мощный инструмент. У будьте уверены, что "технологию Mono" Макрософт похоронит.
>Чего срётесь на пустом месте?
>На моно сейчас импортозамещение.
Мир не ограничивается сраной рашкой, если что.
>У меня вообще есть Zog-теория о технологиях.
Это называется гипотеза, а не теория.
>Те технологии, которые успешно воровал СССР, отчего-то быстро отмирали. Не все. Далеко не все. Но смотрите сами:
Ну то есть твоя гипотеза не работает, можно же приводить контрпримеры.
А разгадка проста: отмирают вообще большая часть технологий, выживают только самые лучшие. Где кнопочные сотовые телефоны? Где раскладушки? Где слайдеры? Где телефоны с полной qwerty-клавиатурой? А теперь представь, какой-нибудь йобафон бы делал раскладушки 20 лет назад. Ты тоже это в пример бы записал?
DEC сдох (как и десятки других персоналок тогда) потому что IBM открыл спецификации и все стали делать IBM-compatible компы.
Sun сдох потому что он не делал ничего полезного. Джава не приносила денег, Солярис раздавался бесплатно (с платной поддержкой) и на самом был нахуй никому не нужен, сервера на спарке были гораздо дороже аналогичных на x86. Они просто соснули в конкуренционной войне.
Моно медленней, чем дотнеткор, он не полностью реализован, и единственное, зачем он нужен, это запуск легаси дотнет фреймворк приложений не под виндой, а запрос на это падает.
И конечно Мигель и сотоварищи не будут поддерживать моно исключительно потому что в РФ им импортозамещают дотнет. Никому не надо его специально хоронить, оно успешно умирает само, а выжить оно может только если кто-то в России его форкнет и будет допиливать. Но, конечно, никто этого делать не будет.
Не надо искать заговоры там, где всё прекрасно объясняется естественными причинами.
>Не надо искать заговоры там, где всё прекрасно объясняется естественными причинами.
Хорошо.
> Но, конечно, никто этого делать не будет.
Есть мнение, что это происходит под ковром. Но доказательств нет. Слухи, просто слухи.
> Есть мнение, что это происходит под ковром. Но доказательств нет. Слухи, просто слухи.
Ты первый раз что ли в этой федерации? Такие вещи никогда не разрабатываются под ковром, это активно пиарится по всему интернету и иногда по телевизору, и в большинстве случаев это кончается пуком. Маск-стайл.
Ты в каких реалиях живёшь? В мире розовых пони? Уже год как всех и вся ебут импортозамещением. А бюджеты там золотые, как при решении "Проблемы 2000".
Если что почти вся госуха на дотнете и с импортозамещением все отлично - выпиливают windows only фреймворк и меняют на новый кроссплатформенный. Это не джава где большинство разработчиков будут вечно сидеть на 8 из-за сломанной обратной совместимости в либах.
Нахуя этот даун постоянно носится по тредам со своим сравнением платформы с какой-то васянской сборкой и постоянно получает мочи на ебало с напоминанием о том, что есть опенждк?
А как поломка обратной совместимости в либах мешает обновлять саму джаву?
>Нахуя этот даун постоянно носится по тредам со своим сравнением платформы с официальной сборкой и постоянно получает мочи на ебало с напоминанием о том, что есть какой-то васянский опенждк?
Починил тебя
Евангелисты джавы вечно угнетали дотнет за его закрытость, а теперь сами получили коммерческую струю мочи в лицо.
Вы могли бы спастись, пересев на лодку под названием "котлин", но своим высокомерием только усугубили все.
Следующие десятилетие будет за шарпами.
Лол нет, нода и питон съели больший кусок рынка .net/java и дальше они оба расти не будут.
Рынок джаваскрипта это монополия (пока) фронтенда, бэкенд там мало пишут. Так что нода это больше про сборку, точнее компиляцию джаваскрипта в джаваскрипт (лол). Питон это ml и курсы для вайтишников, он там был долей в бэкенде, но не особо много, потому как это неудобно для крупных проектов.
Это все не языки общего назначения, потому как банально нет системных потоков. А то что можно на коленки пердолить лабы, это все шум от вайтишников, от которых отколиться 90% малолетних devилов (смотри пикчу, пузырь питона сдувается так же быстро)
Ладно, теперь мне не заплатят??
Ты уже больше суток не можешь ответить на элементарный вопрос. Почему я с тобой должен вообще разговаривать?
>Питон
Питон он настолько гибкий, что аж из рук выскальзывает поэтому представлен в каждой сфере и всегда хуже специализированных языков для этой сферы и часто он просто используется как дополнительный язык для говняканья на коленке прототипа или какого-нибудь бота в телеге
?
Вводные данные. Изучаю C# и пишу на нём соответственно. Имеется Планшет Андроид и комп дома на Винде обычной.
Цель: не нужны какие-либо замужестве кнопочки на форме. Работаю обычно с логикой. По крайней мере хотелось бы просто хотя-бы обыкновенные консольные приложенияна компе создавать , но так, чтобы этот же код можно было бы скомпоновать в APK файл для андроида, и чтобы это приложение там точно также в виде консоли отрисовалось.
Готов рассмотреть САМЫЕ экзотические решения для этой реализации. Думал даже каким-то образом это всё в HTML оборачивать и в браузерах запускать. Уж браузеры точно одинаково отобразят и отработают мой код. Я на PC что на Андроиде.
Целевые задачи у меня в основном - это пакетная обработка файлов и пр возня с файлами и папочками.
Быть может это какой-нибудь python? Если да, то сразу спросить хочу.. Там можно какой-нибудь прикладной интерфейс реализовывать на страницах? Типо кнопки там и пр? Для юзер взаимодействия с кодом.
(Программы пишу исключительно для себя)
сори за смешные опечатки
Спасибо за инфу. Почитал.
Ну короче говоря придётся с Kotlin'oм знакомиться. Как не крути.
Насколько я понял. Чтобы код работал Идеально и на Винде и на Андроиде, его обычно команды разработчиков пишут сразу на двух языках. Одни на чем-нибудь настольном типо C++, C#, Delphi e tc. А другая команда на чем-нибудь карманном, типо Kotlin, Android studio , Eclipse e tc
>Думал даже каким-то образом это всё в HTML
React Native как раз для этого есть
>Целевые задачи у меня в основном - это пакетная обработка файлов и пр возня с файлами и папочками.
Думаю js тебе достаточно будет для этого
Это означает, что не придётся как-то переписывать определенные строки кода. И что нормально выполняясь в одной среде, тот же самый код будет и в другой среде норм. работать
Я не просто так посоветовал. По сравнению с жабьим андроидным уродством это просто шедевр.
Найс перекрытие гетсетов.
>Если не хочется выходить за пределы дотнета то MAUI и Avalonia
Достаточно остановаиться на Avalonia - вполне годна.
Это не ответ, это вопрос. У тебя натурально отрицательный iq, если ты вопрос от ответа отличить не можешь.
Хочешь больше развёрнутого текста получить? Тогда вместо своего высера >>3026159 напиши нормальный пост без паясничяния и гринтекста с объяснением, почему ты считаешь >>3025519 недостаточно хорошим аргументом.
Детей много учатся и что? Кто виноват непопулярности твоего го, котлин и свифта?
Ух ебать, вот неожиданность, оказывается, в бэкенде могут быть разные направления! А джависты-то дебилы, думали, что написание бэкенда для сайтов-визиток ничем не отличается от разработки банковских систем!
Ну если считать генерацию страниц по шаблону - наверное да, на джаве такое не пишут
static files - это годнота из годноты.
О, свидетеле банков пожаловали.
О банки могучие, работу дающие,
Ниспошлите нам легаси,
Да так чтобы не EE сытым были,
А спрингом, хотя бы вторым озаримы!
И спринга не существует?
>пик
Эта хуйня для коупинга вымирающих пхпшников, ты никак по этим данным популярность технологии в бэке не оценишь. Она учитывает только публичные страницы.
Этому рейтингу больше чем тебе лет, 15 лет назад пхп там 90% занимал. Так что такова реальность, а ты думал на твоем петухоне сайты делали (или на жабе)? Петухон всегда скреб дно веба.
Есть рейтинг по первому миллиону, там тоже пхп и асп.нет на первух двух местах, при 60% неизвестных, так что в среднем распределение не отличается.
Вот и битриксоиды в тред пожаловали. Никто не спорит, что ваши сайты с формой "мы вам перезвоним" занимают огромную долю рынка. Вы воистину делаете очень важные для бизнеса вещи, натягивая вёрстку с жиквери на очень крутую cms. А теперь пиздуй в свой пхп загон, спрашивать как установить open server на шиндовс 7
С++, хотя он и не соревновался.
>Оба смачно соснули.
И пытаются в паре гигов логов в стектрейсе фабрик и делегатов найти тот самый класс, который пошёл по пизде
Оказалось жаба давно уже не конкурент. И пофиг что ты возьмешь - шарп, го, котлин.
Не то что в петухоне, такое же количество объектов и вложений, но где произошла ошибка и что вообще все эти методы делают и что возвращают, хер его пойми.
Ничем твои детские скриптовые языки не помогают, может быть по началу из-за простого АПИ, но дальше все те же грабли, только с кратной сложностью в отладке.
Ну что за коупинг, шарпопетушаня?
1. Семантика.
1.1. Неймспейсы. Полный пиздец. Рассинхрон с пакетами, лишние отступы, проблемы с уникальностью названий - полный пиздец.
1.2. Перенос { на новую строку. Это уродливо. Читать код с кучей не пустых, а заполненных одним ебучим символом строк - неудобно.
1.3. Наследование интерфейса через :. Бесполезное сокращение.
1.4. IZalupa как название интерфейса по дефолту. Убивает семантику полиморфизма. Когда ты обращаешься в джаве к интерфейсу, ты чувствуешь, что обращаешься к живому объекту, а не к гондону между объектом и тобой.
1.5. Названия методов с большой буквы. В джаве после прочтения первого символа сразу понятно, что это не операция делегирования, а уже непосредственно вызов.
2. Функционал.
2.1. Наличие бойлерплейта (в джаве есть ломбок, который наглухо разъёбывает уродские попытки в избавление от бойлерплейта в петушарпе с помощью get; set;.).
2.3. Отсутствие виртуальных тредов.
2.4. Прибитость гвоздями к винде.
2.5. Отсталые енумы.
2.6. Отстутствие модулей.
2.7. Отсутствие системы сборки. Нугет/мсбилд - это посмешище, которое даже с антом сравнивать без смеха нельзя. А на джаве есть такие божественные тулзы, как мавен, с тысячами плагинов.
3. Экосистема. У петушарпа позорная экосистема.
4. Свобода и распределённость. На петушарпе половину всего кода пишут майки, водя за ручку петушарповых детишек и говоря им, что и как делать. Следствием из этого является пункт 3 и ограниченность петушарпа ровно на том, что нахуевертили майки. Пока на джаве ты волен, как барин, воротить нос и выбирать лучшую библиотеку под твои задачи, на петушарпе ты жрёшь то, что тебе с лопаты майки скормили. Пока на джаве ты выбираешь между жуком и queryDSL, на петушарпе ты жрёшь огромную кучу говна, слепленную из несовместимых вещей, что в здоровом Java мире даже никак не пересекаются, под названием LINQ.
5. Поддержка кода. Пока код с Java 1 работает на Java 19 и будет работать вплоть до Java 119, на петушарпе каждую версию ломается обратная совместимость, нельзя просто взять и заюзать библиотеку, в которую не было завезено апдейтов за последние несколько лет.
6. Скорость. Петушарп намного медленнее джавы, взять тот же techempowered и тот самый видос где джава обоссала в 11 раз шарпоговно. А там, где ему удалось обойти джаву, это было достигнуто раздуванием кода в десятки раз и понижением безопасности до уровня ассемблера.
7. .jar-формат. Когда в джаве развит подход с выделением скомпилированного байткода с ресурсами и всеми зависимостями в один кроссплатформенный файл, на петушарпе такого нет, и он высирает кучу говна на ебальник при компиляции, которую слава богу ещё можно найти благодаря тому, что при компиляции дотнет пишет, куда высрался, а ведь если бы не писал вообще пиздец был бы. Ни о каком совмещении разных компилятов в рамках одной программы без геморроя говорить не приходиться, а под каждую ось нужно отдельно компилировать, и смысл в наличии виртуальной машины становится очень туманным, особенно вкупе с тем, что половина классов на петушарпе при переходе с шинды на пердоликс отваливаются. По итогу получается перформанс питухона, универсальность плюсов и выразительность джава 5, а при попытке повысить перформанс приходиться пользоваться всякой ансейф непотребщиной и выразительность падает ниже ассемблера.
Ну что за коупинг, шарпопетушаня?
1. Семантика.
1.1. Неймспейсы. Полный пиздец. Рассинхрон с пакетами, лишние отступы, проблемы с уникальностью названий - полный пиздец.
1.2. Перенос { на новую строку. Это уродливо. Читать код с кучей не пустых, а заполненных одним ебучим символом строк - неудобно.
1.3. Наследование интерфейса через :. Бесполезное сокращение.
1.4. IZalupa как название интерфейса по дефолту. Убивает семантику полиморфизма. Когда ты обращаешься в джаве к интерфейсу, ты чувствуешь, что обращаешься к живому объекту, а не к гондону между объектом и тобой.
1.5. Названия методов с большой буквы. В джаве после прочтения первого символа сразу понятно, что это не операция делегирования, а уже непосредственно вызов.
2. Функционал.
2.1. Наличие бойлерплейта (в джаве есть ломбок, который наглухо разъёбывает уродские попытки в избавление от бойлерплейта в петушарпе с помощью get; set;.).
2.3. Отсутствие виртуальных тредов.
2.4. Прибитость гвоздями к винде.
2.5. Отсталые енумы.
2.6. Отстутствие модулей.
2.7. Отсутствие системы сборки. Нугет/мсбилд - это посмешище, которое даже с антом сравнивать без смеха нельзя. А на джаве есть такие божественные тулзы, как мавен, с тысячами плагинов.
3. Экосистема. У петушарпа позорная экосистема.
4. Свобода и распределённость. На петушарпе половину всего кода пишут майки, водя за ручку петушарповых детишек и говоря им, что и как делать. Следствием из этого является пункт 3 и ограниченность петушарпа ровно на том, что нахуевертили майки. Пока на джаве ты волен, как барин, воротить нос и выбирать лучшую библиотеку под твои задачи, на петушарпе ты жрёшь то, что тебе с лопаты майки скормили. Пока на джаве ты выбираешь между жуком и queryDSL, на петушарпе ты жрёшь огромную кучу говна, слепленную из несовместимых вещей, что в здоровом Java мире даже никак не пересекаются, под названием LINQ.
5. Поддержка кода. Пока код с Java 1 работает на Java 19 и будет работать вплоть до Java 119, на петушарпе каждую версию ломается обратная совместимость, нельзя просто взять и заюзать библиотеку, в которую не было завезено апдейтов за последние несколько лет.
6. Скорость. Петушарп намного медленнее джавы, взять тот же techempowered и тот самый видос где джава обоссала в 11 раз шарпоговно. А там, где ему удалось обойти джаву, это было достигнуто раздуванием кода в десятки раз и понижением безопасности до уровня ассемблера.
7. .jar-формат. Когда в джаве развит подход с выделением скомпилированного байткода с ресурсами и всеми зависимостями в один кроссплатформенный файл, на петушарпе такого нет, и он высирает кучу говна на ебальник при компиляции, которую слава богу ещё можно найти благодаря тому, что при компиляции дотнет пишет, куда высрался, а ведь если бы не писал вообще пиздец был бы. Ни о каком совмещении разных компилятов в рамках одной программы без геморроя говорить не приходиться, а под каждую ось нужно отдельно компилировать, и смысл в наличии виртуальной машины становится очень туманным, особенно вкупе с тем, что половина классов на петушарпе при переходе с шинды на пердоликс отваливаются. По итогу получается перформанс питухона, универсальность плюсов и выразительность джава 5, а при попытке повысить перформанс приходиться пользоваться всякой ансейф непотребщиной и выразительность падает ниже ассемблера.
Что за выпук малолетнего дарования? Понимаешь, чтобы вовлечь в дискуссию для начало надо прекратить так топорно звездеть.
Там ни одного аргумента (да, я осилил эту стену текста), одни толстые набросы.
>IZalupa как название интерфейса по дефолту. Убивает семантику полиморфизма. Когда ты обращаешься в джаве к интерфейсу, ты чувствуешь, что обращаешься к живому объекту, а не к гондону между объектом и тобой.
Вголос
>Когда ты обращаешься в джаве к интерфейсу, ты чувствуешь, что обращаешься к живому объекту
Тут я пустил скупую мужскую слезу.
Чтоб потом не нюхать жопу кабанчика.
>3041669
Подожди, мы еще от чувств к живому объекту не отошли.
Не ворочайся, слитое.
Я всё думаю, что надо бы переписать это наоборот. Учитывая, что там одна субъективщина, это будет несложно. Но как подумаю, что это не меньше получаса займёт, так сразу желание пропадает.
Ну так перепиши, а не кукарекай от анальной боли, шарпопетушаня. И чтобы все аргументы тоже сохранились, в обратном варианте, если ты думаешь, что это возможно.
Слив принят.
Как бы ни было так глупо, но это джава ребенок. Он же тупостью троллил в шарпотреде, пока ему отдельный загон не сделали. Хотя, вероятно и к джаве он не имеет никакого отношения, просто идиотская попытка самоутвердиться на анонимной борде, вкатиться то не может.
Не ворочайся, клоун.
В теме не хватает хороших картинок.
Вот, например, что бывает когда программа пытается записть что-то в ПЗУ.
>В какой относительно современный язык можно вкатиться после неудачного вката в андроид?
Наверное в китайский.к
Ебёт конечно же, но есть один нюанс
Двачаю, тут уже появились HarmonyOS вычищенный от гугла AOSP от хуявея и HyperOS форк андрюши, который начал свою жизнь от хуаёми. Потихоньку пошли новые телефоны с ними, а там хуяк-хуяк и окажется всё китайским, даже не заметишь
Java круче.
Mojo*
ХЕ-ХЕ, ДЖАВИСТЫ ПИШУТ PUBLIC STATIC VOID MAIN!
@
IF __NAME___ == '__MAIN__'
@
IF __NAME___ == '__MAIN__'
@
IF __NAME___ == '__MAIN__'
@
IF __NAME___ == '__MAIN__'
@
IF __NAME___ == '__MAIN__'
@
IF __NAME___ == '__MAIN__'
@
IF __NAME___ == '__MAIN__'
https://gleam.run/
https://www.youtube.com/watch?v=9mfO821E7sE&ab_channel=ThePrimeTime
Название говно
Пися попа член.
Сейчас питухон это буквально старая джава до того, как она, неожиданно, возродилась и стала современным языком. Убогий кал говна, который живёт только за счёт легаси и уже накаляканного кода.
Валхак.
А, так ты из вжжжжвжжэтих?
Да его стократно уже обоссали с этим, но он всё ещё носится со своим верещанием про читерство и врёти со своим говном от ноахфалька с таким количеством ансейф пиздеца что код на си 99 выглядит намного лучше.
Это на разных машинах.
На той, где 00:01.535, не запускались версии дотнета, поэтому по ней сравнить ничего нельзя.
Вот это >>3021119 — запуск на другой машине, где запускали и дотнетские и жаббные коды.
>>3117113
>верещанием про читерство
>с таким количеством ансейф пиздеца
>ничесна ничесна ансейф топ-топ-топ-топ-топ
Такое бывает, когда сравнивают посредственный код на плюсах, написанный студентом, с кодом на шарпе с оптимизациями, ансейфом и хаками, написанном сеньором.
Либы на сишарпе достаточно оптимально написаны, настолько оптимально, что из твоих условий достаточно криворукого студента на плюсах.
Перефорс чего, вша лобковая? Ты же сам и ноешь, что в коде на шарпе читерство, ансейфы и куча низкоуровщины.
Это при том, что жабакод не то чтобы сильно красивее был. По крайней мере тот, который меньше минуты работает.
Особенно смешно, что ты изначально притащил это соревнование похвастаться производительностью жабы, а в итоге, когда жабка соснула, скулишь про некрасивые оптимизации.
Я вообще изначально писал, что это специальная олимпиада, надо сравнивать производительность кода, который в продакшен пойдёт, а не такую залупу, а ты бегал по всему разделу и писал в каждом треде "по делу есть что высрать". Ну вот и принимай урину в свой ротешник.
>шарподебилы ноют про читерство, хотя у самих код измазан в ансейф говне по самое небалуй
>рррррррииииииииииуууууууууяяяяя!!!!!! Затролел!!!
)
Я ничего про читерство не писал, так что твои претензии не по адресу. А вот конкретно ты ноешь про ансейфы.
И скобочки свои забери.
>отвечает в контексте про читерство на анонимной борде уныло пытаясь перефорсить
>получает говном в пятак, после чего начинается "моя хата с краю, ничего не знаю"
)
Окей тот анон, который говорил про читерство, обосрался.
А ты обосрался с производительностью жабы.
Вот и иди пиши свои гетсеты.
Дисклеймер, чтобы ты меня в перефорсе не обвинял:
В шарпе на каждое свойство приходится один раз написать гет сет.
В убогой жабе даже с лобковым костылём приходится писать гетХ сетХ на каждое обращение к инкапсулированному полю. В декларации 1 гет и 1 сет. В получении значений >= 1 гет и >= 1сет. То есть в жабьем коде присутствует как минимум столько же, а как правило значительно больше гетов и сетов.
Короче говоря, ты своим форсом про гетсеты тоже обосрался.
Надроченный на гетсетах высрал портянку текста, повторяя уже обоссаное сто раз даже в этом треде, не забыв добавить причину разрыва (хрюк про гетсеты), о которой его никто не спрашивал. Найс конечно шарпопетухов простой ломбоковский @Getter рвёт.
То есть по существу тебе нечего возразить?
Окей, итого:
Таракан признал, что джава тормозная.
Таракан признал, что джава гетсетная даже с костылями.
Ну ладно, я дам тебе шанс.
Если в твоём следующем посте не будет опровержения из двух верхних ступеней пирамиды Грэма, то будем считать, что ты слился.
У тебя жаба совсем мозг съела?
1. Хуйня с погодными станциями показывает, что жаба тормознее, чем шарп.
2. В жабе даже с костылями в виде лобка "get" и "set" встречаются чаще, чем в шарпе.
Пруфы хоть чему-то из этого будет?
Тем более что всем давно известно что Java лучше
Всем. Есть еще вопросы?
Поприветствуем нового участника специальной олимпиады!
Так этот загончик и был создан для того, чтоб шарпомухи и жаботараканы в тредах друг у друга не срали. Правда некоторые из них на столько имбецильны, что до сих пор пытаются. Чего после этого удивляться-то основному его контингенту.
чем C#
Ладно бы срали только в тредах друг у друга. Тек нет, они срут во всех тредах.
Индексация с 1
Нихуя себе! Мем! Теперь-то точно шарпомушье жужжание станет жужжанием вместо жужжания, прерываемым гетсетами!
Компания Microsoft активно поддерживает представителей сексуальных меньшинств. C 1993 года существует соответствующий внутрикорпоративный профсоюз GLEAM (Gay, Lesbian, Bisexual and Transgender Employees at Microsoft), в состав которого входит около 1500 человек.
Еще в 1989 г., одной из первых среди крупных корпораций, компания Microsoft предложила льготы работающим у них однополым парам, ведущим совместное хозяйство. То есть, по сути, уравняла их с традиционными парами. Кроме того, положение о сексуальной ориентации было включено в антидискриминационную корпоративную политику.
На сегодняшний день деятельность GLEAM в Microsoft весьма разнообразна. Это и многочисленные правозащитные мероприятия (или их спонсирование), спортивные, развлекательные и даже медицинские. Так, компания тратит значительные средства на профилактику и борьбу с вирусом иммунодефицита человека. ВИЧ-инфицированные сотрудники фирмы получают поддержку, в том числе и необходимые лекарственные препараты. В 2006 г. Microsoft удостоен премии президента США – как корпоративный лидер в области поддержки ВИЧ-положительных сотрудников.
А то не узнаешь, когда эти сообщения были опубликованы.
Это я, а что?
Каких? Не прибит к IDE, не прибит к какому-нибудь crates.io или нугету. частично может к pkg.go.dev
Ну т.е. вся победа Go сводится к полному незнанию тулинга других языков.
> IDE
> crates.io или нугету
А Go прибит к платному Goland от жидбрейнсов (ведь использовать текстовые редакторы не позволяет религия) и к гитхабу от мелкомягких (раз решили использовать Git вместо менеджера пакетов). Очень свободно, да.
Это был намёк на то, что ни один популярный язык не прибит ни к IDE, ни к централизованным хранилищам пакетов.
Goland скорее экзотика, точно не мейнстрим.
гитхабу, тебя не смущает полный путь url и что все тупо в гопас складывается.
>>3281469
Джава (а тем более и котлин) без IDE просто тыква, шарпы хз, но думаю тоже самое.
Го даже без подсветки синтаксиса читается легко, задумайся.
А раст, ну читай это сам
Pin<Box<dyn Future<Output = Result<R, String>> + Send + '_>> + Send
Vec<Pin<Box<dyn warp::Future<Output = std::result::Result<geojson::FeatureCollection, Rejection>>>>>
У джавы lsp для vs code от редхата и расширение для спринга от самих авторов
У сишарпа аж два lsp - проприетарный и опенсорсный
inb4 VS code не иде
Почему?