fbpx

Если у опытного разработчика, скажем, с 20 летним стажем спросят, какой язык программирования нужно учить первым, что он ответит? Почти 100%, что он посоветует освоить один из языков семейства Си. Эти языки занимают первые строчки в любых рейтингах популярности. А какие именно языки входят в это семейство, какие библиотеки и фреймворки используют, какие продукты на них написаны и что еще нужно знать рекрутеру – в нашей статье.

hrpr school blog

Присоединяйся к HRPR в сетях

Языки семейства Си

Не вдаваясь в тонкости и не ища проколов в классификации, назовем языками семейства Си все языки, которые используют фигурные скобки {} для выделения функциональных блоков (функции, классы, циклы и др). Это языки С, С++, C#, Objective-C. Эти языки используются в основном для бекенда, но есть отдельные фреймворки позволяющие делать фронтендную часть.

Вот пример кода Си.

“Hello World” в Windows:

#include <stdio.h>

#include <conio.h>

 int main () {

    printf (“Hello World\n);

     getch();

}

Какие плюсы у этих языков:
– хороши для изучения тому, кто любит и знает математику и готов погружаться в бекенд-разработку. Мы с этого начали. В языках семейства Си дается фундамент программирования, введены основные понятия, из которых состоит код: переменные, классы, функции, типы, потоки команд и т.д.

  • универсальность — создание продуктов для разных платформ и систем (от приложений для Андроид до декстопов на Майкрософт). Все примеры будут ниже.
  • скорость работы приложения. На пальцах это сложно показать, но буквально во всех профильных статьях упоминается это преимущество.
  • много библиотек и шаблонов, чтобы не решать решенные задачи. Многие из библиотек бесплатные.
  • помогают трудоустроиться. Совсем необязательно программировать только на языках семейства Си но знание одного из них свидетельствуют, что в голове программиста все правильно разложено по полочкам. Это своеобразный маркер для работодателя.
  • комьюнити и доступность справочной информации. Ответы на вопросы можно искать тут.

Что может быть написано на языках семейства Си
Да практически все, если конкретизировать:
С, чего только не написано на Си: операционные системы (Windows, macOS, Linux, iOS , Android), базы данных (Oracle Database, MySQL, SQLite, MS SQL Server и PostgreSQL), Open Source-проекты, драйверы для внешних девайсов (принтеры, МФУ, клавиатуры, мыши и т.д.), другие языки программирования (C++, C#, Objective-C, Swift, Perl, Python, Ruby, PHP), графические библиотеки (Cairo, OpenGL, SDL) и много чего еще, например, софт для космических разработок.
Библиотеки: assert.h, complex.h (C99), ctype.h, errno.h. Полный список тут.
С++ используется для оптимизации кода (переписывают код с более высокоуровневого языка на С++, чтобы работал быстрее), игры AAA-класса (сложные, красивые, высокобюджетные игры), GPU-вычисления (сотни мелких ядр выполняют простые вычисления, да-да именно так майнят биткоины).
Фреймворки для начинающих: SFML, Poco, GTK+, Cocos2D-X, SDL.
C# используется для разработки сайтов (ASP.NET — фреймворк для веба на C#), клиентских и web-приложений, машинного обучения кроссплатформенных мобильных приложений и игр в Unity 3D, CryEngine и DirectX. Хорошо сочетается со средой Microsoft, потому что изначально был создан для внутренних нужд компании.
Фреймворки: ASP.NET MVC, ASP.NET Web Api, .NET, Automapper.
Objective-C используется для написания всего софта для macOS и iOS от приложений (Moves, Duoling) до игр (Device 6, Badland, Impossible Road).
Фреймворки: Cocao Touch, Media Layer, Core Services, Core OS.

Что должен знать IT-рекрутер при поиске программиста на языках из семейства С:
1. какой все-таки язык нужен для проекта
2. какие есть версии нужного языка
3. какие библиотеки и фреймворки используются
4. какие компиляторы и отладчики актуальны для выбранного языка
5. что используется для тестирования на данном языке
6. понимание бизнес домена
Как найти ответы на эти вопросы: погуглить, изучить опыт компании по поиску похожих кандидатов, если возможно или спросить у тимлида, проджект-менеджера или кто есть ответственный на проекте.
Давайте рассмотрим, какие требования предъявляют к кандидатам, варианты вакансий в карусели.
Кроме конкретных технических знаний и опыта работы с определенными языками и фейверками, требуется аналитический склад ума, знание алгоритмов и математики, английский язык хотя бы на уровне А2, для руководящий позиций – знание современных методологий ведения проектов, лидерства и мотивации команды.
Заработные платы за 2021 год в Беларуси, медианное значение:
С / С++ $ 2540, C# $ 1600, Objective-C $ 2300. Вилки огромные: от $350 до $10000.

На занятиях в школе HRPR вы пройдете технический ликбез.

Чтобы знать, какие особенности при поиске самых разных специалистов.

07

СЕНТЯБРЯ 2021

Старт группы HRPR. 125 часов занятий и подготовка вашего резюме для скорейшего входа в профессию.

Последнее из блога

hrpr school blogITHR & IT-Рекрутингвопросы на зачет
24 июня, 2021

SWIFT vs Objective-C: кто востребованнее?

Спрос на разработчиков iOS увеличивается с ростом количества пользователей мобильных устройств. Игры, приложения и другое программное обеспечение для Apple пишется на языках Swift и Objective-C. Рекрутер должен понимать, какой язык…
IT-МенеджментITHR & IT-Рекрутингвопросы на зачет
23 июня, 2021

Почему OKR удается внедрить не всем IT-компаниям?

Метод OKR (Objective and Key Results) — это один из способов управления IT-компанией, разработанный Джоном Дорром. В отличие от реалистичных метрик KPI, определяемых менеджментом, метод OKR предполагает постановку амбициозных целей,…
hrpr school blogITHR & IT-Рекрутингвопросы на зачет
17 июня, 2021

Xamarin для рекрутеров

Xamarin — это фреймворк платформы .Net, принадлежащий компании Microsoft. Он используется для разработки мобильных приложений на языках программирования C# и Xaml. Популярность получил благодаря своим кроссплатформенным возможностям, т.е. разработчик может…
hrpr school blogITHR & IT-Рекрутингвопросы на зачет
17 июня, 2021

Stack Overflow. Давайте поищем разработчиков там

В нашем блоге были статьи о том, как искать всех разработчиков на GitHub, как искать специалистов по машинному обучению на Kaggle, как искать дизайнеров на Dribbble и Behance, а сейчас…