10 лет в АСУТП, верхний уровень (SCADA системы). Решил сменить род деятельности - перейти в "настоящие" программисты.
Главные зачем: проще сменить работу ("он нашел новую работу пока шел за кофе"), задачи поинтереснее (очень хотелось бы), круг общения другой (level up).
Frontend за это время изрядно надоел, поэтому нацелен на backend.
Был нацелен на Java как кроссплатформенное и непотопляемое.
Но вот недавно узнал про Node.js и подумал, может оно?
Вопрос: что же выбрать?
Поскольку времени на изучение нового немного, то вариант "попробуй оба, потом сам выберешь" не очень подходит.
Возможно кто-то уже делал подобный выбор или для себя сформировал плюсы и минусы и того и ли другого и не против этим поделиться.
С точки зрения перспектив, наличия/отсутствия удобных средств разработки, тестирования, документирования, развертывания, возможности просто перейти на что-то другое (а-ля Java->Kotlin), если с выбором ошибся/передумал. Может еще какие аспекты не учтены....
Главное - со стороны не понятно, что на чем делают.
Какие плюсы и минусы у одной и другой платформ. Как в техническом так и человеческом плане (лютый энтерпрайз = горы легаси, форма одежды с галстуком, не кушать более двух раз в день и подобные "особенности")
Какого плана задачи на чем решают.
Все, что видно "Java используют Контора_А, Контора_Б, Контора_Ц, а Node,js используют Контора_Д, Контора_Е, Контора_Н", "на Java можно сделать все , что нужно, а на ноде все, что надо"....
Поскольку времени на изучение нового немного, то вариант "попробуй оба, потом сам выберешь" не очень подходит.
А что, вы куда-то спешите? Дело вкуса в любом случае, пока не попробуете - не узнаете, что вам придется по душе.
Вот вам для затравки, а дальше сами нагуглите.
Накину ещё вариант для усложнения выбора: .NET
Кроссплатформенный, много вариантов для деплоя, легко разрабатывать, удобные средства имеются.
(Хотя это и у ноды есть)
В случае с .net можно перекатиться с C# на F#, что даже прикольнее котлина будет.
(лютый энтерпрайз = горы легаси, форма одежды с галстуком, не кушать более двух раз в день и подобные "особенности")
Хз, может в каких-то олдовых банках такое, но вроде сейчас даже в таких компаниях разрешают айтишникам ходить в том, в чём удобнее.
здЕсь или такИе ?
если не здесь, то где посоветуете ? вроде ответвление хабра.... где ж, если не здесь ? на ЛОРе ? там анонимусы накидают на вентилятор....
s60, От начала самостоятельного обучения до трудоустройства, в среднем, проходит от полугода до года. Если вы в начале распробуете две технологии, чтобы выбрать одну, обучение увеличится максимум на пару-тройку месяцев, что не выглядит критичным.
А если серьезно лучше выбирайте между python и php
php - пробовал еще в 2008, делла сайт для себя, потом наработки применил по работе
php - это сайты, сайтики ... не заинтересовало...
python - была идея посмотреть (коллега на работе делал на нем нахлобучку для чтение тегов по OPC DA, складирование в Postgres, для трендов с отрисовкой на Qt), но его динамическая типизация (как и у php) как-то сразу нет... не моё.... + форматирование отступами .... или В python 3 предел int зависит только от свободной ...
s60, Тут еще аргументы нужны? Java в плане веба не пользовался, да и не буду - мне жизнь дорога. А вот нода довольно хороший инструмент, особенно выделю то что есть библиотеки способные практически "слить" бек и фронт. Можете сравнить востребованность яп на стаковерфлоу. JS занимает первое место.
А про пайтон вы зря так. На пайтоне вы можете решить 99% всех задач и в большинстве случаев это займет в несколько раз меньше кода, чем на том же php
99% всех задач и в большинстве случаев это займет в несколько раз меньше кода, чем на том же php
и какие же это задачи?
ну давайте: любую задачу веб-дева где питон потребует не в разы, пусть будет 2 раза меньше кода.да хер с ним, пусть будет даже не два, а 1.5.
предоставите?
Ну так это все факты.
Какой-то чувак для развлечения взял V8 движок гугла и запустил его отдельно от браузера получилась нода. Возьмите движок от машины приделайте к нему винт и поставьте на катер, оно поплывет? поплывет но будет ли это к месту? не будет.
С точки зрения технического директора, единственная реальная проблема, которую можно решать с помощью ноды - попросить фронтендеров что-то запрототипировать или они там для себя заглушку сделают сами.. т.е не нужно привлекать бэкэндеров. есть некая экономия на обучении фронтендеров и коммуникации. С производительностью там все плохо (никто в высокопроизводительных системах не использует, поэтому платформа в этом направлении не развивается), потоковая модель ужасная.
JS сам по себе ужасный язык. Костыль на костыле. предназначался для решения проблемы работы с динамическим деревом. а бэкэнд это совсем другая задача.
Зумеры повозрослеют и тренд попыток засоввывания ноды пройдет... как и все прошлые тренды с пхп, xml, json, микро и наносервисами, lowcode, serverless и прочими модными словами. Архитекторы поумнеют и осознают небольшую нишу технологии.
Пхп вон заняло некоторую нишу бложиков и небольших магазинчиков. Тут нужно отметить, что фейсбук и вконтакт изначально написанный на пхп был переделан на работу с другим пхп) т.е им пришлось существенно менять пхп для своих нужд и чтобы оно справлялось.
Java выигрывает у ноды во всем, кроме скорости переобучения фронтендеров.. ту да..
А так еще посмотрите Go. он своеобразный и для специфичных задач (небольших высококонкурентных (от слова concurrency) сервисов), но довольно популярный. Задач таких сейчас довольно много.
Java более универсальна и работы полно.
Нода это примерно как пхп было в нулевых. Делают на ней также проекты уровня домашних страничек, бложиков и магазинчиков. Я знаю ровно 0 проектов уровня ютуба, линкедин и подобных, написанных на ноде.