На заметку Почему язык Си живет и будет жить еще долго


X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 082
Репутация
8 199
Язык Си, был создан Денисом Ритчи в начале 70-х годов в Bell Laboratory американской корпорации AT&T, является одним из универсальных языков программирования.

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

Почему-же язык, который был создан аж в начале 70-х годов до сех-пор еще жив ?

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

А если побить память каким-нить memcpy, то программа может работать и упасть в какой-то момент, либо-же работать неправильно и иметь кучу уязвимостей.)))

В 1988 году была написана книга Б.В. Керниган, Д.М. Ричи. "ЯЗЫК С".

Которая в последствии издана на многих языках и переиздается и выпускается до сех-пор, считается лучшей книгой по Си.

Скачать кстати можно тут во вложении на русском языке.


Итак почему-же Си до сех-пор очень актуален, правда в основном для низкоуровневого и системного программирования:

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

2)Кто-бы что не говорил, язык Си достаточно простой и лаконичный, для сравнение попробуйте написать простой список на том-же Rust и Си. Поймете разницу, когда я писал такую задачу на Rust мне ушло несколько дней, да понятно я Rust незнаю, но все-же, например на си сделает любой студент...)

3)Если вы увлекаетесь изучением/работой внутренних устройств различных систем (Создание драйверов Windows, Linux, написание своей ОС, ковыряние загрузчиков Grub, Uboot и т.д.), тут без Си вообще не обойтись, вот почему:

Если говорить под винду, а точнее её внутреннюю ядерную часть, то там поддержка С++ появилась совсем недавно, и-то такая посредственная, т.е. там нет среды исполнения, а значит нет конструкторов, нет исключений, нет STL, проще сказать что там вообще есть...)

Если говорить про Линукс, там до сех-пор все драйвера пишут на Си.

Про всякие загрузчики, прошивки и т.д., я уже про это сказал.

4)Для языка Си разработаны стандарты безопасного программирования, например тот-же Misra-C, есть стандарты ANSI-C.

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

Тем не менее, не нужно останавливаться только на изучении/работы этого языка, неплохо-бы знать хотя-бы в общих чертах С++, также необходимо знать скриптовые языки типо Bash, Python и т.д.

По причине, что для некоторых задач, особенно касаемой прикладной части, язык Си не подходит от слова вообще, это нужно понимать и всё-же использовать языки именно там где они нужны.)))
 

Вложения

  • Brian_Kernighan_Dennis_Ritchie-The_C_Programming_Language-RU.pdf
    2.3 МБ · Просмотры: 44
Автор темы Похожие темы Форум Ответы Дата
X-Shar С++ 2
Верх Низ