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


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

Первый раз слышу про хайлоад гуй.

Это для серверов.

anonymous
()

[…] Golang, Ruby, Python. А в плане производительности .NET/JVM, хоть ты их тюнь 100500 раз - очень сильно проигрывают.

Руби и питону-то? Гыгы. Плохой тролль, негодный. Закапывайте.

dimgel ★★★★★
()

в Раби…

https://www.youtube.com/watch?v=3WmkdbjR0Sg

Меня перестало устраивать их качество, их направление развития. Я считаю их - мертвыми.

Слышу это про java с 2004 года, я тогда был в процессе её изучения и уже тогда были такие заголовки.

Можно конечно сказать что теперь все по другому, теперь все серьезно, но и раньше java не была градом на холме, и тогда было все непонятно с ней, на backend царствовал «народный» PHP, широко встречались .NET и ASP, я даже видел CGI на перле.

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

90% backend это корпоративные CRUD’ы, в них производительность упирается в БД, I/O диска, сетевые задержки.

Сколько сидел с профайлером, не было такого чтоб не хватало CPU, все таки не числодробилки пишем. Хотя… таки было, ну там какие-нибудь глупости написаны с сериализацией и десериализацией JSON по 10к раз. Плохо спроектированная логика от переписывание на самый скоростной язык не перестанет тормозить.

OracleJDK позорят ее… да, есть OpenJDK… но…

Никаких но, до недавнего времени работал на крупный банк, а до этого на фирму занимающейся фин.анализом, везде было OpenJDK.

Я понял, насколько все C#/Java - это неудобные инструменты…

Для такого вывода нужно поработать над большими проектами на разных языках/платформах, нельзя сделать вывод об превосходстве одного над другим сравнив рабочий проект на платформе X со своим хобби проектом на платформе Y.

Обязательно Linux, забыть про Windows.

Поддерживаю.

Шарпист, если ты читаешь этот пост - бросай его перейди на Kotlin, Java…

Я не знаю С#, но мне кажется шило на мыло, язык C# лучше языка Java, например в первом уже есть async/await и null sefety чего в java не будет. А если тебе стало скучно почему не попробовать F#? С ним хотяб знакомая инфраструктура будет. Изучение экзотики типа Haskel поддерживаю, еще можно вспромить про какой-нибудь Elixir.

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

это касается проектирования ПО с DDD/CQRS+ES

Чёт ты погнал. ES и CQRS даже нодджээсеры умеют. Причём CQRS они делают через репликацию базы. А DDD - не для обычных «подай патроны», а для архитекторов только.

anonymous
()

Хочешь high load…

Готовь вазелин. И это относится ко всем языкам, где нужен high load.

Result-Code
()

и Жаба и Шарп по мнению среднего менеджмента лучше для галер.

ибо КОБОЛ COBOL statements have an English-like syntax, which was designed to be self-documenting and highly readable

ибо

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

толсто.

ваще использование bash когда есть тот же перл python lua js awk и прочая и прочая - тем более bash и ввинде могёт.

the Unix programming environment таки да

однако у вас отчаянье если после 5 лет шарпения такое «это другое»

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

Копроративный билд отстаёт от мейстрима, там нельзя было второй. Да и не кой мне эти костыли?

Ну, и это ничего бы не решило, под этим говнищем банально железо не работало пока хренотучу дров не поставил, при том, что на том же буке под OpenSUSE 15.2 завелось вообще всё из коробки кроме сканера отпечатка (классика lenovo), и в целом венда — блевотина неюзабельная.

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

жабка с jvm и разными житами и прочими весчь хорошорая

однако она всё больше больше COBOL - ибо корпорациям нужна бюрократия - а синтаксис(как одёжка) жабки хоть и плывёт в сторону лаконичности однако вроде как никто обратную совместимость не отменял - а по уму - зачем жабка если все реальные преимущества от jvm

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

это крайне жалко, тут много просранного времени

так ты корову не продашь

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

Это ты про альтиум? Он всё ещё на делфи разве?

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

Ага, форекс-кухня значит. Так и знал, что до нормального трейдинга вам как до Китая раком. Вы там про большое О хоть слышали или набрали синьор нодежс девелоперов?

anonymous
()

сколько там лет хоронят жяву? а она как была мейн языком в ынторпрайзе так и остается

guyvernk
()
Ответ на: комментарий от interrupted
  1. где0кому?

  2. чем старше кто-то становиться 0 тем меньше пунктуации 0 пусть вчитывающийся сам раставит для наилучшего понимания

  3. в (2) у вчитывающиегося меньше непонимания - как посчитает нужным так поймёт - тем прекрасен естественный язык - способностью к эскалации взаимопонимания.

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

