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 часов занятий и подготовка вашего резюме для скорейшего входа в профессию.

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

One on one hrpr schoolITHR & IT-Рекрутингвопросы на зачет
14 июня, 2021

One on one – плюсы и минусы технологии

В IT отрасли по-прежнему спрос на кадры превышает предложение, по обороту кадров это лидирующая отрасль. В год такой оборот может составлять 15% и даже выше. И хотя некоторые компании заявляют,…
hrpr school blogITHR & IT-Рекрутингвопросы на зачет
11 июня, 2021

Фреймворки Python

Python находится в шаге, чтобы стать самым популярным языком в мире. Это объясняется его легкостью и универсальностью. На нем пишут игры, веб-приложения, различные ПО для задач бизнеса и науки, в…
hrpr school blogITHR & IT-Рекрутингвопросы на зачет
9 июня, 2021

Фреймворки PHP

Фреймворк PHP — это готовая структура для веб-приложения, которую программист дорабатывает исходя из задач проекта. Фреймворки облегчают работу специалиста и делают разработку сайтов надежнее и дешевле. PHP — это самый…
hrpr school blogITHR & IT-Рекрутингвопросы на зачет
8 июня, 2021

.NET рекрутеру: продукты, решения, перспективы

.NET разработчики — довольно востребованные специалисты. Вилка зарплат мидлов по СНГ варьируется от 1300 и до 3000 долларов США, верхняя планка зарплат для уровня Senior достигает 6000-8000 тысяч. Связано это…