LINUX.ORG.RU

Мертв ли C# и Java?

 , , ,


2

3

Привет всем, дорогие форумчане.

Я постараюсь максимально конструкутивно донести свою идею, сорри если кому-то не понравится.

Я - человек со стажем в 5 лет программирования на Шарпе. Изучал не только его, ес-но.

Читал Эванса, его книги по DDD. Изучал многие другие практики, как CQRS+ES, читал Фаулера, имел опред. успех в работе.

Но, в итоге ушел :) в Раби… Прошу, не обоссывайте за эту фразу - я за нее поясню. А если точнее в нескольких языков и платформ… Теперь, по-подробнее.

За время моей эволюции, я понял, что C# и его экосистема не так уж хороши. И спасибо, тут наверное, можно сказать мировому тренду в мир Docker/K8S. Ведь, именно благодаря им - я осознал насколько все-таки, M$-продукция - лажова. Но… Это в какой мере касается и Java.

Меня перестало устраивать их качество, их направление развития. Я считаю их - мертвыми. Для своего времени, как более легкий порог входа и обхода C/C++ - они сыграли свою роль.

Но, вот… Посидев и посмотрел, как условно работают C#/.NET/Dapper, даже если ты не доверяешь ОРМ и пишешь сам параметризированные SQL-запросы и оформляет, как repository… Все равно, это колымага проигрывает по производительности С/C++/libpq (если PgSQL юзается, хотя справедливо и относительно другого)…

В целом, делать SOLID, DDD, CQRS/ES можно даже и на Ruby с Питоном, и это совсем не шутки.

Я понял, насколько все C#/Java - это неудобные инструменты… При этом в последних своих версиях, видимо создатели данных языков решили внести все, что можно в языки. Извратив их и превратив в какой-то швейцарский нож, но получился не швейцарский…

В итоге… Картина такая: что порог входа выше, чем для Golang, Ruby, Python. А в плане производительности .NET/JVM, хоть ты их тюнь 100500 раз - очень сильно проигрывают. А если, вы начнете тюнить приложения с C/C++, Python, Ruby - так они лучше картину покажут…

Спасибо, конечно Шарпу - что меня заставил учить GoF, DDD/CQRS+ES… Теперь эти знания можно применить в других языках, и сидеть на Linux only env.

В итоге, я для себя сделал вывод:

  1. Хочешь клепать фичи по-быстрому для PoC/MVP - Ruby или Python.
  2. Хочешь интересно дизайна ПО - Haskell.
  3. Хочешь high load - C/C++.
  4. Обязательно Linux, забыть про Windows.

PS: дядя шарпист уходит в нирвану Linux. PS2: да, я понимаю что это ЛОР, понимаю что наверное меня кто-нибудь обоссыт за такие выводы… Ну и ладно, зато я сказал - как есть, что на душе. Желаю всем перейти на Linux. PS3: Шарпист, если ты читаешь этот пост - бросай его перейди на Kotlin, Java… не знаю, если перейдешь - потом перейдешь на Haskell, Elixir или др., главное!!! держись подальше от корпораций M$ и Oracle PS4: таки, вспомнил за что еще не люблю Жабу… от нее веет enterprise, и всякие OracleJDK позорят ее… да, есть OpenJDK… но… PS5: всем - добра, peace


Ответ на: комментарий от hazkel

чаго, блэт? SPA? Про реакт или Angular слышал? Я лично с реактовцами рублюсь часто, доказываю им, что их Реакт - говно, потому что не умеет нормально в MVVM и вообще, это вьеха со сторами, где полноценный фреймворка - это Ангуляр с TypeScript

но, блэт… сишарп??? чаго???!!!1111 какой сишарп в мире SPA????!!1111

вылезай из бункера, https://dotnet.microsoft.com/apps/aspnet/web-apps/blazor

Ford_Focus ★★★★★
()
Ответ на: комментарий от hazkel

ты в курсе, что Windows Mobile называется Windows Phone? но, правда оба - мертвы

погугли как называется windows 10 для мобильников

Ford_Focus ★★★★★
()
Ответ на: комментарий от hazkel

что-то я не видел достойного аналога для всех платформ… в какой-то мере Electron, но это вообще не о шарпе

avalonia и platform.uno, если говорить про десктоп

Ford_Focus ★★★★★
()
Ответ на: комментарий от Ford_Focus

вылезай из бункера, https://dotnet.microsoft.com/apps/aspnet/web-apps/blazor

