В бекенде тебе понадобится веб-сервер для запросов и кеширования (nginx), ЯП для бизнес-логики (Python/Java/Go, остальное лучше не смотри), место для хранения данных (скорее всего rdbms) что-нибудь для мемори кеша (redis).
С этим набором уже можно строить круды за 300к/наносек.
Я выбираю между python и golang. По python очень много лит-ры, а вот по golang наоборот - очень мало.
А СУБД какую для старта взять, чтобы понять реляционный подход?
Такими вопросами можно начать тред на неделю. Go компилируемый и деливерится в виде бинарников, python исполняемый и деливирится в виде сорцов (можно запаковать в пакет для красоты). Питон в силу динамической типизации на некоторых задачах будет вплоть до 100x медленнее go, но в бекенде ты с этим не столкнешься.
Выбор скорее религиозный, комьюнити живое и там, и там, работу тоже найдешь легко.
Скоростью, классной асинхронной моделью, при которой ты вообще об этом не думаешь, параллелизмом.
Питон же напротив тормоз, хоть это и не проблема. Асинхронная модель относительно убога, про проблемы можешь почитать здесь. И в нём одновременно может работать только один поток, об этом здесь, что тоже уже не такая большая проблема как раньше, но всё равно неприятно, особенно вкупе со скоростью.
Три явных плюса против трёх зеркальных минусов.
Дальше разговор про систему типов, которая прекрасна в Go и оказалась несостоянельна в Python (пытаются имитировать статику аннотациями, очевидный провал), — это уже холивар, который здесь повторялся уже ни раз, последний совсем недавно, могу ссылку дать.
Python шире применяется и со временем станет только популярнее. Он — основной прикладной язык в машинном обучении, скоро оно будет везде куда ни плюнь. И количество вакансий же очень важно, это даёт выбор.
Сам я пытался перейти на Go, как раз с вакансиями была проблема, на Python мне попадались интересней по условиям и перспективам. Есть возможность писать на Go, но единообразие важнее.
Есть два условно параллельных мира backend. Первый и большой — это прослойка между фронтом и базой данных. Там вообще насрать, на каком языке ты будешь писать: python, golang, php, JS, ruby. Это мир фреймворков, тут даже думать приходится редко: берешь запрос, посмотрел в базу, высрал ответ. Сделать правильную структуру БД и заюзать транзакции — верх мастерства, выше прыгать просто некуда. Большую часть рабочего времени программисты срутся о фичах своих языков/фреймворков. Здесь важнее всего выучить базы данных, язык вторичен.
Второй мир — хайлоад и иже с ним. Тут зоопарк технологий гораздо шире, необходимо строгое знание сетей и сетевой архитектуры, многопоточности и многопроцессности, низкоуровневого программирования (как устроена работа с памятью, кешами), девопс (поверхам): виртуализация, контейнеры, aws/gce, etc. Тут у тебя почти наверняка будет C/C++ в критических местах, а может и везде, впрочем языки из списка выше тоже активно применяются, python почти везде в качестве клея и в тестах, да вообще любые языки применяются (твой уровень экспертизы уже позволяет выбирать), частеньки увидешь erlang/elixir.
Ты никогда не захочешь переходить из второго мира в первый, но правда в том, что изначально оказавшись в первом, может быть очень трудно перепрыгнуть во второй.
А ты уверен, что они этим не занимают уже? И точно ли в этом есть смысл?
Переписывать развивающиеся проекты проблематично, нужно замораживать фичи, иначе на угнаться. Я даже на нано-масштабе относительно ютьюба это однажды ощутил, причём даже не на другой язык переписывая, а с пиона на питон.
PHP, конечно! Только с дополнительными технологиями вроде SQL или JS ознакомится стоит. А если еще Symfony и PHPUnit осилишь, так и вообще прекрасно все, можешь сразу не дхуном, а мидлом идти. Только для последних двух много читать и еще практиковаться надо, если решишь, потом не говори, что не предупреждали. :)
Вот тут - https://www.w3schools.com зубришь разделы - HTML, CSS, Javascript, SQL, PHP, Bootstrap, XML и пишешь CV. Из тебя при этом должен получится очень серьезный джун. А потом - по обстоятельствам, только не засиживайся в первых работах слишком долго. Как только перерос нужды текучего работодателя - ищи нового. Горькая правда жизни - на одном предприятии высоко не вырастешь, по мере взросления обязательно надо менять.
Потому что в ютубе много миллионов строк кода на python , и переписывание на другой язык сравнимо с самоубийством. Они в гугле в свое время начали делать транспилятор , который могет преобразовать код питона в golang, специально чтобы подшевелить ютуб, я хз какой там прогресс сейчас
https://github.com/google/grumpy
Дак и смысл брать go, который годится только для микросервисов и большой монолит не напишешь на go. Начинающему бекендеру убийственно начинать с микросервисов ибо сложна, нужно хотя бы несколько проектов сделать на монолитной схеме на фр4ймворкащх типо джанго али ларавель
человеку изучившему алгоритмы(pascal) для входа в backend отрасль
Когда ты говоришь, что изучал алгоритмы на паскале, я так и представляю какую-нибудь замшелую книжечку времён Очаковских Дейкстры и Вирта.
Почему бы тебе не взять (зачем ты сразу не взял?) что-то более современное и относящееся к backend?
Ну а по поводу «вкатиться в бэк», прямо тебе скажу — бери пых+жабаскрипт и не выёживайся. Голанги и всякие там жабы со скалами, это всё хорошо и достойно, но если у тебя нет прямого выхода на соответствующую вакансию (читай, нужных связей), то придётся для начала умерить свою гордость и месить говно за доширак. Ну а там уж, наблатыкаешься и сам поймёшь куда дальше двигаться.
Как на счет, чтобы окунуться в фулстек разработку на Js? Нынче уже более приятно разрабатывать на NodeJs, исчез калбек хелл и можно смело писать на async/await. Для фронта взять ReactJs для бека Koa или NestJs. Поподле, можно еще будет начать писать мобильные приложения на React native.
PHP и только PHP. Ты сам сходи на hh.ru и глянь количество вакансий и сравни, что сейчас юзают. Тебе работа нужна, а не читать теории, что там будет модно через N лет или на что сейчас, возможно, переписывают youtube. Если бы ты знал JS, то можно было посоветовать Node.JS, а так, PHP постабильней будет
Аргумент разряда «у меня больше!». Важно не то, сколько строчек кода написано вообще, а сколько соответствующих вакансий «висит». Из собственных наблюдений замечу, что во всякой глуши PHP часто является единственным языком «back-end-a» в вакансиях. Правда, всякой дичи там тоже много, но это уже совсем другая история.
Питон еще в бигдате еще надежно засел. А го новая штука и народ инертный. А так в бакенде пофиг что использовать, хоть perl хоть C++. Что зайдет, на том и пиши.
Дак и смысл брать go, который годится только для микросервисов и большой монолит не напишешь на go. Начинающему бекендеру убийственно начинать с микросервисов ибо сложна, нужно хотя бы несколько проектов сделать на монолитной схеме на фр4ймворкащх типо джанго али ларавель
Да и заканчивающему тоже. Кто-то один сказал, а остальные подхватили. А теперь пишут, что наша знаменитая компания Х очень хочет нанять хороших инженеров, которые разбируться с их микросервисами. Хотя в большинстве случаев с кем я общался чуваки даже не подозревают, что бывает сплитбрейн и вообще подобная архитектура на самом деле большой распределенный кластер, который подпадает под CAP с костылями.
Второй мир — хайлоад и иже с ним. Тут зоопарк технологий гораздо шире, необходимо строгое знание сетей и сетевой архитектуры, многопоточности и многопроцессности, низкоуровневого программирования (как устроена работа с памятью, кешами), девопс (поверхам): виртуализация, контейнеры, aws/gce, etc. Тут у тебя почти наверняка будет C/C++ в критических местах, а может и везде, впрочем языки из списка выше тоже активно применяются, python почти везде в качестве клея и в тестах, да вообще любые языки применяются (твой уровень экспертизы уже позволяет выбирать), частеньки увидешь erlang/elixir.
Весьма унылый мир. Спать без осознания какое ядро внутри кривое и почему сеть такая кривая намного проще. Гоняешь себе джаваскрипт в бандлах и не задумываешься о ttfb.
В хипстерскую отрасль - golang. Кстати, он после паскаля должен вообще легко зайти.
В «ынтерпрайз» - java(spring и т.п) без вариантов.
В мелкое сайтостроение - или php(фреймворков десятки), чтобы быстро начать работать за еду и быдлокодить. Или python(django, flask), чтобы быстро начать работать за еду, страдать и быдлокодить.
Если для себя, чтобы быстро и красиво - perl(mojolicious).
Python шире применяется и со временем станет только популярнее. Он — основной прикладной язык в машинном обучении, скоро оно будет везде куда ни плюнь.
Туда уже метит жабаскрипт, и он популярнее пистона.
В мелкое сайтостроение - или php(фреймворков десятки), чтобы быстро начать работать за еду и быдлокодить. Или python(django, flask), чтобы быстро начать работать за еду, страдать и быдлокодить.
Расскажи. Нода держит нагрузку выше всяких похвал. Никаких извращений. Я считаю что ты не конструктивен. Пруфцов не будет?
Вчно вы тут пишете то, в чё сами плаваете. Знатоки…