LINUX.ORG.RU

На чём разрабатывать бэкенд под Linux: Java или ASP.NET?

 ,


0

1

Обычно в бэкенд-разработке юзаю php и Go (ещё немного Python), но регулярно слышу и читаю где попало о том, что это «не серьёзные инструменты». Понятное дело, что особо близко не принимаю к сердцу подобные заявления, но возникла мысль изучить для себя (по крайней мере, пока что) либо Java, либо ASP.NET Core для написания различных «серьёзных» API. Понятно, что для себя без разницы что изучать, но хотелось бы определиться.

Мне ASP.NET Core, на первый взгляд, приглянулся (в плане синтаксиса, т.к. Typescript напоминает, с которым я имел дело), но задался вопросом: насколько удобно вообще разрабатывать на нём под Linux? Или это всё же лучше делать на стеке Microsoft? Гуглил, читал - мнения у людей расходятся. Кто-то за Java топит, кто-то - за C#. Кто-то вообще пишет, что Java умирает, нафиг никому не упала, и ничего нового на ней не начинают.

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

Я бы сказал, что C# под Linux – это новая и пока что недооценённая экосистема.

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

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

Михаил, я не про Mono — этот инструмент существует действительно давно.

Я именно про официальные майкрософтовские сборки .NET Core для Linux.

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

чтобы платить только за время работы, которое необходимо для обработки запроса и не платить, когда запросов нет

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

Нужно быть в очень особенной вычислительной среде для этого - serverless, возможно edge computing как предлагают Fastly или Cloudflare. Технически в этом есть смысл. Удобно обработать очень быстро скачек запросов в нетипичном регионе, а потом надолго уснуть.

Другое дело что serverless каргокультят например на своем железе. Ставят тачки, платят за них круглосуточно, но урааа приложение скачет up & down, писк моды

vertexua ★★★★★
()

Vanga mode on

Не будет на серверах никаких Java и .NET. В контейнер не влезет и ребята с WASM лябдами засмеют

C# придет на линукс десктопы. Т.к, во-первых американская компания это патриотчично. А во-вторых, языки лучше (C# чем котлин, F# чем скала)

Kotlin заклемят вражеским инструментом взлома электростанций

На сервер придет всякая шелупонь: go, rust, nim, zig. Короче всё, что компилится в екзешник и что без ошибки на миллион долларов

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

контейнер не влезет и ребята с WASM лябдами засмеют

Уже влез.

Kotlin заклемят вражеским инструментом взлома электростанций

Не знаю не знаю, Google толкает.

На сервер придет всякая шелупонь: go, rust, nim, zig.

Уже пришла (go, zig так точно)

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

Это тебе работодатель или заказчик должны сказать, а не посоны на форуме.

Они и должны выставлять требования к кандидату.

Обычно те заказчики, которые говорят Java - более жирные и денежные.

Си Шарп фактически направлен на школоту и студенток.

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

Нет, Линукс устарел уже при его создании. Так как базировался на идеях из 70х

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

И именно поэтому там гораздо больше бабла и гораздо меньше студентоты, готовой писать за еду.

Надо отдать должное IBM, Ein, Oracle что не дают уронить рынок.

Хоть и спринг Бут с камундой уже попахивает хипстотой с тонкими нотками апельсинового смуси

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

Swagger, Camunda, Spring Boot. И если хотите, я могу продолжить

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

А теперь оторви от стула и посмотри, какую именно версию похапье использует местный говношоп. Третья или четвертая. ООП и фреймворки туда не завозили совсем.

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

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

Чтобы ввести хоть какое то подобие MVC.

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

А теперь оторви от стула и посмотри, какую именно версию похапье использует местный говношоп. Третья или четвертая. ООП и фреймворки туда не завозили совсем.

Потому что их писали давным-давно программисты «старой закалки». В те времена на php так было модно писать: тяп-ляп - и готово. Этих людей не смущало то, что код у них - это мешанина на тысячи и десятки тысяч строк из php, html, css, js и sql. Ни ООП, ни шаблонов проектирования, ни каких-либо тестов (хорошо если конфиг в отдельный файл вынесут). И это, кстати, не «хотя и знал про них, но не использовал», а как раз-таки не знал в силу низкой квалификации. Потому что на php может писать код любой, но чтобы писать качественно, нужен опыт. А если программист опытный, то и стоит он дороже. Поэтому большинство пхп-проектов - помойка.

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

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

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

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