погуглил, на 2014 - это доля 2-3%

на 2021-ый, сам Microsoft признал, что их платформа - мертва, и вообще они любят Linux (прислать Нателлу, который лайкет тукс?)

что гуглить-то?

hazkel
() автор топика
Ответ на: комментарий от Ford_Focus

avalonia и platform.uno, если говорить про десктоп

тя ляпнул слово avalonia? ты хоть изучал их github репо? называть этот стабильныи можно под вещ-вами

hazkel
() автор топика
Ответ на: комментарий от hazkel

это меня еще укуренном в данном тренде называли???111 О_о

геймдэв вполне себе использует c#. Ранее в виде xna, сейчас как встроенный язык unity и иногда monogame

и вакансий, кстати, на эту тему довольно много даже в РФ

Ford_Focus ★★★★★
()
Ответ на: комментарий от hazkel

погуглил, на 2014 - это доля 2-3%

наркоман? что ты вообще гуглил про 2014, если blazor релизнулся в середине 2020?

на 2021-ый, сам Microsoft признал, что их платформа - мертва, и вообще они любят Linux (прислать Нателлу, который лайкет тукс?)

мертва ось для мобильников и серверов. И в этом нет ничего плохого.

Ford_Focus ★★★★★
()
Последнее исправление: Ford_Focus (всего исправлений: 1)
Ответ на: комментарий от hazkel

лучше расскажи про свой опыт использования библиотеки, мне правда интересно

если вспомнишь, приложи её версию (ибо там в один момент всё сильно изменилось)

Ford_Focus ★★★★★
()
Ответ на: комментарий от hazkel

а сфигали вы вообще называете Раби тормознутым?сфигали вы его оклеймили, как тормознутый?

уже хочешь написать бенч и померить в какой-нибудь небольшой задаче? я тащемта не шарпист, но вообще не против

Ford_Focus ★★★★★
()

PS: дядя шарпист уходит в

В полку наркоманов прибыло!

anonymous
()
Ответ на: комментарий от OSBuster

Для iOS (watchOS, tvOS) Android есть RubyMotion.

проприетарщина, но ок, засчитано. Даже странно, что их транслятор ruby в llvm ir практически никак не стрельнул ни в новостях, ни в ruby community

Для десктопа (GUI?) ничто не мешает использовать байндинги к GTK

вариант вижу рабочим, но я б попросил историю успеха упаковки этого зоопарка в вендовый инсталятор

Для встраивания, мелочёвки и прочего с даже сотнями килобайт памяти есть mruby. Что там у C# с этим?

nanoframework?

И как насчёт работы на условной MIPS или RISC-V?

В mono даже S390X и спарк есть. Еще есть il2cpp - можно притащить шарп на все платформы, где есть плюсы.

Про Ruby и WEB и говорить ничего не надо.

а я бы всё-таки попросил рассказать про фронтовый фрэймворк, использующий ruby/wasm

Ford_Focus ★★★★★
()
Последнее исправление: Ford_Focus (всего исправлений: 1)
Ответ на: комментарий от Ford_Focus

а я бы всё-таки попросил рассказать про фронтовый фрэймворк, использующий wasm

все мои продукты - это коммерческий клозедсорц. для васма - не нужен фреймворк, так как весь сайт можно написать с использованием просто возможностей языка или пары-тройки удобных самописных шорткат-библиотек.

но с таким непроницательным подходом к вопросу как у тебя, - бессмысленно вдаваться в подробности

anonymous
()
Ответ на: комментарий от anonymous

Всё так. У нас в продакшене весь фронт на баше написан, и ничего, летает. А на предыдущем проекте вообще писали кроссплатформенный гуй на Haskel Platform - один код под вин, лин, мак, иос, андроид. Но все, разумеется, клозедсорс.

anonymous
()
Ответ на: комментарий от hazkel

Haskell со своими полиморфизмами N-ого порядка, изоморфизмами, гомоморфзмами, настолько жестко вас всех имееют в сраку, что мне даже стыдно)

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

anonymous
()

какойто инфантильный дискурс - на чем писать.

это тема про утрамбовку микросервиса C#/Java в под? или про кровавыйэнтерпрайз умри?

имхо, порядок вещей таков: что писать? для кого? по чем? )) и только потом: на чем…

zudwa
()
Ответ на: комментарий от Nervous

Да ладно тебе, электрон вот например. Реальный хай лоад процессора и видеокарты =)

anonymous
()

