Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Подскажите какой лучше выбрать новичку язык программирования для бэкенда?

Программирование+4
Анонимный вопрос
  ·   · 3,3 K
Веб-разработчик, геймер, специалист по этике  · 29 апр 2022
Я реально долго думал, какой короткий ответ написать, и, если честно, к моему удивлению, коротким ответом будет и вправду "PHP", C# следующий разумный вариант.
Не очень хочется делать полноценный длинный обзор всего мейнстрима на бэкэнде в 2022 году, давайте я просто перечислю основные недостатки любого из вариантов, с точки зрения новичка. Pick your poison, как говорится:
PHP - вам нужно привыкнуть, что на продакшене ваш код будет выполнять какой-то сторонний веб-сервер, Apache, nginx, что там ещё придумали за последние 10 лет. PHP не самостоятелен by design, `php -S` это инструмент локальной отладки, а не что-то что вы используете на реальной нагрузке.
Javascript - для новичка в программировании этот омерзительный язык является опасной ловушкой. В нём будет очень сложно по-настоящему разобраться, он поощряет дурные привычки и его тулчейн построен на идиотских допущениях. Это инструмент для профессионала, который привык к страданиям ради денег, а не для новичка. Тем более Typescript, если вы новичок, просто забудьте об этом сразу.
C# или Java - для новичка может быть сложно привыкнуть сразу работать в среде для профессионалов с гигантскими проектами. Понимание ценности статической типизации и насильного навязывания принципов ООП придёт только через много лет работы. На мой личный взгляд, Java несколько более жёсткий, негибкий язык, чем C#. По моим ощущениям, на нём писать тяжелее.
Ruby - к 2022 году Ruby on Rails уже настолько забыт, что я бы назвал его больше не актуальным (мало работы, мало библиотек). Прямой конкурент Ruby это python, а у питона в последние годы колоссальная движуха. У Ruby уникальный синтаксис, который не поможет вам в будущем выучить никакой другой язык.
Python - в отличие от PHP, вам придётся работать по тому же принципу, что и в Javascript (мы сами себе веб-сервер, со всеми вытекающими из этого велосипедами, и шаблонизаторы страниц нужно приделывать сторонние), но в отличие от Javascript мы не выполняемся в браузере, то есть, чтобы стать фуллстеком, нам всё равно придётся выучить два языка.
Go - очень нишевый язык, который до сих пор не стал достаточно популярным. Я вообще упомянул его только потому, что он и правда подаёт надежды, и спроектировали его вроде не конченые идиоты, хотя всё, произведённое Google, вызывает подозрение по умолчанию.
2 эксперта согласны
konstantin kazartsev
подтверждает
29 апр 2022
Мне понравился формат ответа. Расписывать все тонкости - времени не хватит, а хоть какая-то начальная точка для обд... Читать дальше
Диванный философ, по совместительству инженер  · 22 апр 2022
Самое простое на мой взгляд - PHP. Поскольку на нем задачи бэкэнда до средней сложности можно решать прямо из коробки на чистом языке, без освоения фреймворков. Которые обычно, по крайней мере все мне известные, сложнее языка... Читать далее
> Второй недостаток PHP считается уже несколько устаревшей технологией Это с чего бы вдруг? Новые версии языка... Читать дальше
Пофигист с большим жизненным опытом, обремененный...  · 23 апр 2022
Можно выбрать php, а модно - python…  Первый вариант хорош тем что вы сможете сразу начать работать (практически), а иногда и зарабатывать. Второй — тем, что это язык общего назначения и его возможности гораздо шире чем... Читать далее
Head of the Testing Expertise. Индивидуальное...  · 22 апр 2022
Либо С# либо Java. Любой другой будет экзотикой. Поскольку другие языки для бэкэнда не имеют большого распространени и ещё не стали некоторым стандартом.  JavaScript не подойдёт, поскольку он является языком фронтенда, и... Читать далее
2 эксперта не согласны
Java + Spring мой основной стек как раз. Но это все же стек на котором делаются достаточно сложные задачи. В том... Читать дальше