В мире банковского ынтырпрайса, который готов тратить миллионы долларов на софт, который потом выкидывается, имеются определенные и очень большие проблемы по переписыванию монолита с Java 5 на микросервисы с Java 11. Там в распила монолита и бабла участвует 10-15 человек. Результатом обычно является недописанный набор микросервисов.

Как ты себе представляешь себе процесс переписывания говнософта с похапье 4, который развивался 10 лет на более крутой похапье 8 с блек джеком и классами?

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

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

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

И именно поэтому сейчас в мире похапье творится полный п..ц.

Туда никто идти не хочет.

За 2 месяца открытой вакансии ноль откликов.

Ещё хуже только в 1С.

Угадай с одного раза куда все ушли?

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

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

И что? Когда-то написали код на пыхе, теперь никто не хочет я тратить деньги на его модернизацию (часть поддержки). К слову, 8 версия уже обогнала 4 по популярности.

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

Ну идиот он, что такого?

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

И именно поэтому сейчас в мире похапье творится полный п..ц.

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

Туда никто идти не хочет.

Так сейчас со +/- всеми языками, которые сложнее джаваскрипта.

За 2 месяца открытой вакансии ноль откликов.

Значит, такая вакансия.

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

В NodeJS. Правда, учитывая, что многие просто берут Express и вокруг него пляшут, то там точно такой же говнокод получается в подавляющем большинстве случаев. А если сюда добавить убогую типизацию js и то, что многие тайпскрипт-таки не используют, то…

За 2 месяца открытой вакансии ноль откликов.

Очевидно, дело в вакансии

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

Нет, мой маленький мальчик. На джаву полного стека они уходят.

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

Ну, нужно подготовить к презенташке демку. Для нее Express таки подойдёт для нпколенкоклепания.

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

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

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

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

Кудрин: Как вывести процесс обнищания населения на новый уровень? Надо 3-4 года на регулярной основе обеспечить подачками семьи с детьми и беременных-одиночек!

Нет. Предел сложности уже достигнут. Дальше только распад, отторжение ненужного и кристаллизация нового.

Похоже, наступают времена, красочно описанные в романе Айн Рэнд «Атлант расправил плечи».

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

Корона сейчас все хипсторовские стартапчики с нодой и аспдотнетой сравняла с землёй.

Те же девопсеры с нодовских микросервисов бегут массово в спринговские.

На плаву только тырпрайсная джава

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

Что такое «для новых проектов» ?

Легаси монолит на джаве нужно переписывать на микросервисы на джаве. А не на ноду с пыхом.

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

Корона сейчас все хипсторовские стартапчики с нодой и аспдотнетой сравняла с землёй.

Выходите из своего мирка. У нас буквально крупнейший интернет-магазин работает на экспрессе (хотя, ЕМНИП, у них есть планы перехода на си шарп).

https://www.wappalyzer.com/technologies/programming-languages/node-js/

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

Логично, но это не преимущество джавы. Переписывают на микросервисы на ней же, потому что стек тот же - монолит переписывать проще. PHP-монолиты на джава-микросервисы тоже никто не переписывает по этой же причине - либо на тот же пых, либо на go.

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

Чувак, ты это кому говоришь? Я участвовал в крупных проектах на ноде. Это по началу там все так сахарно.

А потом начинаются серьезные проблемы из-за которых начинают сбегать как девопсеры, так и прогеры.

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

Ты до сих пор черпаешь информацию о мировом айти из доу? OMG!

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

Ещё раз повторюсь: есть ложь, наглая ложь и статистика. Тем более на доу.

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

Ну хоть не так как по ссылке, я надеюсь?

У нас буквально крупнейший интернет-магазин работает на экспрессе (хотя, ЕМНИП, у них есть планы перехода на си шарп).

Hand-made на php «Php безопасен», говорили они… Огггада… =)

Moisha_Liberman ★★
()
Ответ на: Ну хоть не так как по ссылке, я надеюсь? от Moisha_Liberman

CS-Cart

TL;DR: Разрабы второго по популярности (по версии ratingruneta) интернет-магазина встроили в движок код, который делает копии всех счетов клиентов на сервер в Аризоне.

А виноват РНР.

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

Догадываюсь. А что?

Я даже догадываюсь о том, что думает поисковик гугля когда человек ищет «how to write linux kernel module in java». А поисковик думает – «ну и болван же ты, раб Божий». И подставляет С вместо java…