Неплохой такой наброс.

До смерти этим языкам еще очень далеко. Тонны легаси кода просто так не исчезнут. Плюс еще есть достаточно текущих весьма активных проектов на этих языках.

Забывать про винду - тоже слова бред.

По порогу входа - весьма спорно. Говнокодить на каждом из упомянутых языков ты сможешь одинаково быстро (ruby, haskell не учитываем, если вы не являетесь инопланетянином).

Kazun3500
()
Ответ на: комментарий от Kazun3500

haskell не учитываем, если вы не являетесь инопланетянином

Для haskell не нужно быть инопланетянином, достаточно регулярно ходить в спортзал и поднимать там штангу.

anonymous
()
Ответ на: комментарий от hazkel

я потестил аналогичные кейсы на Раби v3 и последнем Шарпе с кором, таки Раби - сильнее

а теперь ты такой красивый берёшь и публикуешь свои бенчмарки и доказываешь тем самым что ты не наврал тут про свои годы опыта с разными языками.

P.S. хотел написать, почему мне нравится C#, но, похоже, ты настолько плохой тролль, что тебя даже в гугле забанили.

instant
()
Ответ на: комментарий от wandrien

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

Jetty ★★★★★
()
Ответ на: комментарий от wandrien

Ну расскажи нам про новые веб-сервера, сервера баз данных, ПО для работы с железом под HL, которые написаны не на C/C++.

Жизнь пределами веб-разработки и контейнерами не ограничевается.

На атомных станциях только C/C++, авиация только на C/C++/Ada, промышленные станки на сях и так далее.

anonymous
()
Ответ на: комментарий от anonymous

Вот ты в своём посте упомянул C++, и не зря.

Воспользуясь выражением из поста на один выше, скажу: «никто в трезвом рассудке не будет писать» на чистом С промышленный код, если есть возможность привлечь систему типов C++ или Ada для ловли ошибок.

wandrien ★★
()
Ответ на: комментарий от wandrien

Ясно. Ты точно не в теме. Разговор можно дальше не продолжать.

anonymous
()
Ответ на: комментарий от Ford_Focus

вариант вижу рабочим, но я б попросил историю успеха упаковки этого зоопарка в вендовый инсталятор

Для вендовых инсталяторов нужны вендовые же методы и способы, это не проблема Ruby. Чем там всякие винампы упаковывают со всеми библиотеками? Вот этим и упаковывай.

Гем releasy тебе поможет сделать инсталлятор если имеется винда и установленный InnoSetup. Есть ещё Ocra.

Для меня создание гуёвых приложений для винды и инсталляторов в ним не является вообще никаким существенным критерием. Это уже профдеформация, синдром утёнка и сишарп головного мозга какие-то.

Мне, допустим, важнее поддержка Linux на RISC-V и у Mono там, как я понял, начальный и экспериментальный статус.

OSBuster
()

В итоге… Картина такая: что порог входа выше, чем для Golang, Ruby, Python.

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

peregrine ★★★★★
()

тред не читал

Мертв ли C# и Java?

да и да

все языки мертвы и фреймворки и АПИ, это всеголишь инструмент под задачу и задача определяет выбор инструмента

большинство современных задач по «шаблонному программированию»(создание базового функционала) покроет ИИ ближайшие 5-10 лет, и Нейросети станут новым языком программирования изучение нейросетей и создание рабочих систем на основе их это сегодняшнее программирование

svv20624
()
Ответ на: комментарий от anonymous

На атомных станциях только C/C++, авиация только на C/C++/Ada, промышленные станки на сях и так далее.

ничего личного но это какаята чушь

в 2010 все вышеперечисленное уже было на скриптах, самые лучшие и дорогие системы тогда была на Java но по факту Java использовался как скриптовый язык с лугкой конфигурацией системы(меняя функционал классов), все остальное было на текстовых скриптах

даже программы работающие на ОС реального времени и использующиеся для событий на высокоскоростных камерах/датчиках (тысячи кадров в секунду) тоже на скриптах (скрипы это xml/javascript/ и самописные интерпретаторы, логика на скриптах а не только конфиги)

svv20624
()
Ответ на: комментарий от svv20624

покроет ИИ ближайшие 5-10 лет

ИИ начали делать примерно тогда же когда начали делать термоядерные реакторы, и думаю рабочие реакторы все таки появятся раньше.

anonymous
()
Ответ на: комментарий от peregrine

