История языка С

What«s up guys?

Для того, чтобы изучать какой-либо ЯП, нужно знать, зачем он используется, а для этого необходимо знать его историю.

Предисловие: статья написана для людей которые только начинают знакомится с миром Си с С++, поэтому опытных сишников попрошу не злится на известность сказанного материала. Спасибо!

История С

Сегодня мы поговорим про историю одного из самых популярных и мощных языков высокого уровня — С.

Не будем медлить и перейдём сразу к делу.

15118e937bbcc657e054244f7729349d.jpg

Язык программирования С был разработан в 1972 году Деннисом Ритчи. сотрудником компании Bell Labs, с целью создания более эффективного и быстрого языка для разработки ОС. Фактически он был создан для реализации UNIX и для обеспечения её переносимости между платформами с различиями в архитектурах. Ранее для этого использовался язык ассемблера, который был не очень удобен для восприятия.

С был разработан на основе языка В, который хоть и был языком высокого уровня, но имел множество ограничений, делавших его не удобным. Известность С получил как язык операционной системы UNIX. Сегодня же практически все ОС написаны на С. Вскоре после этого С «захватил» почти все компьютеры. На нем или его потомках (в основном С++), так или иначе написано большинство программ, которыми мы с вами пользуемся постоянно.

Применение языка для самых различных платформ привело к тому, что появилось множество его версий, которые несмотря на схожесть были не совместимы между собой. Это привело к тому, что Американский комитет национальных стандартов собрал техническую группу с целью выработать «однозначные и машинно-независимое определение языка С». Этот стандарт был одобрен в 1989, а эту версию языка назвали ANSI С.

Немого времени спустя, С был принят и комитетом по международной стандартизации (ISO) как ISO С. Также в это же время в С появились новые функции.

Стандартная библиотека языка С получилась не большой, поэтому компилятора для него разрабатывать достаточно легко, а как следствие — язык доступен на очень большом количестве самых разнообразных платформ. А поскольку С ориентирован на переносимость, можно компилировать под самые разные платформы и архитектуры. Это сделало С мега популярным языком программирования.

4fed1d4995cc74bd1a12761d2ab4be86.png

В течении своей жизни, которая будем надеяться будет продолжаться ещё долго, С произвёл влияние на множество других языков. Например на его основе были создан всеми известный С++, который до этого назывался «С с классами». Но история языка С++ — это отдельная история и об этом мы поговорим как-нибудь в другой раз. Или Objective-C, который несмотря на то, что на С основан, но в некоторых моментах от него сильно отличается. Однако любая правильная программа на чистом С является так же и программой и на Objective-С тоже.

В настоящее время С хоть и стоит на втором месте в рейтинге самых популярных языков программирования, но не является самым популярным для изучения, всё больше уступая свои позиции более простым языкам, таким как Python. И действительно, С — весьма сложен и не безопасен. Для того, что бы разработать на С действительно хорошую программу надо переложить не мало усилий и обладать большим запасом знаний. Это связанно с тем, что С был разработан в эпоху прямого программирования под конкретные процессоры.

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

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

От автора:

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

Ещё раз спасибо, что дочитали до сюда!

Удачи!

© Habrahabr.ru