Агентство по подбору IT персонала
Работа и вакансии в ИТ компаниях в Петербурге

Подбор программистов С, подбор программистов С++

У языка С есть свой особы статус. История этого языка неотделима от истории операционной системы Unix, переживающей в наши дни свое второе рождение. Эта система появилась в 60-е годы прошлого века, в эпоху становления языков программирования высокого уровня и операционных систем. В те времена производители каждого типа компьютеров независимо друг от друга разрабатывали операционные системы и компиляторы или даже языки программирования. Тогда же и стали очевидными возникающие при этом проблемы. В итоге появилась идея по созданию универсальной операционной системы, а для неё понадобился такой же универсальный язык программирования. Этим языком стал C, а первой операционной системой, практически полностью написанной на языке высокого уровня стала Unix. Плотная связь с Unix дала языку С такой простор для проверок на практике, какой в те времена не мог получить ни один другой язык. В то время самыми сложными считались задачи по системному программированию. Эти задачи являлись на столько машинно-зависимыми, что большинство программистов не представляли себе их решение кроме как на ассемблере. Языки высокого уровня программирования использовались в основном для решения прикладных задач и имели очень мало функций для системных работ, причем достаточно часто только для конкретного типа ЭВМ.

С самого начала язык С разрабатывался таким образом, чтобы была возможность писать на нем системные задачи. При разработке языка С были реализованы именно те возможности, которые нужны были практикам системного программирования. К ним относятся средства непосредственной работы с памятью, модульная организация, структурные конструкции управления. В принципе, можно сказать, что больше ничего в языке и не было. Все остальные компоненты были вынесены в библиотеку времени исполнения. Именно поэтому противники C иной раз называют этот язык структурным ассемблером. Но в любом случае, данный подход оказался весьма удачным – был взят ранее недостижимый уровень соотношения простоты и возможностей языка. Есть еще одна особенность, повлиявшая на успех языка. Создатель очень продуманно сделали разделение машинно-зависимых и независимых свойств. Благодаря этому большую часть программ удается писать универсально – они не зависят от архитектуры процессора и памяти, а немногочисленные аппаратно-зависимые части кода можно собрать в отдельных модулях. А при использовании препроцессора есть возможность создавать модули которые при компиляции на разных платформах будут генерировать соответствующий машинно-зависимый код. Язык C разрабатывался как универсальный язык системного программирования, но он не застрял в этих рамках. В конце 80-х годов прошлого века он оттеснил Fortran с позиции лидера завоевав массовую популярность среди программистов во всем мире и стал использоваться в самых разных прикладных задачах.

После того, как язык C был разработан и введен в использование, он постепенно совершенствовался, но большинство улучшений не носило глобального характера. Наиболее важным из нововведений является внедрение строгой спецификации типов функций, которая заметно повысила надежность взаимодействия между модулями программ на C. Набор таких улучшений был закреплен в 1989 года стандартом ANSI – он и в настоящее время определяет язык C. Главной проблемой языка С является то, что он оказался слишком низкоуровневым для тех задач, которые стали появляться в 90-е годы. Причем у этой проблемы есть две стороны. Первая – наличие слишком низкоуровневых средств – работа с памятью и адресная арифметика. Вторая – нехватка в языке высокоуровневых средств - абстрактных типов данных и объектов, полиморфизма, обработки исключений. Язык C++ появился в 1983 году – это был препроцессор, который транслировал программу в код на C. Но официальным рождением языка принято считать издание в 1985 году книги Страуструпа «The C++ Programming Language».