Другие языки программирования и технологии

Какую технологию выбрать для изучения веб-разработки?

Добрый вечер!
В этом году иду в универ на айтишника, и на данный момент есть большое желание двигаться в сторону веб-разработки. Некоторое время изучал Java(дошел до многопоточности по книге Шилдта, читал Хортсмана), потом подзабил. После долгих скитаний перешел на javascript, который изучаю по книге "Выразительный JS" + смотрю ролики на ютубе, также начал потихоньку возвращаться к Java. Так вот, вопрос в том, с чего лучше (может, эффективней, ну мало ли) начать изучать веб. Интересует больше backend, так что фронтенд пока отметаем и рассматриваем только Nodejs + express + socket.io и тд VS Java + SpringBoot/Spring и всякие смежные технологии.
В целом, по структуре оба языка вполне хороши, вероятно, Java импонирует побольше ввиду строгости и тд, но не так принципиально.
Если это важно, мне интересно делать именно серьезные крупные проекты со сложной архитектурой, а не пилить обычные сайтики на конструкторах, готовых CMS и тд.
Буду очень рад любым комментариям, желательно с аргументацией.
Спасибо за внимание!
Боксер :)
Боксер :)
127
"Интересует больше backend, так что фронтенд пока отметаем и рассматриваем только Nodejs"

Чушь.
Именно потому что это Node.js, который позволяет фронт и бек-енд сделать почти на одном и том же. И первичен там все-таки фронт. А ты будешь усиленно строить дом начиная с крыши.
Другое дело - если ты (без фронта!) можешь осознать что такое REST API, и сделать такое (опять же без фронта!), то именно с REST API ты можешь играться, Но тогда почему именно express, почему не koa... Ты хочешь делать "крупные серьезные проекты" и ты выбрал рандомную технологию, потому что об аналогах и не слышал?

"мне интересно делать именно серьезные крупные проекты со сложной архитектурой, а не пилить обычные сайтики на конструкторах, готовых CMS и тд."

С одной стороны это хорошо в плане денег. Овер-инжиниринг хорошо оплачивается. Нужен именно такой вот "тонкий" оверинжиниринг (по аналогии с троллингом), который не бросается в глаза и выглядит нужным и стоящим своих денег. И еще что очень важно - МОДНЫМ. Если ты сам придумаешь свои оригинальные заморочки, то никто не поймет, неважно хрень ты придумал или нет.
Одна из ситуаций, типичных для нынешнего десятилетия: "да, у нас всего 200 пользователей пока, но потом мы привлечем тысячи! миллионы! нам надо сразу сделать правильную архитектуру! высоконагруженную! чтобы не наступать на грабли всяких дуровых! цукербергов! которые вынуждены были набивать шишки, переделывая свои сайты по мере прихода людей!"

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

Мир медленно сходит с ума и в частности за счет таких вот "песчаных замков" в виртуальном мире. Вместо того чтобы сделать нормальную электричку, личный летательный аппарат, хорошую зенитную пушку, идеальную линейку аккумуляторного инструмента. И да, все перечисленное в нашем веке тоже будет напичкано электроникой, кодом, и архитектура какая-то там будет. Но только вот архитектура как правило нужна в 3 или 4 раза проще, чем ее делают. И соответственно компаний, где не просто сложная архитектура, а где она еще и нужная, раз два и обчелся. И кого попало туда не берут, даже блата нету. Куда берут кого попало, а особенно по блату, там только деньги зарабатывать, и опыт работы. Если ты в детстве роллтоны кушал - то и это для тебя подарок. А тратить деньги надо на свои собственные нормальные проекты или нормальное хобби хотя бы.

Кстати, о CMS. CMS это далеко не конструктор. CMS кто-то пишет, плагины к ней кто-то пишет. Это тоже не самая простая штука и нужно уметь вносить свои доработки в чужой код так же, как и во многих проектах без CMS. Там ведь тоже уже есть код, никто не доверит джуну писать с нуля. Так что четкой границы нету.
Валерий Коротеев
Валерий Коротеев
1 311
Лучший ответ
Боксер :) Ты шикарен! Да, действительно, свое детище - это лучшее, к чему можно стремится, и на что нужно тратить все ресурсы. Мне просто нравится заниматься всем этим и хотелось бы сказать, что деньги здесь не причем, но это не так. К сожалению, приходится снять розовые очки и смотреть реальности в глаза. Поэтому и боюсь сделать неправильный выбор, возможно, это по неопытности, возможно, просто хочется прожить эту чёртову жизнь и при этом оставить после себя хоть что-то полезное. Я услышал твой посыл, огромное спасибо за четкий ответ)
Олег Петруня о - намана! да пусть действует далее! нам конкурентов меньше!
Для изучения - любую, потому что основные принципы (разработки в целом, и клиентсерверных приложений в частности) совершенно одинаковы... различия только в их реализациях.
Человеку с ограниченными возможностями мышления, больше подойдет технологический стек Java (изучать будет проще). Тем более с учетом того что в бэке ты больше заинтересован.
Вячеслав Булгаков а если срешься, то памперс по идее хорош.
Исходя из этого
> интересно делать именно серьезные крупные проекты со сложной архитектурой
рекомендую Java. Java давно и прочно занимает нишу enterprise-приложений. Там её может потеснить Net, а не Node.js
Сергей Мочалов
Сергей Мочалов
58 065
Отличительная черта тыжпрограммиста - знать многа умных слов, писанина псевдоумных текстов и при этом неумение гуглить и самостоятельно решать стратегические вопросы. Успокойся, дальше копипастной макаки ты не пойдешь
Виталий Гейн
Виталий Гейн
11 855
Боксер :) Ну знаешь, знать "многа" умных слов никогда не помешает, однако если ты хотел грамотно оскорбить человека ни за что, мог бы написать хоть что-то конструктивное, а не противоречить самому себе, говоря, что "гуглить" - это самостоятельное решение стратегических вопросов.