Почему Си - хорошо, а Си++ - плохо

Дата: 6 февраля 2012 года

Язык программирования Си создавался с конкретной целью: это язык для написания портируемых программ, при этом максимально эффективный в плане быстродействия, сопоставимый с ассемблером (который на всех аппаратных платформах разный). Удобство программирования в Си - это вещь третьестепенная, он действительно не очень удобен. Выполняются только те действия, которые программист прописал явно - именно поэтому строки и массивы реализованы так дубово и неказисто.

Если поставить перед собой такую задачу и писать в соответствии со стандартом ANSI C, то на Си можно написать портируемую программу или библиотеку функций. Эту программу возможно откомпилировать практически на любом типе процессора - компилятор Си есть везде. И она будет работать. Примеров неисчислимое количество (zlib, libpng и так далее).

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

Эту нишу он занял навсегда и пребудет в ней навсегда. Нет смысла придумывать что-то ещё.

Изначально создатели языка Си и системы Unix предполагали, что возникнут другие языки, более удобные для программистов (каждый язык со своей специализацией). Для каждого такого языка, на Си будет написан транслятор (не компилятор), который транслирует исходник с этого языка опять же на Си, а не в исполняемый код. И уже этот промежуточный Си-текст транслируется Си-компилятором в бинарный исполняемый файл. Такова была изначальная философия системы Unix: все программы портируемы и все языки надстраиваются над базовым языком Си.

И вот, пользуясь тем, что язык Си многие знают, некто Бьёрн Страуструп решил его "проапгрейдить": он прилепил дополнительные фичи (большей частью совершенно идиотские - вроде перегрузки стандартных операторов) и добавил "объектно-ориентированность". Ну, что касается "объектно-ориентированности" - это отдельный разговор, а в целом получили следующее: в язык введены неявные скрытые механизмы, которые не работают одинаково на разных платформах, портируемые программы писать невозможно, и в то же время язык неудобен для высокоуровневого программирования, как и Си. Компиляторы Си++ намного сложнее, чем компилятор Си, и есть не везде. В основном Си++ используют, потому что под него написаны библиотеки классов (как правило привязанные к определённой платформе и операционной системе).

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

Тем не менее, Си++ используют и пишут на нём программы. Ну просто человек ко всему привыкает.

Оставлять комментарии могут только зарегистрированные пользователи.

Если вы не являетесь зарегистрированным пользователем, то вам необходимо зарегистрироваться. Регистрация бесплатна. Если вы уже зарегистрированы на CodeNet, то вам необходимо ввести логин и пароль в верхней (Alt-U) части страницы.

Источник: http://feedproxy.google.com/~r/codenet/read/~3/dDrns1cpD6s/

Читать комменты и комментировать

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



Защитный код
Обновить

Комментарии   

 
0 # Юрий 02.10.2014 14:54
Какого года эта статья? Она явно не соответствует нынешним реалиям. C++ имеет свою нишу, на нем пишут приложения для десктопа и серверные проекты со сложной структурой, игры и утилиты. Последние стандарты C++11 и C++14 значительно расширили язык, теперь он также поддерживает частично-функци ональный стиль, присущий таким языкам, как Python, и даже декларативное программировани е на шаблонах.
Ответить | Ответить с цитатой | Цитировать
 
Почему Си - хорошо, а Си++ - плохо | | 2012-09-13 08:45:36 | | Программирование | | Дата: 6 февраля 2012 годаЯзык программирования Си создавался с конкретной целью: это язык для написания портируемых программ, при этом максимально эффективный в плане быстродействия, сопоставимый с | РэдЛайн, создание сайта, заказать сайт, разработка сайтов, реклама в Интернете, продвижение, маркетинговые исследования, дизайн студия, веб дизайн, раскрутка сайта, создать сайт компании, сделать сайт, создание сайтов, изготовление сайта, обслуживание сайтов, изготовление сайтов, заказать интернет сайт, создать сайт, изготовить сайт, разработка сайта, web студия, создание веб сайта, поддержка сайта, сайт на заказ, сопровождение сайта, дизайн сайта, сайт под ключ, заказ сайта, реклама сайта, хостинг, регистрация доменов, хабаровск, краснодар, москва, комсомольск |
 
Поделиться с друзьями: