Как выбрать язык программирования для старта
Существует несколько сотен языков программирования, и это не считая тех, что созданы ради веселья — например, безумный Brainfuck. Как среди всего этого многообразия выбрать правильный язык для старта, рассказывает основатель и CEO первого в России буткемпа Elbrus Георгий Бабаян.
На самом деле всё не так страшно. Будущему программисту придётся выбирать среди первой десятки самых популярных языков программирования. Именно эти языки интересуют потенциальных работодателей — стартапы, крупные ИТ-компании, центры обработки данных.
Популярные языки? Огласите весь список, пожалуйста
Достаточно объективный способ подсчитать популярность языка — статистика поисковых запросов, которая учитывает как поиск самого языка, так и документации к нему. Результаты статистического анализа можно найти здесь.
Согласно этому рейтингу, в топ-15 самых популярных языков вошли:
На популярность языка влияют разные факторы. Приведу несколько примеров:
Lua, язык, на котором написали игру Angry Birds, потерял любовь разработчиков из-за того, что количество программистов на Lua многократно превышало рыночный спрос.
- Objective-C вошёл в топ-3 самых ужасных языков согласно опросу Stack Overflow 2019 года. Он использовался в разработке для OS X и iOS, пока в 2014 году Apple не представила более дружелюбный Swift.
- Erlang постепенно теряет популярность на рынке, так как потребность в нём ограничена нуждами индустрии телекоммуникаций.
Так что же всё-таки выбрать
В первую очередь следует выбирать не язык, а область, в которой вы собираетесь строить карьеру. Игры, веб-разработка, разработка мобильных приложений, работа с большими данными — каждое направление требует своего набора языков. Определились с направлением? Выбирайте один из популярных языков в области.
При этом важно понимать, что одним языком программирования дело не ограничится: со временем придётся освоить два-три близких ЯП, которые помогут эффективнее решать «взрослые» задачи по разработке. Если владеете английским, тут можно пройти классный тест для подбора идеально подходящего вам языка.
Подводные камни при выборе языка
Новички часто не обращают внимания на важные факторы и уже в ходе изучения языка понимают, что лучше было бы выбрать другой. Чтобы не жалеть о потерянном времени, важно учесть пять факторов:
- Простота изучения и использования.
- Вендор.
- Комьюнити.
- Востребованность языка в конкретном регионе.
- Размер зарплат.
Простота изучения и использования
Знакомство с программированием удобно начинать с простых языков с дружелюбным синтаксисом. Команды в таком языке задаются английскими словами, понятны без словаря и легко запоминаются, а код напоминает предложения текста.
Чем дальше от повседневного английского логика языка и названия команд, тем сложнее будет втянуться в работу. Лайфхак: если название языка знакомо человеку без опыта в ИТ, он, скорее всего, достаточно прост для изучения.
Кроме этого, важно чтобы выбранный язык нравился вам визуально — именно его вы будете видеть большую часть дня. Уже упомянутый выше тест предлагает сравнить образцы кода на популярных ЯП и выбрать тот, к которому больше лежит душа:
Ещё один важный момент — количество доступной информации о конкретном языке. Если документации мало, учёба может стать очень сложной. Подробнее об этом расскажу в пункте об уровне развития языка.
Вендор
Многие языки, библиотеки и фреймворки привязаны к определённой платформе и компании. Возьмём для примера Swift, который тесно связан с Apple и её программными продуктами. Если Apple внезапно уйдёт с рынка, как это случилось с Nokia, исчезнет потребность в специалистах по Swift и Objective-C.
Платформа Java была создана компанией Sun Microsystems, которую затем поглотила Oracle — ей принадлежат права на торговую марку Java.
Другие популярные языки программирования, например Python и Haskell, не зависят от платформы и вендора. Они будут популярны до тех пор, пока не сойдёт на нет использование соответствующих технологий.
Ещё один хороший пример — Ruby: этот язык поддерживается Airbnb и хорошо подходит для стартапов. У него элегантный синтаксис, который позволяет быстро писать код, и активное доброжелательное комьюнити.
Выбор между «корпоративными» и «независимыми» языками зависит от ваших карьерных планов и личных убеждений.
Уровень поддержки в комьюнити
В процессе изучения языка у вас обязательно возникнут вопросы. Поэтому важно заранее выяснить, насколько открыто к общению сообщество разработчиков вокруг конкретного языка.
Молодые языки, например Ruby, Python и JavaScript, отличаются позитивным и очень общительным комьюнити: тут всегда ответят и помогут, регулярно проводятся митапы, а в Telegram полно профильных каналов на любой вкус, например:
- Python Beginners — база знаний для новичков в Python.
- Python — чат разработчиков на Python.
- pro.js — разработчики на JavaScript.
- JS Jobs — популярный канал с вакансиями JavaScript.
- Ruby, Rails, Hanami | dry-rb — разработчики Ruby и Ruby on Rails.
Для адептов более старых языков бывает характерна некоторая надменность и язвительность, которые затрудняют путь новичка. Поэтому, прежде чем становиться частью комьюнити, рекомендую примерить его на себя. Почитайте, понаблюдайте, сходите на несколько встреч: подходящее по духу окружение будет поддерживать и мотивировать вас в процессе обучения.
Популярные площадки для программистов:
StackOverflow — самая известная площадка, на которой любой разработчик может задать вопрос, а лучшие ответы поднимаются вверх голосованием. Есть русскоязычная версия.
GitHub — площадка для обмена кодом.
- В России программисты поголовно сидят на «Хабре», в Америке — на Reddit.
- В англоязычном комьюнити также популярна площадка Hacker News, которую сделал Y Combinator.
- У дата-сайнтистов есть мощное сообщество ODS, основная движуха в котором вертится вокруг собственного канала в Slack.
- А разработчики JavaScript регулярно собираются в Москве выпить крафтового пива и обменяться опытом на митапах BeerJS.
Востребованность языка в конкретном регионе
В большинстве случаев начинающий программист учит язык с целью получить хорошую работу. При этом в разных регионах востребованы разные языки: вот неплохая статья, где сравнивали популярность языков в разных городах США.
Если планов по переезду нет, то важно изучить потребности рынка в вашей локации. Если на месте ничего не держит, этот пункт можно пропустить.
Уровень зарплат
Кадровый голод в ИТ-сфере заставляет компании конкурировать за специалистов всеми возможными способами, в том числе и соблазнять их зарплатами внушительных размеров. Однако размером оплаты труда специалистов, владеющих конкретным языком, лучше поинтересоваться заранее. Удобно сделать это на hh.ru и его отечественных и зарубежных аналогах, например, indeed.com.
В Elbrus Bootcamp изучают JavaScript. Это третий по популярности язык программирования с низким порогом входа и развитым комьюнити. Он очень востребован в крупных корпорациях и широко применяется в мобильной разработке на Android. Hackr.io включил JS в десятку самых перспективных языков для изучения в 2019 году.
Проанализировав все факторы, я остановился на JavaScript как на самом подходящем языке для старта в профессии. Буду рад обсудить выбор в комментариях.
Где паскаль? :D
Умер 19 августа 1662, похоронен в Париже.
Комментарий недоступен
Люди постоянно путают изучение программирования и изучение языка программирования. Например, среди php-программистов очень много таких, кого и программистом назвать язык не поворачивается, максимум "кодописец" (да, ударение на последний слог).
Что то снобизмом джаваписцев запахняло. Люди понятия не имеющие о современном php почему то считают своим долгом высказаться в пренебрежительной манере о коллегах пишущих ( по их мнению) на менее "продвинутых" языках. А заставь такого джаваписца написать что то без использования какого-нибудь спринга (который собственно и ограждет довольно жестко от написания говнокода, вынуждает тут через создание сервиса делать, а здесь через иньекции получать зависимость и т.д.) так он не то что говнокода, вообще ничего полезного для прода не напишет. Зато гонору ого-го.
Справедливости ради, PHP наверное самый массовый язык, естественно, что там полно говнокодеров.
Язык, язык кто хочет выучить язык программирования, начните с языков общения сначала. А чтобы стать, хоть мало мальским программистом, нужны не только знания языка, а ещё и алгоритмов, парадигм и кучу всего, что приобретается только с опытом. А все эти подборки, этот круче там платят больше, по большей части бред, сорри за тафтологию. И то что вы знаете синтаксис языка, не делает вас программистом, это все популизм. Программист это художник, плохой или хороший, но он делает, потом переделывает и видит рост. Итеративный подход. Нельзя из человека сделать строителя хорошего ПО, ни одни курсы и тд, не дадут вам этого, программист это призвание, со своими плюсами и минусами, так что такие статьи мне кажется только вводят людей в большое заблуждение, а потом в разочарование. Ни кто из программистов в начале, а бывает и в середине или даже в конце карьеры не зарабатывает миллионы. А выбирать язык который учить надо, это когда вы рутину хотя бы для себя хотите автоматизировать, либо идти к мечте.
Согласен. Сперва хотя бы русский.
Изучение парадигм, алгоритмов, архитектур и систем - это все практические штуки. Нужно таки какой то язык изучить чтобы начать практиковать программирование. И потом вечно учится программированию - в разных системах, разными языками, разными подходами и архитектурами и тп.
Язык - только минимальный входной билет. Такое вот ЕГЭ перед универом. А дальше - долгое (нескончаемое?) обучение собственно программированию.
Путь к мечте у каждого свой. Не вижу ничего плохого в том, что у кого-то он начинается с подборок в интернете. Курсы дают билет в профессию, дальше — делать и переделывать, набираться опыта на реальных задачах, все как вы написали.
Хорошо зарабатывают умелые спецы. Сам язык программирования при этом не важен.
Криворукий плотник отличной стамеской ничего хорошего не сделает - то же самое актуально и для программиста.
сильно ошибаетесь
Выбрал Brainfuck - ни о чем не жалею.
ребята важно не то какой ЯП вы знаете, а то, как вы эти знания применяете. Я знаю людей которые на HTML+CSS делают по 300к/мес (и это даже не ЯП) и так же есть люди которые знают PHP/SQL/Python C++ и еще туеву кучу всего и при этом даже сотку в месяц выжать не могут.
Поэтому тут главное не какие технологии вы знаете, а как вы эти технологии применяете.
Сначала я не понял - Эльбрус, Бабаян... и, вдруг, JavaScript. А потом понял:
измени_свою жизнь()
Стань {fullstack-<разработчиком/> за (10) недель};
Bсего за 188000 рублей.
Adibas!
Борис Арташесович — мой дедушка :)
Эта тема началась во времена книги с++ за 21 день!
А теперь интернет забит курсами где за 20 занятий вчерашний начинающий(теперь это Junior) разработчик учит как стать профессионалом.
Мало того эти люди тоже пишут книги от чего вообще волосы дыбом.
Тырим куски текста и кода и вуаля родился писатель.
Как итог огромное количество гавнокодеров выкидывается на рынок без элементарных знаний.
Зато самомнение как у вселенского небожителя несущего свет серой массе!
Как стать программистом —--—--- писать код и читать чужой код.
5 лет чтобы стать средним разработчиков.
10 лет чтобы стать профессионалом.
15-20 лет до эксперта, которому плевать на языки программирования и технологии, он просто пишет на чем нужно.
Не сидеть и протирать на заднице штаны как делают многие, а учить и развиваться.
Причем опыт рабочий на живых проектах, а не мне 20 лет я программист с 7 годами опыта.
Тебе 20 лет у тебя нет опыта!
Потому что через 5 лет за свой код тебе будет стыдно и смешно одновременно.
А так мне осталось ещё 19 лет и 7 месяцев до того момента когда я выучу С++ я надеюсь ))
Комментарий недоступен
Удивляет пафос и агрессия, с которой программисты с голубой кровью, брызжут слюной в комментах. При этом вживую таких ни разу не встречал. Коллеги и другие товарищи зарекомендовали себя адекватными собеседниками и умными людьми. Но в интернете похлеще дома 2 разборки. Да как ты можешь без типизации кодить. Иди курсы учи.. Какие-то комплексы в людях играют.
Даже ответы на вопросы на тостере и в stackoverflow если сравнить, диву даёшься, сколько энергии мои соотечественники тратят на троллинг и самоутверждение.
Ну это как раз подход наших форумов, вместо ответа на вопрос долго рассказывать собеседнику какой же он дебил. Тоже самое при демонстрации бизнес-проекта на vc: комментариев, почему проект говно больше всего. Всем нужно работать над собой - меньше негатива, больше конкретики. Тогда, глядишь, что-то у нас и получится.
Кодеры (не программисты) сегодня хуже ебучих реперов: каждая мазафака мнит себя истиной, имея за плечами пару статей на хабре и 0 продакшн опыта. Малолетние уебаны.
Вопрос к СЕО Эльбруса, Георгий, жаль что Вас нету в Питере ну а с другой стороны я как то погуглил Ваш буткемп и не нашел достаточное количество отзывов.. т.е - они есть но их как то мало и наверное это либо заказные либо сотрудники оставили... Мне вот интересно Ваш буткемп стоит 180 к и чем же он отличается от других фейк буткемпов где предлагают волшебную пилюлю становления в программисты? Батчей у Вас выпустилось не мало а фидбэка не густо..
Константин, привет!
У нас есть несколько студентов и выпускников из Питера, могу вас познакомить. А еще каждый вторник в 17:30 в Elbrus Bootcamp проходит день открытых дверей, где можно лично пообщаться со студентами, выпускниками и преподавателями. Заходите, как будете в Москве.
Отзывов скоро будет больше: начали записывать интервью с выпускниками, выкладываем по мере готовности в канал https://www.youtube.com/channel/UCaKZxz2d1KI-wN3l6fX7zdQ. У каждого выпускника собираем фидбек и следим за его дальнейшей судьбой. Пока все довольны. В интернете пишут мало, потому что быстро находят работу ;)
Чем отличаемся: мы, насколько мне известно, до сих пор единственный очный буткемп в России. Целый день со студентами работают профессиональные преподаватели, в обед занимаемся йогой, по вечерам приходят делиться опытом разработчики из топовых компаний. Выпускникам помогаем составить резюме и подготовиться к собеседованию. Работа хороших специалистов стоит хороших денег, отсюда такая цена.
Комментарий недоступен
Ну можно ещё Rust и C# добавить.
Да и с Node.js на бекенд живется прекрасно.
Для начала изоморфный js норм.
Golang - это будет уже следующий язык! А тут для фронта все равно надо будет разобраться как минимум с css/html.
Комментарий недоступен
Не буду спорить, кто на что горазд, но это не панацея, сейчас выбор большой, и для решения какой то определенной задачи, выбирают или на том что могут, или то что подходит. В пример, что значит бек, это админка в которой сидит несколько редакторов, но обладает нной бизнес логикой, извините но это не го, бек который обслуживает весь апи возможно, но тоже спорно, если апи обслуживает тяжёлую бизнес логику, например расчеты и тяжёлые выборки. Так что инструменты, надо подбирать под задачи. Как многие и советуют.
10 недель? А чё так долго?
С/C++, Top
Какой язык не выбирай, всё-равно второй учить придется!
Там же, где и basic - мертвы))
Очень полезный пост. В настоящее время с конкуренцией и быстрым технологическим
Изменения студенты вынуждены добиваться наилучшего результата. Ключ к успеху заключается в
стучать в каждую возможную дверь. Читайте также бесплатные онлайн-курсы (https://digitaldefynd.com/best-data-structures-algorithms-tutorial-course-certification/), чтобы узнать о некоторых замечательных идеях.
на эту тему.
Вы также можете обратиться к рекомендации, предоставленной Digital Defynd. Они дали подробный список лучших онлайн-курсов по различным темам, таким как python web dev и т. Д., Доступных на рынке.
1-https: //digitaldefynd.com/best-python-data-science-courses/
2-https: //digitaldefynd.com/best-full-stack-web-development-courses/
3-https: // digitaldefynd. com / best-machine-learning-and-deep-learning-courses /
4-https: //digitaldefynd.com/7-best-machine-learning-training-certifications/
Комментарий удален модератором