с какого языка программирования лучше начинать обучение
Как выбрать первый язык программирования, гайд желающим начать программировать
Кратко для введения: я являюсь профессиональным разработчиком игр и мне есть что сказать себе 15 лет назад. Я решил оформить статью с рекомендациями тем, кто находится в самом начале пути к программированию. Статья в основном направлена на школьников (и их родителей), студентов и может быть джунов. Для людей более старшего возраста, но желающих стать программистами, думаю, также будет интересно.
Сначала приведу несколько постулатов, которые просто примем за истину, как аксиомы:
Самое важное состоит в том что сменить язык и технологию многократно проще чем выучить первую, а множество навыков языконезависимы. Поэтому из сложного пути стоит выкинуть всё сложное что не является необходимым, всё что можно добрать потом, а взять в дорогу всё что вам поможет.
На протяжении всего времени, до того как вы сможете зарабатывать какие-то деньги при помощи программирования, вам придётся идти на голом энтузиазме. На пути вы встретите множество проблем которые на определённом этапе развития могут казаться непреодолимыми. И чтобы сюжет с КДПВ не состоялся, в этот момент у вас должно быть достаточно воли и желания этот период преодолеть. Поэтому управление собственной мотивацией я считаю наиболее важной частью процесса обучения. А утверждение что там много потом будут платить, как правило, не является хорошей мотивацией
Поэтому первый язык и технологию я рекомендую выбирать строго по любви. Во всех технологиях к которым вы сейчас свободно найдёте бесплатные онлайн курсы есть заработки, просто полностью исключите вопрос «сколько я заработаю» и «насколько данный язык/технология востребованы в моём городе» из критериев выбора. Также я считаю что бесплатных образовательных материалов сейчас неимоверно много и я не вижу особого смысла покупать платные онлайн курсы. Из платного образования кружки с программированием и роботостроением для детей я считаю хорошней идеей, также любые технические лицеи, гимназии, университеты, т.е. классическое образование, если вы находитесь в возрасте приемлемом для такого образования.
Курсы вида «мы сделаем из вас фронтендера за 2 месяца» я не рекомендую. В основном потому что за мой многолетний опыт я ни разу не видел состоявшегося программиста с таким бекграундом. Один раз прыгнуть выше головы может и получится, удержаться в полёте — нет. Из всех правил, конечно, бывают исключения, но готовы ли вы поставить столько времени и денег на лотерею где выигрыш зависит не от вас? А от вас он не зависит потому что вы не стоите в этот момент на ногах и следовательно не управляете ситуацией.
Тут отдельно для родителей: школа с углублённой технической программой многократно лучше обычной. Если уклон только в информатику, то это не так хорошо. Хорошо, когда углублены математика, физика, информатика, английский язык. Чем больше удастся впихать математики в обычный период стандартного обучения школа-вуз, тем легче будет с программированием, но без фанатизма, пережимать тоже нельзя. Проблема в том что базовая математическая подготовка, во-первых очень сильно развивает мозг, а во-вторых, к сожалению, практически не может быть освоена потом.
Про вузы похоже на школы: Диплом потом не нужен, вообще, совсем. Кроме момента эмиграции. Для получения рабочей визы в другой стране диплом очень поможет, но и это решаемо. В университет имеет смысл идти только за навыками. И это матанализ, линейная алгебра, дифференциальные уравнения, дискретная математика, теория вероятностей, матстатистика. Какие модные технологии сегодня есть в университете абсолютно не важно. Хорошо, когда вокруг университета бегают HR крупных компаний, всякие Яндекс, Intel, IBM, Касперский и другие. Туда вполне реально попасть, и они, как правило, содержат всякие лаборатории и спецкурсы, которые очень хороши.
Если вы взрослый человек и у вас нет математического бекграунда, то ничего страшного, не пытайтесь его создать прямо сейчас, просто спектр ваших направление несколько уже, что не отменяет продвижения в рамках доступных технологий. Если будет очень надо — онлайн образование в помощь, это тяжело, но возможно.
Итак, алгоритм как я советую выбрать язык программирования
Идёте и гугл, яндекс или чем вы пользуетесь и забиваете там запрос: «бесплатные онлайн курсы программирования» и выбираете просто по описаниям 5 разных языков. Почитайте про разные, может что-то зацепит. Если что-то зацепило, всё выбор сделан, берите это.
По каждому языку идёте в википедию и читаете про этот язык. Что-то не понравится, то выкидывайте. Останется 2-3 языка. Если что-то зацепило, всё выбор сделан, берите это.
Определитесь с предметной областью, что вам интересно: например модифицировать игры и писать для них скрипты или писать игры целиком, сделать сайт, телеграм бота, сделать финансовый расчёт, смоделировать что-нибудь типа эпидемии, управлять роботом, или ещё что-нибудь. Важно взять то, что лично вам интересно, а не что кто-то считает важным.
Поищите курсы про интересную вам специфику на разных языках.
Пробуйте всё что нравится.
Ключевой момент поймать желание в этом закопаться. И как только вы это желание поймали, начинайте любой онлайн курс. Если возникли сложности и проблемы, попробуйте другой курс или другой язык. Не бойтесь попробовать разное. Огонь в глазах должен быть вашим ориентиром и путеводной звездой.
Если выбрать направление в котором потенциальная зарплата больше, а фана нет, то риск не дойти многократно увеличивается. Поэтому первую технологию нужно выбирать только по любви. А по расчёту выбирать будете уже следующие технологии, когда будет некий бекграунд. Обычно это даже не второй а третий-четвёртый язык программирования. А менять технологии всё равно придётся, потому что всё меняется очень быстро. И даже такой консервативный язык как C++ качественно меняется и программирование на нём требует новых подходов.
Технологии которые сейчас можно изучать сильно устареют и изменятся, когда вы дойдёте до того чтобы применять их на работе. Технологии которые я сейчас использую в работе и хобби в принципе не существовали, когда я учился программировать. Поэтому вообще расслабьтесь и делайте то, что штырит и прёт, а не то что модно или кому-то нужно. Более того знать несколько языков и разных технологий крайне полезно для опыта и общего развития в отрасли. Можно сравнивать разные подходы и совершенствовать свой стиль и путь.
Несколько очень частых вопросов
Нужен ли английский?
Чтобы начать прямо сейчас — нет. Но вообще хорошо бы. Если можно сконцентрироваться на этом в школе и университете, то это неплохо. Но не стоит откладывать по принципу «выучу, потом займусь программированием».
Нужна ли высшая математика?
Чтобы начать прямо сейчас — нет. Но вообще хорошо бы. Если можно сконцентрироваться на этом в школе и университете, то это неплохо. Но не стоит откладывать по принципу «выучу, потом займусь программированием».
Нужна ли высшее образование?
Чтобы начать прямо сейчас — нет. Но вообще хорошо бы. Если можно сконцентрироваться на этом в школе и университете, то это неплохо. Но не стоит откладывать по принципу «выучу, потом займусь программированием».
Чтобы начать прямо сейчас — нет. Точно не стоит откладывать по принципу «выучу, потом займусь программированием». Ну вы поняли 🙂
В начале, когда вы учитесь ходить нужно учиться именно ходить, с любой скоростью и в любом направлении, направление выберете потом. Тоже самое с обучением плаванию, езде на велосипеде, автомобиле. Сначала вы учитесь правильно бегать, тренируетесь а потом бежите марафон. Список этих аналогий можно продолжать бесконечно. Сначала вы осваиваете инструмент и воспитываете в себе навыки, потом уже выбираете направление движения и интересные вам направления развития в рамках навыка. Вот с программированием ровно также. Просто начните с следуйте за удовольствием.
Как выбрать первый язык программирования
Разбираемся, что учить новичку в программировании, даже если ты ничего не понимаешь, а вокруг одни противоречивые мнения.
Разработчики на Python хвалятся тем, как быстро пишут код. Программисты на C++ — что их код очень производительный. Те, кто используют Java, говорят, как важна кроссплатформенность.
И все торопятся друг друга обидеть: Swift — для геев (многие действительно так думают), Python — для малышей, а JavaScript, конечно же, для дураков. Разработчики готовы спорить даже о том, что лучше: табы или пробелы.
В этой статье мы рассмотрим две темы:
Пишет о программировании, в свободное время создает игры. Мечтает открыть свою студию и выпускать ламповые RPG.
Мой личный опыт
Я начинал с PHP и каждый день видел прогресс: какой-то новый подход, массивы вместо переменных, супермассивы, базы данных и так далее. Освоив PHP на более-менее сносном уровне, я двинулся дальше и приступил к JavaScript. Разобравшись с ним, я попробовал C++, потому что хотел заниматься играми. Скачал учебник, который все рекомендовали, позанимался по нему — и бросил программирование на несколько лет. М-да.
Сейчас я программирую на PHP, JS, Java, Python, C# и C++. С каждым новым языком я постоянно возвращался к основам и узнавал что-то новое о работе компьютера: как устроена память, как работает процессор, какой код будет работать быстро, а какой — нет. И, самое главное — почему. Если бы я сразу начал с C++, то, скорее всего, решил бы, что это не моё — слишком много информации.
Определите, чем вы хотите заниматься
Все эти споры, какой язык круче, бессмысленны, потому что:
Новички ещё слишком мало знают, чтобы понять, что им нужно от языка. Поэтому выбирать нужно не язык, а то, чем вы хотите заниматься. Многие языки в первую очередь затачиваются под решение определённых проблем или под определённые сферы:
Выбрав сферу, выясните, какие языки там используются, и выбирайте из них. Вы можете попробовать выучить несколько разных языков, чтобы определиться, какой вам больше нравится или лучше подходит для конкретной задачи.
Но даже если вы решите выбрать что-то совсем непопулярное — на чём пока не создавали крутые проекты, — это не значит, что вас ждет провал.
Выбор технологии не определяет успеха игры, сайта, приложения и чего угодно ещё.
А вот основные сильные и слабые стороны популярных языков:
| Язык | Преимущества | Недостатки |
|---|---|---|
| С++ | • Высокая производительность • Прямой доступ к памяти • Строгая типизация | • Высокий порог входа • Низкая скорость разработки |
| C# | • Строгая типизация • Сборка мусора • Кроссплатформенность • Большое количество синтаксического сахара | • Ориентированность под Windows • Нет возможности создавать кроссплатформенное GUI |
| Python | • Высокая скорость разработки • Возможность быстро выучить язык • Широкий спектр применения | • Слабая типизация • Низкая производительность |
| JavaScript | • Высокая скорость разработки • Возможность быстро выучить язык | • Непредсказуемость • Слабая типизация |
| Java | • Кроссплатформенность • Строгая типизация • Сборка мусора | • Требуется много времени на запуск приложения • Большой объём повторяющегося кода |
| PHP | • Большое сообщество • Быстрое развитие | • Слабая типизация • Небезопасный код |
Джоэл Спольски (CEO Stack Overflow) предпочитает C-подобные языки, но всё равно выбирает тот, который лучше справится с конкретной задачей.
Например, если вы хотите создавать игры, то какие? Посмотрите, на каком движке сделаны ваши любимые игры, и начните осваивать его. Если это Unity, то вам нужен C#. Если Unreal Engine 4, то С++.
Нужно ли начинать с простого языка
Если вы, как и я, выбрали геймдев, то перед вами встаёт дилемма: какой из языков выбрать. Оба достаточно крутые, на них написано большое количество известных игр. Допустим, вам всё же больше понравился C++.
Но тут возникает проблема: среди популярных сегодня языков C++ — один из самых сложных. Что делать?
Есть мнение, что если ваш первый язык будет слишком простым, то вы не сможете стать хорошим программистом.
Всё из-за того, что простые языки не требуют от вас знаний, как устроен компьютер, как данные хранятся в памяти, как процессор выполняет операцию деления и так далее.
Тот же Джоэл Спольски писал, что начинать погружение в программирование нужно с C (ещё сложнее, чем C++), потому что так вы освоите главные принципы и сможете писать более эффективные программы. Даже если они будут не на C.
С другой стороны, очень просто потерять мотивацию, когда изучаешь язык и подолгу останавливаешься на каждом термине. Несколько дней на изучение переменных, потом ещё недельку на массивы, месяц — на функции и так далее. За это же время другие успеют выучить Python на достаточном уровне, чтобы создавать простые блоги.
Так что я считаю нормальным начинать с чего-то простого. Вы будете расти — ступенька за ступенькой. Причём с большей эффективностью.
Вывод
Обсуждать можно бесконечно, но вот совет: начните уже изучать хоть что-то, сопоставив первый язык со сферой ваших интересов. И не переживайте, если вам понравился сложный язык. Сейчас обо всём можно найти понятные и подробные руководства. Например, в своей новой серии статей я максимально просто объяснил сложные понятия в C++. А на нашем курсе всё это можно закрепить на практике.
Я часто вижу, как разработчики разного уровня «сеньёрности» доказывают, иногда аргументированно, иногда просто «авторитетно», почему стоит или не стоит выбирать определенный язык программирования в качестве первого. YouTube полон роликов по типу «Какой язык программирования учить первым», «Стоит ли учить «такой-то» язык первым», «Лучшие языки программирования для изучения в «таком-то» году» и т.д. Авторы стабильно обновляют такие видео и получают не менее стабильные просмотры. Схожая тенденция наблюдается на тематических форумах и в блогах. Из этого можно сделать вывод, что тема актуальна для сотен новичков, только начинающих разбираться в программировании.
За свой IT’шный бэкграунд (в рамках универа, работы и личного интереса) я изучил порядка 15-ти языков программирования. Пробовал функциональные, структурные, логические и объектно-ориентированные. Мне есть с чем сравнить и на основе чего делать выводы.
Для начала необходимо понять, зачем тебе нужен язык программирования. Поэтому свой первый язык следует выбирать, отталкиваясь от 1-го из 4-х следующих сценариев:
Первое – Пробудить интерес к программированию. Это однозначно Python или JS. Человеческий мозг получает удовольствие, когда у него что-то получается, когда он видит результат своего труда, причем чем быстрее, тем лучше. У Python много готовых библиотек и богатая кодовая база. Существует множество туториалов, по которым можно быстро сделать что-то рабочее и прикольное: ботов, простенькое GUI, скрипты для операционных систем и ещё множество несложных интересных проектов.
К тому же, Python довольно прост в изучении, у него приятный и понятный синтаксис, а пробелы не дают превратить код в мешанину. Немаловажно и то, что материалов по изучению очень много.
Главное здесь, как можно быстрее и нагляднее продемонстрировать себе или другим видимый результат. По причине наглядности сюда же добавил JavaScript. На нём сразу можно сделать что-то прикольное на веб-страничке, поиграться с браузером и т.д. Плюс порог вхождения низкий, и есть куча хороших обучающих материалов. А впоследствии возможно переехать на TypeScript.
Оба языка популярные, вакансий на них немало. Отличный вариант для старта. Я думаю, что это must have языки для изучения программирования в школе. Поначалу, главное – это привить интерес к программированию, а не готовить девятилетних «сеньёров», стартующих с Erlang, которые будут обсуждать SOLID и Best practice на переменах между уроками ИЗО и Физкультуры.
Второй сценарий – это Программирование интересно само по себе и человек хочет развиваться как разработчик и инженер. Здесь однозначным решением будет C++. Это мощный универсальный язык со статической типизацией и качественным ООП. С памятью поработаете, на указатели посмотрите, поиграете с шаблонами, потыкаетесь в разного рода оптимизации. Стандарты 11-го и 14-го года призваны облегчить «мучения». Не зря в народе С++ в шутку называют «Язык языков». Однако в каждой шутке есть только доля шутки. С ним можно наработать очень хорошую программерскую базу, а потом решить, хочешь ты развиваться в нем дальше или нет. Разработчики редко учат один язык и пишут на нём всю жизнь. Если разобраться в С++ на вменяемом уровне, то изучить любой другой язык в дальнейшем не составит труда.
Следующий вариант – Человек на 100% определился со сферой, в которой хочет работать. Образно, ты горишь идеей разрабатывать мобильные приложения. Это мечта, цель и смысл жизни. Тогда можно сразу приступить к изучению соответствующего ДЛЯ ДАННОЙ СФЕРЫ языка.
Хочется писать под Android – это очевидно Kotlin, если под IOS – то Swift. Прокатиться на двух стульях сразу поможет JS с его React Native.
Если же сфера более обширная, как веб, и ходовых языков там много, то нужно попробовать самые распространённые. Почитать, поизучать каждый из них, ознакомиться с экосистемой. Отводишь неделю на каждый язык и после, основываясь на СВОИХ ощущениях, выбираешь один и продолжаешь изучать только его. Пусть ты потратишь месяц, зато четко поймешь, что тебе нравится, и не будешь распыляться в дальнейшем.
Если ты только начинаешь, то не так важно какой язык осваивать первым. Главное, чётко определиться с направлением, которое тебе интересно: frontend, backend, мобильная разработка или data science, микроконтроллеры и т.д. Так и спектр языков сузится и шанс ненавидеть свою будущую работу уменьшится.
Я рекомендую начинать с мейнстримных языков, потому что по ним больше материалов, учить их легче, да и первую работу найти проще. На экзотику, типа Scala или Rust, можно пересесть потом, имея некоторый опыт.
Напишите в комментариях какой язык программирования был вашим первым, и что вы думаете о нем сейчас. Мне суперинтересно об этом почитать. У меня, как и у многих, первым был Pascal 🙂
Желаю удачных поисков себя, и помните, что язык программирования не просто инструмент, а музыкальный инструмент, и тебе должно быть приятно на нём играть.
Какой язык программирования учить прямо сейчас: 9 самых востребованных
Самые востребованные языки программирования
Язык программирования — это набор лексических, синтаксических и семантических правил, которые придумали люди, чтобы создавать программы. Изучить язык до начального уровня можно за 6–10 месяцев, но если ошибиться с выбором, язык может устареть, а вы потеряете время и деньги.
Чтобы отслеживать востребованность языков программирования, компании составляют специальные рейтинги. Преподаватель онлайн-школы цифрового творчества и программирования для детей «Кодабра» Николай Ведерников выбрал языки, которые занимают высокие места в рейтингах TIOBE и IEEE. В первый рейтинг попадают языки, на которых написано больше всего строк кода, для второго используют чуть больше критериев. Например, популярность на сайтах для поиска работы, упоминания в сервисах для программистов и соцсетях.
Самые востребованные языки программирования:
Стоит ли учиться программированию на C
C — один из самых старых и популярных языков программирования. Он «легкий» и быстрый, поэтому его используют там, где нужна высокая производительность. Например, для создания драйверов, операционных систем или ПО для микроконтроллеров. При этом C сложно изучить — многое приходится писать с нуля. Если сравнивать языки программирования с автомобилями, то C — гоночный болид, неудобный на городских дорогах, но очень быстрый.
Где используют. С помощью С создают драйвера, пишут ядра операционных систем, а также пишут библиотеки для Python и других языков.
Сколько платят программисту. В Москве разработчик на C получает в среднем от 100 тыс. до 250 тыс. руб. В других городах зарплаты меньше — от 50 тыс. до 200 тыс. руб.
Зачем изучать обычным людям. С — это не тот язык, на котором можно легко написать приложение для смартфона или программу для умного дома. Но с него можно начать изучение языков программирования. Учиться непросто, но если справитесь, поймете принцип действия почти всех остальных языков.
Стоит ли учиться программировать на Java
Java — кроссплатформенный язык с большим количеством библиотек и большим сообществом разработчиков. Кроссплатформенность — это возможность написать программу один раз и сразу пользоваться ей на нескольких операционных системах: Windows, Linux и MacOS. Благодаря библиотекам Java подойдет практически для всего: работы с графикой, звуком, создания небольших игр. А в большом сообществе начинающий разработчик легко найдет готовые куски кода для разных задач и ответы почти на любые вопросы.
Программисты пользуются библиотеками, чтобы создавать программы быстрее. Библиотека — это набор готовых программ, объектов и функций для решения типовых задач.
Где используют. Java — это язык для всего. На нем пишут мобильные приложения для Android, программы для микроволновых печей и серверы. Для разработки мобильных приложений сейчас все активнее используют язык Kotlin. Но на Java уже написали очень много приложений, которые придется обслуживать и обновлять.
Сколько платят программисту. Зарплаты Java-разработчиков не сильно отличаются от обычных зарплат программистов — от 100 тыс. до 250 тыс. руб. в Москве.
Стоит ли учиться программировать на Python
Python — логичный и относительно простой язык с минималистичным синтаксисом. У него небольшой набор основных правил, язык легко читать и писать на нем не сложно. Разработчики написали для Python множество библиотек, поэтому вы можете использовать готовые решения в своих проектах. Главный минус Python — его невысокая скорость. Программы на нем будут работать в среднем медленнее, чем на других языках.
Где используют. Чаще всего на Python создают серверы, обрабатывают данные и разрабатывают нейронные сети. После изучения Python можно работать бэкенд-разработчиком или разработчиком в сфере data science. С помощью Python можно «прикрутить» неочевидные функции к программам — это его главное удобство. Например, создать нейронную сеть для определения степени поражения легких, а заодно в этой же программе сделать просмотр снимков КТ.
Сколько платят программисту. Разработчик в крупной компании в Москве, знающий Python, зарабатывает от 100 тыс. до 250 тыс. руб. При этом спрос на разработчиков в сфере data science растет, поэтому можно рассчитывать даже на более высокую оплату.
Зачем изучать. С помощью Python можно создать бота для мессенджеров или социальных сетей. Или написать программу для парсинга — поиска и переноса информации с разных сайтов в один документ. Такая программа пригодится дизайнерам и журналистам.
Стоит ли учиться программировать на C++
С++ — кроссплатформенный язык семейства C с расширенными функциями.
Огромное количество программистов пишут на нем код, делятся библиотеками и шаблонами, отвечают на вопросы новичков.
Где используют. Чаще всего на С++ создают операционные системы, драйверы и утилиты. Делают популярные десктопные приложения серий Adobe и Office. Из-за высокой скорости и производительности C++ используют для разработки компьютерных игр. Например, на нем написан популярный движок Unreal Engine.
Сколько платят программисту. В регионах разработчик на C++ зарабатывает от 50 тыс. до 150 тыс. руб., в Москве — от 100 тыс. до 250 тыс. руб. Зарплата зависит не только от города, но и от сферы — в геймдеве можно заработать больше, чем в разработке системных приложений.
Зачем изучать. C++ плохо подходит для решения простых «домашних» задач, но с него можно начать обучение языкам, чтобы понять их структуру и принципы. Если решили изучать, запаситесь терпением — с С++ в полной мере работает принцип «тяжело в учении — легко в бою».
Стоит ли учиться программировать на C#
C# (си-шарп) — язык, изначально придуманный компанией Microsoft, чтобы создавать приложения под Windows. Это объектно-ориентированный язык — его сложнее изучать, но проще использовать, например, меньше писать одинаковый код. С помощью С# можно работать с платформой WPF, которая помогает создавать «красивые» оконные приложения. Например, последние версии MS Office.
Где используют. Чаще всего на C# пишут приложения для Windows и создают компьютерные игры. Например, на C# работает популярный движок Unity. Кроме того, на нем можно разрабатывать системные приложения и создавать библиотеки для С++.
Сколько платят программисту. В регионах разработчики на С# получают от 35 тыс. до 130 тыс. руб., в Москве — от 100 тыс. до 250 тыс. руб.
Зачем изучать. С помощью C# можно создать оконное приложение для Windows, например, калькулятор или небольшую игру. Но изучать его сложнее, чем языки для создания мобильных приложений.
Стоит ли учиться программировать на JavaScript
JavaScript — быстрый кроссплатформенный язык для веб-разработки. С помощью кода на JavaScript разработчик «говорит» странице, как она будет реагировать на действия пользователя. С помощью JS можно показывать пользователю информацию без перезагрузки страницы — так работают выпадающие меню, всплывающие окна, оконные клавиатуры.
При этом у JavaScript есть свои ограничения — он позволяет допускать ошибки, которые затем сложно обнаружить. Поэтому его редко используют для создания сложного программного обеспечения, например, ПО серверов.
Где используют. JS постоянно используют для веб-разработки. На нем удобно создавать мобильные и десктопные приложения, которые будут работать через браузер. Например, Notion, Discord, Visual Studio Code.
Сколько платят программисту. Разработчик на JavaScript в Москве зарабатывает от 140 тыс. до 300 тыс. руб.
Зачем изучать. С помощью JS можно создать простой сайт или модуль для него, работающий с запросами клиента. Например, онлайн-калькулятор.
Стоит ли учиться программировать на PHP
PHP — используют в веб-разработке для создания программ, которые работают на сервере и помогают обрабатывать запросы клиентов. PHP постепенно теряет популярность, потому что серверы можно создавать с помощью других языков. Но на PHP до сих пор работают многие ранее созданные сайты, например, «ВКонтакте».
Где используют. С помощью PHP создают программы, которые работают на сервере и помогают отправлять почту с сайта, взаимодействовать с базами данным. PHP облегчает работу интернет-магазинов — можно не создавать 1 тыс. одинаковых страниц, а генерировать их автоматически из базы данных по запросу клиента.
Сколько платят программисту. В регионах PHP-разработчик получает от 50 тыс. до 120 тыс. руб., в московских компаниях — от 80 тыс. до 220 тыс. руб.
Зачем изучать. Со знанием PHP легко начать карьеру разработчика. Такой разработчик сможет найти работу, даже если у него мало опыта.
Стоит ли учиться программировать на R
R — это язык для обработки данных, статистики и машинного обучения. R постоянно конкурирует с Python, его чаще используют в научных исследованиях.
R — бесплатный, у него большие возможности для обработки данных и необычный синтаксис, более понятный математикам, от этого популярный в академической среде.
Где используют. Чаще всего с помощью R обрабатывают данные в научных исследованиях. На нем создают нейронные сети.
Сколько платят программисту. Разработчики и дата-аналитики, использующие R, зарабатывают от 100 тыс. до 200 тыс. руб. Точная сумма зависит от типа компаний — иногда в научных проектах, получающих международные гранты, можно заработать больше.
Зачем изучать обычным людям. Не стоит.
Стоит ли учиться программировать на Arduino
Arduino — это упрощенный диалект C++, на котором пишут только программы для контроллеров Arduino. Но вот эти контроллеры используют почти везде — от устройств для автоматического полива до полноценных систем «умный дом» и разнообразных роботов.
Arduino существует только в связке с контроллерами, поэтому его не всегда считают полноценным языком. Чтобы на нем работать, нужно купить специальную плату, соединить с компьютером и с помощью специального ПО писать для контроллера программу. Зато можно написать программу, поставить контроллер в нужное устройство и сразу проверить, насколько хорошо она работает.
Где используют. Специалисты, знающие Arduino, могут работать инженерами-электронщиками и разработчиками ПО для микроконтроллеров. Иногда — в школах роботехники.
Сколько платят программисту. В Москве инженеры-электронщики зарабатывают от 50 тыс. до 120 тыс. руб., преподаватели — от 30 тыс. до 100 тыс. руб.
Зачем изучать. Arduino удобен именно для решения простых бытовых задач. Его легко использовать дома и на даче — создавать системы полива, вентиляторы, охранные системы, системы для аквариумов. С Arduino можно развивать логическое мышление детей — с ним легко понять принцип работы технических устройств.
Какие языки теряют актуальность
Сомнительная идея изучать Perl в 2021 году, — считает ИТ-предприниматель и идейный вдохновитель школы программирования для детей CODDY Оксана Селендеева. Perl — язык программирования для системного администрирования, веб-разработки, игр. У Perl-разработчиков довольно высокая зарплата — 150 тыс. ₽ в месяц, но начиная с 2017 года вакансий для таких разработчиков почти нет. Лучше обратить внимание на Python. На нем выполняют те же задачи, но язык в 2021 году намного более востребован в ИТ-сфере.
Теряют актуальность и другие языки: Fortran, Objective-C, Haskell, Visual Basic.
По версии Stack Overflow, самые «страшные» языки в 2020 году — VBA, Objective-C, Perl, Assembly, C. «Страшные» означают, что большинство разработчиков, которые сейчас пишут код на этих языках программирования, не планируют продолжать с ними работать.
Общие тренды ИТ-сферы вне зависимости от языков программирования
Код становится более читабельным. В последние годы разрабатывают все больше приложений, в том числе для мобильных устройств. Приложения становятся все сложнее по архитектуре, их нужно постоянно обновлять и обслуживать — важно, чтобы код можно было легко прочитать и понять. Приложение может жить десять лет. За это время сменится несколько разработчиков, которым нужно будет понимать код, написанный другими. Поэтому важно, чтобы программы не только решали свои задачи, но и были аккуратно, понятно написаны.
Растет популярность мобильной разработки и машинного обучения. Мобильная разработка стала привычным делом за несколько лет. Многие компании запускают только мобильные приложения, не думая об их браузерных и десктопных версиях. Из-за этого сильнее разрабатывают стандарты мобильной разработки. С одной стороны, это усложняет работу, с другой — сообществу выгодно обучить новичков этим стандартам.
Машинное обучение из диковинки становится неотъемлемой частью жизни — предсказывание и обработка данных слишком часто помогают в обычных ситуациях. Становится больше приложений по распознаванию лиц и обработке голосовых сообщений в текст.
Нужно писать код для всех платформ. Платформ становится все больше — в этом году Apple оснастила свои ноутбуки ARM-процессорами, которые раньше использовала только для смартфонов и планшетов. Поэтому разработчики должны учитывать все существующие технические возможности и писать приложения так, чтобы они работали везде.
Работодатели хотят посмотреть портфолио на GitHub. Если раньше при найме сотрудника работодатели смотрели приложения, к которым программист приложил руку, то теперь даже непрофессионалы все чаще хотят увидеть код. На Гитхабе можно посмотреть все проекты разработчика, увидеть, как он думает и пишет, как развивался и рос.
Программирование молодеет. Дети и подростки изучают программирование на онлайн-курсах или самостоятельно. Из-за этого уже в 13–15 лет они могут писать приложения, выкладывать их в Appstore или GooglePlay и даже зарабатывать деньги. Некоторые из них так начинают карьеру разработчика и конкурируют с выпускниками вузов и более старшими коллегами.
Еще пять статей о программировании
В Telegram-канале «Списать не получится» мы еще больше рассказываем о трендах в образовании и о том, как учиться в течение всей жизни и делать это с удовольствием. Подписывайтесь!