Как-то так, да?

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

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

А банки как работали на джава, так и продолжают работать.

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

Ну дык!

Уж сколько лет нам всё «грозят» новыми безопасными языками, где ошибку не сделаешь и абсолютно безопасными экосистемами, где злонамеренный код потенциально будет невозможен. А воз и ныне там.

Вот и вопрос что же лучше для исполняемого на машине кода – какая-то несусветная «экосистема», позволяющая всё что угодно, но только не код с минимумом зависимостей, либо ну его на фиг. =)

Там разработчики виноваты.

В появлении rust тоже. =)))

Moisha_Liberman ★★
()
Ответ на: Догадываюсь. А что? от Moisha_Liberman

Мальчик, тебя в школе учили отличать системное программирование от прикладного? Или за последние 30 лет поколение ЕГЭ в конец отупело?

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

Ну нааадоже! =)))

Приятно, чёрт возьми! =)))

Мальчик, тебя в школе учили отличать системное программирование от прикладного? Или за последние 30 лет поколение ЕГЭ в конец отупело?

«Мальчик»… Тут уже когда со спины обращаются «молодой человек» (я всё таки форму поддерживаю), я в свои седые усы усмехаюсь, а тут нате вам с кисточкой… «Мальчик». Ну спасибо. =))) Позабавили, взоржахом аки конь стоялый… =)))

Однако, перейдём к менее приятной части комментария.

Батенька, я без малейшего понятия в каком ГПТУ и зачем Вас чему-то пытались научить, но вот эта вот мулька про «системное» и «прикладное» программирование, идущая с тех пор, когда в АСУПах «системщики» таскали синие халаты, а «прикладники» белые, убила на корню массу толковых программистов. Нет, это к Вам не относится. Птицу видно по полёту, а идиота по комментарию. Извините.

Так вот. Вбейте в свою бестолковку одну простую истину – язык С является языком универсального (общего) назначения. Т.е., языком, который пригоден для решения любых задач. Вне зависимости от того «системные» это или «прикладные» задачи.

Вот прямо из википедии Вам для домашнего изучения цитата:

Си (англ. C) — компилируемый статически типизированный язык программирования общего назначения, разработанный в 1969—1973 годах сотрудником Bell Labs Деннисом Ритчи как развитие языка Би. Первоначально был разработан для реализации операционной системы UNIX, но впоследствии был перенесён на множество других платформ. Согласно дизайну языка, его конструкции близко сопоставляются типичным машинным инструкциям, благодаря чему он нашёл применение в проектах, для которых был свойственен язык ассемблера, в том числе как в операционных системах, так и в различном прикладном программном обеспечении для множества устройств — от суперкомпьютеров до встраиваемых систем.

Т.е., объясняю медленно и печально. Языку С совершенно похрен что на нём пишется – операционная система или модули ядра для неё, используется ли язык для доступа к СУБД (любая уважающая себя СУБД имеет библиотеки для С), бэкэнд для веба, сам веб- или иной сервер, да тот же GTK+/Gnome в основе своей написан на С, endpoint для RESTful API, да что угодно.

Всё определяется тем, что конкретный программист может, знает и умеет. Если он (программист) хронически бестолков, то он так и будет не «прокачивать свои скиллы» как модно нониче говорить, а будет сидеть-скулить что-то про «системное» и «прикладное» программирование.

Учите матчасть и ненужно тут образованщину включать. Надеюсь, этот термин времён СССР Вам о чём-нибудь, да скажет. Именно с тех времён и пошло деление на «системщиков» и «прикладников». Да так до сих пор и ходит.

P.S. Если вернуться к теме backend, то вот небольшой списочек, правда, здесь нет моего фреймворка, да он и ненужен:

  • ulfus – HTTP Framework for REST Applications in C.

  • ngrest – ngrest is a simple C++ REST framework. It has small footprint, fast and very easy in use.

  • oat An Open Source C++ Web Framework/

  • Если не хочется связываться с «фреймворками» (там ни где не написано что это «серьёзные фреймворки», а с несерьёзными мы не работаем, да), то вот раб Божий прямо с ардуинкой работает на голом С. Лично мне такой подход не очень, т.к. своя либа есть для этого, но как пример пойдёт.

Расскажете как это на «системном языке» невозможно написать?

Moisha_Liberman ★★
()
Последнее исправление: Moisha_Liberman (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.