Интернет, компьютеры, софт и прочий Hi-Tech | |||
Избранные докиМетки (все метки)hi tech, internet, it, интернет, информационные технологии, ит, по, программное обеспечение, сайт, софт
Подписаться через RSS2Email.ru
Дополнительнооптимизация, сайт, мониторы, движок, Битрикс, хостинг, сайты, мобильные, электроника, видеокарта |
Язык программирования C++
В начале 70-х годов двадцатого века в Bell Labs был разработан язык программирования «Си». Однако прогресс диктует новые нужды, поэтому в начале 80-х сотрудник той же фирмы по имени Бьёрн Страуструп решил этот язык малость усовершенствовать. Так возник C++. Поначалу новый язык обозначался как «Си с классами». В него были добавлены такие полезности, как производные классы, классы с инкапсуляцией, проверка типов, аргументы по умолчанию, inline-функции. Создатель также написал транслятор cfront, перерабатывающий исходный код в обычный «Си». В 1983-м язык стал называться C++. (Два плюса — это обозначение инкремента переменной.) Вскоре после этого в язык добавили виртуальные функции, константы, контроль над свободной памятью и прочие плюшки. Ну а первая книжка с подробным описанием C++ появилась в 1985-м, хотя официальная стандартизация произошла только в 1998-м. Главной особенностью, в сравнении со старичком «Си», было развитие объектного программирования. Правда, таковое реализовывалось ещё в языке Симула, но он не отличался особым удобством и эффективностью. Страуструп сумел сделать всё гораздо удачнее. Причём, настолько удачнее, что C++ завоевал широкую популярность практически сразу. На C++ стали писать прикладные программы, драйверы для устройств, игры, операционные системы, серверный софт... Да и вообще всё, что душа пожелает. Бьёрн Страуструп самолично огласил идеологические основы C++, его философию. Язык был задуман как универсальный. Чтобы можно было использовать статические типы данных, поддерживать разные стили программирования (в том числе процедурное и объектно-ориентированное), но при этом оставить эффективность и простоту «Си». Кроме того, идентичные конструкции в C и C++ должны обозначать одно и то же и работать одинаково. По возможности следует избегать всего, что не является универсальным и заточено лишь под одну платформу. Ну а самая главная заповедь — использование средств языка не должно вести к неоправданному снижению производительности программ. К сожалению, такой принцип уже давно не соблюдается, но это уже, как говорится, отдельная тема. Первое, что бросается в глаза, это комментарии. В C++ они либо отделяются от остального кода косыми чертами со звёздочками, как прежде, либо обозначаются двойными косыми чертами в начале строки. Появились операторы К преимуществам можно отнести оптимальный вызов деструкторов, что теоретически должно обеспечивать освобождение ненужных более ресурсов. Есть возможность низкоуровневой работы. Ну и, конечно, наличие компиляторов для разных платформ. Несомненно, язык C++ является продвинутым, вполне современным и широко используемым. Однако главный его недостаток — уже всем изрядно надоевшие, но от этого не менее актуальные проблемы с безопасностью. Классический пример: разница в обозначении операций присваивания
Человек, проверяющий код программы, может не заметить подобной ошибки, а в итоге из-за отсутствия одного «равно» программа превращается во вредоносную. В некоторых случаях таким образом удаётся даже получить привилегии администратора в Linux. Такие вот дела. Многие программисты предпочитают другие языки, благо выбор нынче широк. Однако изучить C++ всё равно нужно, даже если не собираетесь использовать. Такие знания вам никоим образом не помешают. Автор: vanilinkin, специально для xBB.uz, 01.04.2011 Предыдущие публикации: Последнее редактирование: 2011-04-01 06:45:11 Метки материала: c, c++, язык программирования, язык программирования c, язык программирования c++ Оставьте, пожалуйста, свой комментарий к публикации |
||
© 2007-2012, Дмитрий Скоробогатов.
Разрешается воспроизводить, распространять и/или изменять материалы сайта
в соответствии с условиями GNU Free Documentation License,
версии 1.2 или любой более поздней версии, опубликованной FSF,
если только иное не указано в самих материалах.