Какие программы пишутся на языке Си?

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

1. Операционные системы

Язык Си был разработан специально для написания операционной системы Unix. Первые версии Unix были написаны на ассемблере. Язык Си был разработан именно как высокоуровневый язык для разработки больших программных систем. В 1972 году Деннис Ритчи создал язык Си и Unix была переписана на этом языке.

В 1985 году появилась операционная система Windows. Она также была написана на Си.

Компьютеры Apple работают на операционной системе macOS. Ядро этой операционной было написано на Си.

В 1991 на Си была написано ОС Linux. Около 97 процентов из 500 самых мощных суперкомпьютеров мира используют ядро ​​Linux.

Операционные системы для мобильных устройств: iOS , Android и Windows Phone – имеют в своей основе ядра систем macOS, Linux и Windows.

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

2. Программы с открытым исходным кодом

Язык Си – это язык общения программистов. Для коллективной работы создаются проекты с открытым исходным кодом (Open Source), в которых принимают участие множество программистов.

По данным крупнейшего каталога программ с открытым исходным кодом “Черная утка” более 45% этих программ написано на языке Си.

Индекс Черной утки

3. Драйверы устройств

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

4. Языки программирования

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

На языке Си написаны:

  • C++
  • C#
  • Objective-C
  • Swift
  • Perl,
  • Python,
  • Ruby
  • PHP

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

5. Базы данных

Самые популярные в мире базы данных, в том числе Oracle Database, MySQL, SQLite, MS SQL Server и PostgreSQL , написаны на языке Си. Это связано с тем, что базы данных должны иметь максимальную производительность и надежность.

На вопрос “Почему SQLite написано на Си?” разработчики отвечают:

C Is Best

sqlite.org/whyc.html

6. Графические библиотеки

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

На Си написаны такие библиотеки как Cairo, OpenGL, SDL.

7. Встроенные системы

Сейчас нас окружают встроенные устройства. Вы купили кофе в торговом автомате. Это автомат запрограммирован на Си.

Оплачиваете на кассе покупки в супермаркете. Кассовый аппарат также запрограммирован на Cи.

Оплачиваете парковку. Парковочный автомат также запрограммирован на Си.

В вашем автомобиле много функций, также запрограммированных на Си. В числе них:

  • автоматическая коробка передач
  • системы определения давления в шинах
  • датчики (кислород, температура, уровень масла и т. д.)
  • память для сидений и настройки зеркал.
  • дисплей приборной панели
  • антиблокировочная система тормозов
  • автоматический контроль устойчивости
  • круиз-контроль
  • контроль климата
  • детские замки

8. Космос и авиация

Для авиакосмических приложений необходима максимальная надежность. Поэтому традиционно выбирается язык Си. На языке Си была написано программное обеспечение проекта высадки на Луну.

Программное обеспечение на марсохода Curiosity также написано на Си.

 

 

 

Комментарии 4

  • Уважаемый Константин, я бы хотел понять, как осуществляется взаимосвязь языка Си с “железом”. По-моему набор стандартных функций весьма ограничен. Имеются ли дополнительные библиотеки к Си? Если имеются, то где их можно найти, и как можно с ними ознакомиться?
    Заранее благодарю за разъяснения.

    • Для программирования микроконтроллеров на языке Си обычно используется некоторая библиотека, которая идет вместе с устройством. Например, это могут быть файлы driver.h и driver.с. Эта библиотека дает возможность управлять устройством на уровне простейших команд. Полученный код загружается в память устройства с помощью программатора. Искать библиотеки нужно на сайте соответствующего устройства.

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

        Некоторые решают эту проблему записав результат досовской команды “dir” в текстовый файл, а затем обрабатывают данный текст, – но ведь такое решение, по-меньшей мере, несерьёзно, и имеет множество недостатков…

        Или как, например, определить, сколько дисков подключено к компьютеру…

        И таких вопросов множество.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.