Зачем программисту в 21 веке язык программирования С?

В начале создания курса по углубленному изучению языка программирования С встал вопрос даже не о том, нужен ли курс, а нужен ли сейчас сам язык С. Ведь если востребован язык, то будет востребован и курс по нему.

В Интернете очень много рекламы курсов по современным популярным и не очень языкам: Python, Java, GO, PHP, JavaScript и т.д. Даже в учебных заведениях обучать основам программирования начинают уже с Python.

На язык С многие молодые специалисты смотрят как на доисторическое ископаемое. Еще бы, ведь он существует уже практически полвека. И этот факт ставят ему не в плюс, а, наоборот, минус, заявляя, что решать современные задачи на языке, созданном в далекие 1970-е годы неэффективно, несовременно и немодно.

Но что показывает упрямая вещь под названием «статистика»? Если посмотреть рейтинг TIOBE (https://www.tiobe.com/tiobe-index/), то С уже долгие годы никогда не опускается ниже 2-го места, а в январе 2021 года по итогам 2020 года он опять стал первым. В рейтинге PYPL (https://pypl.github.io/PYPL.html) С/С++ постоянно входят в пятерку языков, по которым наиболее часто ищется информация в поисковике Google. Если выполнить запрос «программист С» на одном из крупнейших сервисов по поиску работы в России HeadHunter (https://hh.ru/) можно увидеть, что такие специалисты требуются во многих городах.

Стоит, конечно, признать, что зарплаты на начальном этапе программистам на С предлагают на порядок меньше, чем на Python или Java. Но даже при устройстве на работу разработчиком на Python для соискателя большим плюсом является знание языка С – работодатели это очень ценят.

Из всего вышесказанного можно сделать вывод, что сообщества работодателей и программистов всего мира не только не забывают язык С, но и постоянно использует его в той или иной мере.

Давайте теперь вспомним, где же используется С? Основными направлениями применения является разработка: - модулей операционных систем; - драйверов под микроконтроллеры; - приложений реального времени и других языков программирования, которые в итоге пытаются вытеснить своего родителя с рынка программного обеспечения. :)

Все эти направления, безусловно, важны, но не сильно популярны. Но в последнее время все больше и больше набирает популярность концепция Интернета вещей, позволяющая обмениваться данными между различными физическими объектами, а значит, для этих объектов необходимо создавать компактное быстродействующее ПО, которое позволит им взаимодействовать между собой и внешней средой. Лучшим кандидатом для этого, на мой взгляд, является язык С. Реальных достойных альтернатив, способных его заменить при низкоуровневом программировании, я пока не вижу.

Что получается, как говорится, в сухом остатке? Язык С в 21 веке все так же остается востребованным, а с реализацией технологий «умных» вещей, необходимость в специалистах, владеющих им на профессиональном уровне, будет только увеличиваться. Но парадокс заключается в том, что спрос растет, а образовательных предложений практически нет. Как я уже упоминал, учебные заведения практически перестали обучать языку С, а имеющиеся в Интернете курсы в большинстве своем предлагают только начальный уровень освоения языка или солянку из языков С и С++.

Поэтому, считаю, что курс «Программист С» образовательной онлайн-платформы «Отус» с углубленным его изучением должен быть интересен и полезен инженерам и программистам, желающим повысить свой профессиональный уровень.

Неважно, овладеете ли вы всеми тонкостями программирования на С и будете писать идеально оптимизированный код, или он будет далек от совершенства, -- все равно этот код будет работать на порядок быстрее, чем аналогичный код на любом другом современном популярном языке программирования.