Получи случайную криптовалюту за регистрацию!

[4. Почему 'старые' языки программирования до сих пор живы?] К | Gena ANTG

[4. Почему "старые" языки программирования до сих пор живы?]
Как не трудно догадаться из предыдущего ответа, языки "старой школы" существуют по причине поддержки давно написанного софта. Основная мысль заключается в том, что поддерживать существующую кодовую базу намного проще, чем начать писать продукт "с нуля", особенно, если это сложный многолетний проект. Например, разработка операционных систем (ОС) и систем управления базами данных (СУБД) требует наличия специалистов со знанием таких языков как C (Си) и Assembler (Assembly, Ассемблер). Почему? Все дело в оптимизации и скорости выполнения программ, а именно: "низкоуровневые" возможности, отсутствие overhead'a и огромный потенциал компилятора для оптимизации вашего кода.

Отдельным пунктом стоят "фишки" и подходы вышеназванных языков, которые, как было сказано ранее, не ограничивают программиста. В Assembler мы можем работать с регистрами процессора и писать софт "заточенный" под конкретную архитектуру, что увеличивает скорость работы программ и уменьшает их "вес" (из-за отсутствия кроссплатформенных библиотек). В языке С (Си) программисты могут использовать указатели, вставки порций кода (того же Assembler), компилировать софт для разных платформ (кроссплатформенность) и использовать мощный компилятор (GCC) для сверхвысокой оптимизации кода. Важно знать, что компилятор не только "собирает" программу — он удаляет ненужный код, а оставшуюся его часть оптимизирует, заменяя ваши выражения и инструкции!

Интересный факт: Компилятор C (GCC) способен оптимизировать вашу программу так, что она будет работать быстрее, чем программа написанная на Assembler! И это при том, что программа на языке Assembler непереносима: заточена под конкретную архитектуру процессора, использует системные вызовы host-системы (в другой ОС они просто не будут работать)! Именно по этим причинам (и не только) эксперты Assembler советуют использовать язык C в своих проектах.