про руби не знаю ничего кроме того что оно тормозит лучше питона, а питон он, внезапно, для вычислений, прототипов, скриптоты и экспериментов с машинным обучением.

Одинаково они тормозят: https://web.archive.org/web/20180705044315/https://benchmarksgame-team.pages.debian.net/benchmarksgame/faster/ruby.html

OSBuster
()
Ответ на: комментарий от OSBuster

https://www.artichokeruby.org/

это не фрэймворк, с таким же успехом можно было и mruby давно использовать. Только толку от этого едва ли больше, чем от с/с++ в asm.js

Гем releasy тебе поможет сделать инсталлятор если имеется винда и установленный InnoSetup. Есть ещё Ocra.

ocra точно не умеет работать с gtk3, по releasy не нашёл никакой инфы ни по gtk, ни по qt

Это уже профдеформация, синдром утёнка и сишарп головного мозга какие-то.

  1. сказал человек, несущий довольно жирный язык (во всех своих реализациях) на сугубо МКшную архитектуру (и которая останется в сегменте мк еще лет 5 минимум)

  2. обоснуй

Ford_Focus ★★★★★
()
Ответ на: комментарий от peregrine

про руби не знаю ничего кроме того что оно тормозит лучше питона

справедливости ради, ruby3 избавился от GIL и получил JIT. В плане производительности бидон теперь не конкурент.

за вычиления на бидоне отвечают сишные либы, а не сам бидон. Рубэн тоже так умеет, вопрос только в популярности

Ford_Focus ★★★★★
()
Последнее исправление: Ford_Focus (всего исправлений: 1)
Ответ на: комментарий от Ford_Focus

Вопрос в юзабельности. В питон занести сишную батарейку это очень просто и делается студентом первого курса по гайду. Сомневаюсь что в руби так же.

peregrine ★★★★★
()
Ответ на: комментарий от svv20624

На атомных станциях только C/C++, авиация только на C/C++/Ada

ничего личного но это какаята чушь

Ты хоть почитай, посмотри материалы по теме.

Представляю авиалайнер с управлением на Питоне и Яве) А на спутнике критится код на Ruby с JavaScript) А на цепях управления ЯР крутится Гошечка)

anonymous
()
Ответ на: комментарий от anonymous

Почему-то Томми вспомнил. Да, я олдфаг и помню Томми и стену.

peregrine ★★★★★
()
Ответ на: комментарий от Ford_Focus

Значит пользователей/разработчиков все устраивает. Ваш КО

anonymous
()
Ответ на: комментарий от peregrine

проблема (не)взлёта рубэна как такового за пределами RoR. Не зря ж в шутку называют внутренним скриптовым языком одного фрэймворка.

Ford_Focus ★★★★★
()
Ответ на: комментарий от Ford_Focus

это не фрэймворк

И что? Опять какой-то сомнительный критерий. Тем более, что выше уже ответили: Мертв ли C# и Java? (комментарий)

Писать код и рабочие приложения это не мешает. Если какие-то best practices и соглашения по умолчанию потом кто-то захочет выделить во фреймворк – ради бога.

сказал человек, несущий довольно жирный язык (во всех своих реализациях) на сугубо МКшную архитектуру (и которая останется в сегменте мк еще лет 5 минимум)

Сказал человек, в очередной раз доказывающий свою некомпетентность в неинтересующих его областях:

https://www.sifive.com/boards/hifive-unmatched

Mini-ITX, 16 гигабайт 16GB DDR4, PCI-E, NVMe. Вместе с Radeon 560 это всё без проблем крутит OpenSUSE, как с кедами, так и с третим гномом: http://download.opensuse.org/ports/riscv/tumbleweed/images/

И мне, как владельцу, поддержка этого гораздо более интересна, чем упаковка каких-то немыслимых виндовых инсталяторов. Так что серебрянной пули нет, как мы видим.

И это не жирный язык, а удобный язык с хорошими инструментами для метапрограммирования и написания собственный DSL на каждый чих, в отличии от портянок бойлерплейта сишарпа, что, впрочем, дело вкуса и против него я ничего не имею, а вот ты огородился и заутятился в своём воображаемом сишарпном мире капитально.

OSBuster
()
Последнее исправление: OSBuster (всего исправлений: 1)
Ответ на: комментарий от Ford_Focus

Возможно, это хорошо, что руби не взлетел за пределами рельс. Он занимает свою нишу и не пытается быть универсалом как питон, а универсал - это ни рыба, ни мясо.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.