Получается, что всё-таки Луби,

Нет, это такой звук ЭР у англоговорящих, если будешь его по нашему произносить то получается шаблонный русский акцент. Их R нужно произносить картаво :)

Кстати, Ruby придумал японец, а у них вроде нет звука ЭЛ в фонетике их языка, и они вместо ЭЛ зачастую произносят ЭР, так что Луби ну никак не может получиться.

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

Нет, это такой звук ЭР у англоговорящих

В РФ принято с детства смеяться над теми, кто так эр произносит.

Однако, мы тут не слушаем. А читаем по большей степени. Известно, что как правило, буковка u в закрытом слоге читается как короткое а [ʌ]. Например широкоизвестное слово звучит не как «фук». Аналогично не «кунт», bud – не «буд». Т.е. при прочих равных вариант скорее [ʌ] чем нет. И никто не полезет слушать что-то там где-то там. Иначе какой смысл в писанине, если её на слух проверять.

Я бы предложил коллективное письмо Её Величеству написать о сотв. изменениях собственно в английском. Чтобы было «Раби». Проверочное слово «эни бени раби».

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

Говорить Раби это вообще как какой-то анекдот.

В Китае Чапаева по схожей причине зовут Сяпаян. Переводили с Chapayev и последнюю букву прочитали как n.

Ещё можно слово «камикадзе» вспомнить.

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

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

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

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

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

Например широкоизвестное слово звучит не как «фук». Аналогично не «кунт», bud – не «буд».

У всяких британских акцентов бывает, что и звучит

Midael ★★★★★
()

сейчас бы в 2021 рассуждать о мёртвых языках, программируя на ruby...

c# пока что единственный язык, на котором можно написать:

  • SPA-приложение для frontend
  • мобильное приложение для android/ios/winmo
  • десктопное приложение для linux/windows/macos
  • приложение для консолей xbox и ps4

всё это может шарить код и обслуживаться хорошим годным фрэймворком на бэкэнде, написанном тоже на c#

что из этого умеет раби? мне известны только:

  • android через Ruboto (у которого сотня issues и последний коммит был полтора года назад)
  • desktop/linux через Kross (который всю жизнь прибывает в каком-то полузаброшенном состоянии)

не густо, одним раби на проекте не обойтись

Ford_Focus ★★★★★
()
Последнее исправление: Ford_Focus (всего исправлений: 3)

Вступил в эту точку зрения в конце 90х. Но, смотрю, ява до сих пор используется, несмотря даже на усилия оракля. Человеки странные.

DonkeyHot ★★★★★
()

Наверняка ты тролль, и жаждишь срача всех против всех, пусть рубисты кусают питонистов, пусть джавист получит в морду от сишарпистов, пусть те, кто пишет на котлин, и на го, посмеются над ними. Но… как ни странно, ты прав, мой маленький друг. Питончик позволит тебе жить хорошо и кушать вкусно, его достаточно для веб и других нужд, даже с его тормознутой vm можно переписать кишки на си, подключить внутрь питонячей vm и усё, такое поделие порвёт жопу любой JVM/C#, особенно если вкорячить libuv грамотно

Но, не забывай про node.js, там всё уже готово, и можно нихрена не запариваться, писать себе на всяких es6/typescript и при этом рвать java в многих кейсах

menangen ★★★★★
()

мне известны только

Ключевое слово тут – мне.

Безотносительно сабжевого холивара:

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

Для десктопа (GUI?) ничто не мешает использовать байндинги к GTK и т.д., как и везде. Или Shoes. Или даже джавовский Swing через самый что ни на есть активный JRuby. Тут вообще не понял в чём суть претензии.

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

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

Всё это похоже на попытку померяться резинкой от трусов.

OSBuster
()

c# пока что единственный язык, на котором можно написать:

С чего бы это единственный? Дельфи современный, хоть он и немножко уже и умер, тоже все это позволяет. C++ тоже (включая и web).

anonymous
()

сколько лет ещё надо, чтобы ты до D дорос? 5 лет?

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

далее, php - 3 года. за тем python - 5 лет и разочарование в нём. теперь вот Go - 4 года - и снова разочарование. и вот теперь я на D - надеюсь на долго и от него пока только положительные эмоции.

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

rust может и подходит только как замена c. для более сложных вещей - d.

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

Говорить Раби это вообще как какой-то анекдот.

  • А как по-украински будет «кот»?
  • Кит.
  • А как тогда «кит» будет?…
