Программирование чего?
Микропроцессора, сервера, робота или скрипта поведения лягушки в мобильном раннере?
Я работаю в IT больше 20 лет и 90% времени на профессиональном пайплайне это повторение очень примитивных вещей.
Пока ты учишь какой-то очередной ЯП и/или фреймворк, все действительно непросто, не быстро и больно, потом адок на собесах но как только попал в команду главная сложность это тупая архитектура и кривые кастомные тулзы самой команды, анахронизм видения лидов или овнеров, колченогие "стандарты" принятые внутри конторы и т.д. и т.п. А до объективного напряжения мозга над собственно профильной задачей дело доходит так редко и так ненадолго что всегда праздник!
И никогда не реальный напряг.
Посмотрим как тебе это зайдет лет в 40
Изучать бесполезную и ничего не могущую дрянь типа джавы "ради разминки мозга" ...
А людей могущих дотянуться языком до уха и того меньше!
Да, и что же ты "наработал" на своей джаве ?
Я не хочу вставлять вам палки в карьеру. Вполне себе можно писать на реакте, как и на ассемблере и даже в машинных кодах тоже "вполне себе можно писать".
Реакт сегодня востребован запредельно это факт, но востребованность как мода, может быть на любую дичь и никак не гарантирует предметной ценности.
Решать вам.
Для меня реакт ужасен архитектурно во всех смыслах:
1. Он целиком построен на идее "все на джаваскрипт" а веб-стек это выверенный балланс js+html+css, для меня jsx это мерзость впринципе, верстку надо верстать в html (а еще лучше в PUG) а jsx не вывозит актуального прогресса html/pug css.
1.1. Нарушая базовый принцип веб-стека реакт руинит оптимизацию впринципе, таща за собой VDOM, эволюция веб-стека пришла к принципам "деграТации" кода, то-есть сведению JS кода на клиенте к минимуму и уже готовы новые инструменты и фреймворки и практики (Svelte, Solid.js (реактивность без VDOM) и т.п.) а реакт делает ровно наоборот, потому, что писали react - глухие кодеры а им тупо проще "все сделать на js".
В итоге получаем десктопного уровня нагрузки пресловутого VDOM и полное несоответствие прогрессу идей веб-стека.
Теперь про "не работает", конечно я слукавил, в разработке не меньшую роль играет "нравится-не нравится" субъективное приятие/не приятие базовой мысли стоящей за архитектурой, фреймвокром, технологией, ЯП и т.п.
Мне вообще не нравятся "фисто-фронтэнд" фрэймворки, они слишком далеко и криво отходят от веб-идеологии, плодя собственные абстракции с целью "реализовать вебкомпоненты из коробки" и в своих попытках "упрощения" городят "гору которая рожает мышь".
Веб не рохля, ему вовсе не нужен какой-то принципиально иной механизм управления компонентами интерфейса и тем более какой-то другой, виртуальный DOM, это все не про проектирование а про конвейер, это нужно фейсбукам у которых миллиарды пользователей в однотипной среде с тремя кнопками и двумя цветами.
У которых стопиццот программистов и текучка как у зондер-команд. И всех их надо быстро вводить в конвейр производства и безболезненно выводить.
У веб самого по себе есть все что нужно и все это в рамках общей архитектурной идеи, которая может показаться простоватой, но на самом деле это обеспечивает всеядность и гибкость.
Просто веб-стандарты и АПИ надо учить приоритетно фреймворков.
Я спокойно себе пишу собственные сборщики проектов на deno и esbuild, смешивая одно с другим, добавляя PUG и реализуя любую экзотику и мне не нужен ни вебпак ни даже GULP, да приходиться потратить чуть больше времени на старте, но мои проекты не ложаться из-за смены версий вебпак с 4 на 5 и я не трачу дни в поисках альтернативных модулей которые так и не перешли на вебпак 5.
Реактивность в веб появилась раньше чем в реакт, реакт просто использовал один из (и не самый удачный) подходов реактивности (которая и сама то нужна далеко не везде).
А можно просто заюзать какой-нибудь kefir.js там, где эта реактивность ДЕЙСТВИТЕЛЬНО нужна (мне вот пока так и не понадобилась)
А по-поводу "не работает" это про "лифт и лестницу", реакт не просто лифт это де-факто "свой веб-стек с блекджеком и ш.." и как и любой подобный фремворкомонстр он бежит пока он в мейнстриме, а это долго не длиться и вот уже вы пытаетесь заюзать какой-то более-менее экзотичный шаблон приложения а он тупо не собирается, потому что и node уже на пять версий вперед ушел и куча модулей - dеprecated и т.д. и т.п.
Но если подвести итог архитектурно, то начинать надо с того, что идея модульного разделения приложения и его фронтенда до уровня "веб-компонентов" сама по себе условна и спорна.
Объективно только деление на клиент и сервер, синхронность/асинхронность а все остальное - субъективное видение определенной команды в конкретных условиях.
А разрабы фейсбук сотворившие и (увы) популяризовавшие "свой подход" исходят из того что "все есть компонент" !
А почему? - да потому, что они все позаканчивали свои институты, других же в ФААНГ не возьмут и им выцарапали изнутри нутра про то, что интерфейс это компонент а архитектура это про классы!
Они органически не приемлют "страничку" как интерфейсный субъект и презирают стороннюю функцию как альтернативу их классовой объектной модели со статическими типами.
Но интерфейс "рисует" именно "художник" и "рисует" его функционально, а программист - только обслуживающий персонал, который должен воплотить идею художника с минимальной инвазией, а не перемолоть все в компоненты собственного понимания и уверять что "по другому нельзя!"
Так все маркетологи и кодеры говорят: сайт должен то и это но не должен быть красивым!
Айфон это просто игрушка, но какая !?
Живопись , мода, дизайн могут не иметь никакого отношения к функционалу , но они - нравятся! И за пару туфель, картину или статуэтку люди платят миллионы, не потому что туфли - летающие а картины - живая а статуэтка из золота.
Функционал функционалом, он как раз может хромать натобе ноги и народ стерпит а вот убогость дизайна, как у того же bubbles отпугивает на старте и вызывает весь спектр пренебрежения и брезгливости
В разработке объективно не нравиться может только одно: оно не работает !
Это как пульт от телевизора, пока тебе надо одна из этих вот 128 кнопок - всё ещё куда ни шло, но как можно что-то творить инструментом который начинается с "напишите вашу функцию"
А я не знаю свою функцию, я к ней придти собираюсь через эксперименты и поиск, папробать так и эдак и что зайдет то потом в функции "отливать" !
Я другого не понимаю что с реактом вообще так?
То, что можно на нем сине-белую морду Фейсбука собрать втроём на выходных?
И сколько фейсбуков нужно миру ?
Каждый продавец тормозных колодок хочет теслу, трусы как у Илона Маска и свой Фейсбук с блэк-джеком но все что ему действительно нужно это продавать свои колодки и чтобы они тормозили!
Раж на "как у Фейсбук" породил легенду что их тулзами можно и сделать "как у них" но у Цукерберга не одна сотня "ближнего круга" кодеров с з/п от $2млн.
Но вам конечно нужно просто найти своего того самого одного с золотыми яйцами и 10 годами опыта на тайпскрипте и он то таки за целых 6к в месяц и печеньки точно сваяет вам теслу !
Это я тебе говорю !
И да, наш дедушка колит на фокспро и в ус не дует до сих пор.
А второй дедушка в деревне коня держал и такое бывает.
Но беда с айти трупами в том, чтоттони не воняют после смерти вот вам и кажется что и "джава жыфф и я - работаю"
Просто мир разработки как и все остальные миры до него разделился на "тот что про творчество и хобби" и " то что про деньги и про деньги"
Софт, игры, вся индустрия вдруг превратилась из сакрального лампового таинства в размалеванную шлюху с торчащими из трусов баксами.
Какие-то огрызки скорябали на коленке текстовый редактор с картинками и миллион леммингов ломанулись постить туда себя любимых. И все, миллион леммингов не может ошибаться!
Хуле нам ваш "Бостон динамикс" и роботы которых умнейшие инженеры планеты вынашивали десятилетия, у нас новый сет рисованных шляп и морд для тиктока который мы за 50 лярдов продали, а что ваши роботы ? Еле еле на один наскребли!
В том что человечество на 90% своей мотивации - грызущая все что попадется куча червей не откровение и даже не проблема а вот то что поверхностные инфантилы - выскочки от Цукерберга до Дурова, срубившие ненормальные деньги на человеческой дури и ограниченности, теперь претендуют на гуру программирования засирая тотально мир разработки своим реактом, тайпскриптом и прочим гавном вот это трагедия!
Никто больше не пишет софт - “мускул для мозга", весь софт на котором держится мир написан толковыми, скромными одиночками и лежит бесплатно на гитхаб.
А все эти "гуру" от Цукерберга до последнего джава-синьора из Урюпинска плодят зерь для майнинга человеческой глупости и ограниченности.
И выхода нет, все так или иначе зайдет в полную жопу как и всю прежнюю историю человечества.
Есть только шанс остаться в стороне , жить своим пониманием, ценностями и творчеством и никогда-никогда-никогда-никогда не соглашаться на ненормально-огромную зарплату и все что связано с "финтехом", майнингом, реактом и тайпскриптом, не поворачивать голову в сторону людей у которых только две мотивации: большие деньги и очень большие деньги.
Увы в СНГ это чуть более чем полностью весь рынок и вся IT.
Так что искать, дружить, жить и творить придется удаленно и на чужих языках.
И да, джава - r.i.p. хоть как хобби хоть как что...
А что значит "осваивает" !?
Что там "осваивать" то?
У десятка первых языков синтаксис практически одинаковый.
Это как с новым молотком каждый новый день, освоил один - освоил все.
Вопрос в том, что может этот молоток ? Если бы джава что-то действительно могла, то ее не пришлось бы заменять сперва scala, а потом kotlin.
Ну а хобби это пожалуйста, хоть крестиком вышивай, тем более если ты махровый лид в каком-то банке с соцпакетом и пенсией.
Статья про девушку которой вынесли моск галимов джавой и как всегда с единственным результатом: " ты дура и джаву не потянула и прогером тебе не быть!"
Поэтому я говорил, говорю и буду говорить на всех углах: джава это хобби, интеллектуальный высер и катарсис и что угодно ещё но только не язык программирования!
В том смысле что на нём действительно можно программировать что-то настоящее, актуальное и рабочее в разумные сроки и бюджеты.
И если старым пердунам ещё можно разминать кости об джавы, все лучше чем квасить на морозе, то молодым девушкам и парням джаву даже показывать нельзя и упоминать про нее не то что "учить" и "осваивать"!