anonymous
()
Ответ на: комментарий от anonymous
  • Ну и язык у вас хохлов - дебильный и непонятный. Вот к примеру возьмем ваше хохлятское НЕЗАБАРОМ. Это где: возле бара или перед баром?
  • Та й у вас москалів не краще. Оце ваше москальське СРАВНИ. То це як: срав чи ні?
anonymous
()
Ответ на: комментарий от hbee

«Надолго» пишется слитно, а вообще ты упустил главный язык ближайшего будущего — Rust.

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

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

Rust есть и будет нишевым языком.

Ну да, примерно таким же, как C++. Я мониторю вакансии с упоминанием Rust (самому уже не нужно, но научного интереса ради), и последнее время их количество растёт экспоненциально (правда, в основном в блокчейне и финансах, что может быть связано с общим ростом крипторынка).

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

Ну, при использовании C++ же платят. У него и сложность намного выше, и время компиляции больше.

А реальное использование D — нуль. Язык-то неплохой, но вот чего-то в нём не хватило, какой-то безуминки, какая есть (у каждого своя) у Go и Rust. Где нужен или хочется GC, сейчас надо брать только Go.

hbee ★★★★
()

Ну ты это… в вопросе-то разберись

Хочешь клепать фичи по-быстрому для PoC/MVP

SpringBoot же есть

Хочешь интересно дизайна ПО

Scala как ФП вполне подойдет. А вообще - что ты считаешь «интересным дизайном ПО»? Тебе на скобочки-стрелочки-ёлочки пофапать или посмотреть, как ПО свою задачу выполняет?

Хочешь high load - C/C++

Ты постоянно забываешь, что одним из решающих факторов в выборе ЯП является скорость разработки фич. А про хайлоад на JVM можешь узнать из кучи докладов. Вот, Леруа Мерлен гонятся в 100мс на каждый ответ - тоже на JVM. Достаточно быстро и хайлово для тебя? Если уж совсем сокращаться - да, есть Scala, где все по ФПшному и на эффектах.

Обязательно Linux, забыть про Windows

Это у тебя проф.деформация от дотнета своего. Да, винда отстой в каком-то смысле. Но так не надо было выбирать виндо-онли ЯП. Но тот же Dodo-Pizza успешно живет на дотнете и строят свой хайлоад

Я понял, насколько все C#/Java - это неудобные инструменты

Я вот с сожалением смотрю на разрабов Авито. У них там хайлоад на питонах с кафками в виде стораджей, а кафка-коннектор глючный на питоне, и неизвестно, когда починят. То ли дело на Java - всегда все свежее, апдейтят часто.

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

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

D — нуль. Язык-то неплохой, но вот чего-то в нём не хватило

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

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

Так что попрошу не сбивать людей с толку, скоро хайп насчет раста схлынет окончательно.

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

anonymous
()

SPA-приложение для frontend

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

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

мобильное приложение для android/ios/winmo

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

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

я бы предпочел Swift для iOS и Kotlin для Android

десктопное приложение для linux/windows/macos

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

приложение для консолей xbox и ps4

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

что из этого умеет раби? мне известны только:

раби в сраку имеет ASP.NET , как человек который девелопил долго на C#/ASP.NET и ASP.NET Core

могу заявить:

  1. ни фиuа раби не тормознутный, особенно с версии v3
  2. мне лично удобнее с миграциями работать с RoR, нежели с EF Core
  3. EFCore знатно сосет, а database first я могу удобно делать и на Раби с параметризированными SQL-запросами

common brothers? а сфигали вы вообще называете Раби тормознутым? я потестил аналогичные кейсы на Раби v3 и последнем Шарпе с кором, таки Раби - сильнее… сфигали вы его оклеймили, как тормознутый?

в сравнении с чем? с C/C++ - то да, тормознутный, в сравнении с Жабкой или Шарпом??? ни фига!!!!

что из этого умеет раби?

раби умеет быстро готовить PoC/MVP , при этом стабильнее себя ведет, чем говно-стэк M$

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

сколько лет ещё надо, чтобы ты до D дорос? 5 лет?

на хрена мне расти до D, если есть Haskell???

вот, правда… что вы мне суете ваше императивное говно???!111

вот, Haskell - pure types явно народ задрачивал транзакционную память там

стиль? офигенски!!! после Шарпа, Хаскелль кажется каким-то элитным языком, ну правда

я реально почувствовал свободу свободу от M$ свободу от Oracle свободу от говнотренда в императивщину

что-то мне кто-то пытается доказать, мол в Golang - надо композиция (нарики, вы это используете как оправдание… гляньте на EventFlow фрейморвк, Ваш Го - сосёт… ну что вы доказываете???

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

какой ПХП? какой питон? вас рвет и мечет даже мертвый OCaml

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