Главная страница
Навигация по странице:

  • КОНТРОЛЬНАЯ РАБОТА

  • Контрольная работа по дисциплине Программирование и основы алгоритмизации на тему Язык c C


    Скачать 47.18 Kb.
    НазваниеКонтрольная работа по дисциплине Программирование и основы алгоритмизации на тему Язык c C
    Дата03.05.2022
    Размер47.18 Kb.
    Формат файлаdocx
    Имя файлаC_i_S__M.docx
    ТипКонтрольная работа
    #509308

    Федеральное государственное бюджетное образовательное учреждение

    высшего образования

    «Казанский национальный исследовательский технологический университет»

    (ФГБОУ ВО «КНИТУ»

    КОНТРОЛЬНАЯ РАБОТА

    по дисциплине: Программирование и основы алгоритмизации

    на тему: Язык C/C++, его особенности и область применения

    студента (ки): II курса курса заочного отделения

    Факультета Управления и автоматизации

    Группа № 8193-31

    Варламова Маргарита Анатольевна

    (Ф.И.О.)

    Студенческий билет № 819127

    Содержание







    с.




    Введение

    3

    1.

    История языка Си

    4

    2.

    Общие сведения о языке C (Си)

    6

    2.1

    Назначение основных элементов программы на языке C (Си)




    3.

    История Языка Си++

    11

    3.1

    История стандартизации




    3.2

    Современное состояние языка




    3.3

    Перспективы




    4.

    Когда и зачем используются C и C++ ?

    19




    Заключение

    22




    Список использованной литературы

    23

    Введение
    Си — универсальный язык программирования. Он тесно связан с системой UNIX, так как был разработан в этой системе, которая как и большинство программ, работающих в ней, написаны на Си. Однако язык не привязан жестко к какой-то одной операционной системе или машине. Хотя он и назван "языком системного программирования", поскольку удобен для написания компиляторов и операционных систем, оказалось, что на нем столь же хорошо писать большие программы другого профиля. Многие важные идеи Си взяты из языка BCPL, автором которого является Мартин Ричарде. Влияние BCPL на Си было косвенным — через язык В, разработанный Кеном Томпсоном в 1970 г. для первой системы UNIX, реализованной на PDP-7. BCPL и В — "бестиповые" языки. В отличие от них Си обеспечивает разнообразие типов данных. Базовыми типами являются символы, а также целые и числа с плавающей точкой различных размеров. Кроме того, имеется возможность получать целую иерархию производных типов данных из указателей, массивов, структур и объединений. Выражения формируются из операторов и операндов. Любое выражение, включая присваивание и вызов функции, может быть инструкцией. Указатели обеспечивают машинно-независимую адресную арифметику.

    1. История языка Си


    Язык программирования C (Си) появился "стихийно" – ни одна компания не заказывала создания подобного языка. Его первая версия появилась на свет в 1972 г. в фирме Bell Laboratories, написал ее теперь уже всемирно известный программист Деннис Ритчи (Dennis MacAlistair Ritchie).

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

    Название C (Си) появилось так же стихийно, как и сам язык. Фактически, он стал преемником ранее созданного языка В (Би), разработанного автором операционной системы UNIX Кеном Томпсоном. В свою очередь, язык Би во многом был похож на языке BCPL, разработанный в Кембриджском университете. А язык BCPL основывался на идеях "старого как мир" Алгола-60.

    Первым неформальным стандартом языка Си стало издание в 1978 г. книги Брайана Кернигана и Денниса Ритчи с названием "The 'C' Programming Language". Первоначально книга была издана в США, но потом была переведена и многократно переиздавалась во многих других странах мира. В 1989 г. язык Си был стандартизован ANSI (American National Standards Institute – американский национальный институт стандартов) и ISO (International Standard Organization - международная организация по стандартизации).

    Но время шло и у пользователей языка Си появилась потребность в реализации новых функций, не поддерживавшихся языком. Учитывая все это, Бьерн Страуструп в начале 80-х (работавший все в той же самой Bell Laboratories) принял решение о расширении возможностей языка Си, который первоначально назвали как "Си с классами". Но в дальнейшем за его модификацией языка закрепилось другое название - Си++. Это название сохранилось за ним вплоть до настоящего времени.

    1. Общие сведения о языке C (Си)


    В настоящие дни C (Си) является многофункциональным языком программирования высокого уровня, подобным таким языкам как Pascal или Python, но в отличие от них он имеет возможность работы с командами низкого уровня, подобно языку ассемблера. Программу на языке С можно скомпилировать в машинный код практически для любого известного микропроцессора. Не исключением стали и микроконтроллеры – сейчас по популярности использования (особенно для начинающих) язык Си обогнал в них доминировавший до этого язык ассемблера. Программирование на языке С поддерживает и самая популярная в настоящее время программная платформа Atmel Studio (!!!!!!) для микроконтроллеров семейства AVR.

    Сейчас уже можно с уверенностью сказать, что язык С стал своеобразным фундаментом, на котором строится все современное программирование – чего стоят хотя бы "Visual C" и "C Sharp". Основанные на нем языки программирования сейчас занимают доминирующее положение в мире программирования. А все началось с удачной структуры языка, разработанной в 1972 г. Деннисом Ритчи.

    Файлы программ на языке Си имеют расширение .C, а простейшая структура программы выглядит следующим образом.

    #include  /* заголовок */

    int main(void) /* главная функция: начало программы */

    { /* открывающая скобка в начале программы */

    Оператор программы;
    оператор программы;
    ...
    оператор программы;

    } /* закрывающая скобка в конце программы */

    Комментарии являются необязательным элементом программы, но они крайне желательны для лучшего понимания ее сути.
    2.1 Назначение основных элементов программы на языке C (Си)
    Заголовки

    В представленной на рисунке структуры программы на языке С строка #include является заголовком. Заголовки содержат специализированную информацию для компилятора об общих условиях выполнения программы и требуемых ей ресурсах. В рассмотренном случае мы указываем компилятору на то, чтобы при выполнении программы он учел информацию, содержащуюся в файле io.h – забегая вперед скажем что этот файл содержит инструкции для портов ввода/вывода микроконтроллера.

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

    Какие заголовки (управление портами ввода/вывода, функции задержки и т.д.) следует подключить определяется потребностями конкретной программы. Если вы забыли подключить необходимый заголовок, то программа не скомпилируется – компилятор выдаст сообщение об ошибке. К слову сказать, эти ошибки легко устраняются – ведь компилятор сам подсказывает какие заголовки следует подключить.
    Функции.

    По сути программа на языке С представляет собой набор функций, каждая из которых может вызывать для выполнения любые другие функции. Функций в программе может быть много, но обязательной является только одна из них, называемая "main" ("главная"). Выполнение программы на языке С начинается всегда с нее. Программист не может изменить название главной функции "main", но названия для всех других функций программы он может выбирать произвольно.

    Функции в языке С легко узнать по их отличительному признаку – круглым скобкам после их имени. В общем случае в скобках содержится набор параметров, которые могут передаваться в функцию для ее работы, а также набор переменных, через которые функция может передавать результаты ее работы во внешнюю функцию (которая ее вызвала). Если скобки пустые, как например, в представленном примере с функцией main(), то это значит что у функции нет ни входных, ни выходных параметров.

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

    Фигурные скобки также используются для того, чтобы объединить несколько операторов программы в составной оператор или блок.
    Операторы

    Как правило, тело функции в языке Си представляет собой набор операторов, в конце каждого из которых стоит точка с запятой ;. Можно размещать каждый оператор на своей строке или несколько операторов на одной строке – компилятору это неважно, главное чтобы они разделялись точкой с запятой (этот символ свидетельствует о конце оператора). Но для восприятия человеком, конечно, удобнее чтобы каждый оператор располагался на отдельной строке. Допускается использование и пустых строк чтобы визуально отделить структурные элементы программы.

    Операторы выполняются последовательно в том порядке, в котором они записаны. Но структура программы не обязательно должна быть линейной – при наличии циклов и условий возможны пропуски выполнения отдельных операторов (условия) или многократное выполнение одних и тех же операторов (циклы).
    Комментарии

    Комментарии - это примечания, помогающие понять смысл программы. В языке Си текст комментариев записывается между значками /* */. То, что написано между этими значками, компилятору совершенно неважно – он все это игнорирует. Это важно только для человека, который анализирует текст программы.

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

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

    Внутри комментариев нельзя использовать символы, определяющие начало и конец комментариев. К примеру, неправильная запись внутри комментария:

    /* комментарии к программе /* управления электродвигателем */ */

    или

    /* комментарии к программе управления */ электродвигателем */

    Язык Си для микроконтроллеров AVR поддерживает и другой метод записи комментариев - строка, начинающаяся с символов //. К примеру

    // Это комментарий в одну строку
    В качестве итога можно отметить, что для написания хорошо читаемой программы целесообразно придерживаться следующих правил:

    размещайте один оператор на строке;

    применяйте пустые строки для "отделения" одной логической части программы от другой;

    используйте комментарии.

    1. История Языка Си++


    Первые версии языка программирования Си++ (тогда он назывался "Си с классами") были разработаны в начале 80-х годов Бьярном Страуструпом, сотрудником знаменитой AT&T Bell Labs, где ранее были разработаны такие шедевры программирования, как операционная система UNIX и язык программирования Си.

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

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

    Как это принято в AT&T, описание нового языка не было опубликовано сразу. Первыми его пользователями стали сами сотрудники Bell Labs. В 1993 впервые была реализована коммерческий транслятор, и сам язык был назван "С++", что можно (имея в виду операцию инкрементирования языка Си) трактовать как увеличенный или расширенный язык Си.

    Первым транслятором языка был препроцессор cfront, транслирующий программу на Си++ в эквивалентную программу на Си. И только в конце 80-х годов были реализованы прямые трансляторы, не использующие Си в качестве промежуточного языка. Пионером среди таких трансляторов стал GNU CC.

    Если не считать документацию к транслятору cfront, первой книгой с описанием языка стала "The C++ Programming Language" (Addison-Wesley, 1985), переведенная на русский язык и изданная в 1991 году (Страуструп Б. Язык программирования С++. М.: Радио и Связь, 1991).

    С этого момента началось его бурное распространение и создание многочисленных реализаций.

    Модель реализации ООП была частично позаимствована из языка программирования Simula67 и ориентировалась в основном на возможность эффективной реализации на вычислительных машинах со стандартной архитектурой. Некоторые возможности языка Simula были отклонены, так как, по мнению автора Си++, подталкивали разработчика к плохому стилю программирования. Так, в первых версиях Си++ полностью отсутствовала возможность динамической идентификации типа объекта (run-time type identification, rtti). Основные концепции поддержки ООП в Си++ были изложены Страуструпом в статье "What is Object Oriented Programming".

    C 1985 года в язык были введены новые возможности: множественное и виртуальное наследование, шаблоны функций и классов, обработка исключительных ситуаций. Кардинально изменена семантика совместного использования оператора new, изменен синтаксис для вложенных классов.

    С момента опубликования и до настоящего момента язык постоянно усовершенствовался и расширялся. Важным этапом в его развитии стала публикация в 1990 году подробного и достаточно строгого описания языка [3]. Сокращенно эту книгу часто называют ARM. Фактически одновременно с этим началась стандартизация языка.

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

    3.1 История стандартизации
    Объединенный ANSI-ISO (ANSI X3J16; ISO WG21/N0836) комитет начал функционировать в конце 1989 года. Целью его работы является создание единого стандарта для языка Си++ и его библиотечных средств. За основу проекта стандарта было взято описание языка, данное в ARM, и книга [4].

    В работе объединенного комитета, функционирующего и по сей день, значительное место занимает изучение (с последующим принятием или отказом от) возможных изменений текста проекта стандарта, а также уточнение различных правил языка. Позволим себе напомнить, что непосредственный предшественник Си++ - язык Си прошел успешно процесс стандартизации. Работа по его стандартизации завершилась в 1989 году, и стандартизованный вариант сейчас известен под именем ANSI Си.

    Работа по стандартизации Си++ осложнялась тем, что язык долгое время был открыт для расширений. Сами формулировки правил ARM были недостаточно строги и часто требовали уточнения. Си++ стал довольно громоздким языком (сопоставимым разве что с языком Ada), и ни один человек сейчас не в состоянии точно помнить все его детали и тонкости.

    С момента начала стандартизации несколько изменилась и сама идеология Си++. Изначально автор отвергал возможность использования в языке средств динамического определения типов (rtti), однако в текущем проекте стандарта такие средства имеются. Аналогично, в Си++, описанном в ARM, есть довольно жесткие ограничения на возможность определения виртуальных функций, которые сейчас ослаблены. Характерно, что некоторые изменения, требующие пересмотра самой идеологии языка, вносились самим Страуструпом [11]

    Изначально планировалось, что окончательная редакция проекта стандарта будет опубликована в 1994 году. Эти сроки были безнадежно провалены. Можно сказать, что последние 3 года процесс стандартизации постоянно находится в состоянии "2 года до завершения". Так, согласно текущему расписанию международный стандарт Си++ должен быть опубликован в конце 1998 года, во что авторы статьи не верят. Даже теперешние, на редкость подробные и громоздкие формулировки семантических правил и ограничений языка явно не дотягивают до математической строгости и оставляют простор для различных трактований.

    В ранних версиях проекта стандарта не было раздела, описывающего стандартные библиотеки. Не было описаний библиотеки и в ARM. В то же время реализация библиотеки потокового ввода/вывода, предложенная Andrew Koenig, была повторена в нескольких реализациях и стала стандартом "де-факто". В 1993-1994 годах в проекте стандарта было введено около семи новых разделов для описания библиотеки.

    Принципиально важным событием в истории развития стандарта стандартной библиотеки стало включение библиотеки STL (Standard Template Library) разработанной нашим бывшим соотечественником, сотрудником Hewllet-Packard Александром Степановым. В своей статье об истории STL он упоминает, что изначально стремился использовать в Си++ только возможности шаблонов, аналогичные родовым (generic) пакетам и процедурам языка Ada, но после обсуждений со Страуструпом существующих возможностей Си++ изменил свое мнение. Комитет по стандартизации пошел навстречу этим двум гуру, вплоть до того, что в семантику шаблонов были внесены изменения. Этим был создан интересный прецедент в истории языков программирования: не библиотека написана для языка, а сам язык претерпел изменения под влиянием библиотеки, причем разработанной не автором языка.

    Согласно расписанию работы комитета по стандартизации, проект стандарта принятый в апреле 1995 года, был предложен для публичного обсуждения и сделан доступен пользователям Internet. Утверждается, что с этого момента никаких серьезных изменений в текст стандарта вноситься не будет. Предполагалось, что в сентябре 1996 года новая редакция проекта стандарта будет вынесена на публичное обсуждение, но не так давно этот этап был перенесен на конец года.
    3.2 Современное состояние языка
    Приведем беглое описание новых возможностей языка, введенных с момента публикации ARM и до публикации проекта стандарта в апреле 1995г.

    Ведены новые ключевые слова-синонимы для операций (and, and_eq, bitand, bitor, compl, not, or, or_eq, xor, xor-equ).

    В языке появился булевский тип данных bool и литералы этого типа true и false.

    Появился механизм пространств имен (namespace), облегчающий совместную реализацию проектов группами программистов и позволяющий избегать проблем при использовании нескольких библиотек (ключевые слова namespace и using).

    Новое ключевое слово explicit позволяет запретить нежелательное использование конструкторов как функций преобразования типов.

    Изменены синтаксис и семантика для изменения прав доступа к членам классов. Новый механизм позволяет использовать единый синтаксис для использования членов пространств имен и членов классов. При этом несколько изменились правила выбора наиболее подходящей из набора совместно используемых функций (на основе использования ключевого слова using).

    Добавлен механизм явного использования rtti (включающий операцию с ключевым словом typeid и класс type_info стандартной библиотеки).

    Добавлены новые и скорректированы старые способы явного преобразования типов (static_cast, dynamic_cast, const_cast и reinterpret_cast).

    Добавлена новая операция new[], парная к операции delete[]; для операций new и delete изменена семантика выражения размещения с целью более безопасной обработки исключительных ситуаций в конструкторах. Стандартная операция new теперь не может вернуть значение 0 в случае нехватки памяти или ошибки, а генерирует исключительную ситуацию. Старый вариант, возвращающий 0, доступен программисту только c явным указанием.

    Объявления переменных теперь возможны не только в заголовке for-цикла, но и в операторах if, while, do-while, switch.

    Более точно определено время жизни временных объектов в выражении. Теперь время их жизни ограниченно полным выражением, а не концом текущего блока, как сказано в ARM.

    Полностью переработано определение шаблонов в Си++. Теперь уже нельзя сказать, что шаблоны Си++ являются лишь слегка замаскированными синтаксическими подстановками. Для них обязателен синтаксический разбор и контроль семантики (в максимально возможной степени). Неоднозначности внутри тел шаблонов, вызываемые неизвестной природой типовых параметров, явно разрешаются посредством ключевого словом typename.

    Допускаются шаблонные функции-члены нешаблонных классов, вложенные шаблонные классы и шаблоны - параметры шаблонов.

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

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

    Ослаблено ограничение на тип, возвращаемый операцией ->. Теперь это может быть практически произвольный тип.

    Добавлено (на редкость бессмысленное) ключевое слово mutable, позволяющее допускать изменение членов объекта константного класса.

    Более подробно некоторые из этих изменений рассмотрены в статье [6].

    3.3 Перспективы
    Очень хочется, чтобы стандарт языка был наконец принят. Это может подстегнуть разработчиков систем программирования для Си++ на максимально полную поддержку новых возможностей языка, которые в настоящий момент не реализованы. Хочется, чтобы язык был наконец зафиксирован, и в него не добавлялись новые средства, противоречащие старой идеологии.

    И, наконец, несколько замечаний по поводу продолжительных дискуссий на темы вроде "Что лучше - Си или Си++" или "Является ли Си++ языком ООП".

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

    Бесполезно критиковать Си++ за недостаточно неполную или "неправильную" поддержку ООП. Си++ вполне укладывается в формулировку парадигмы ООП, данную Страуструпом. Си++ не является единственным языком ООП и имеет право на свои недостатки и своеобразие.

    Сейчас ООП явно поддерживается в нескольких языках программирования, во многих не так как Си++, и разработчик имеет возможность выбора (так, превосходно спроектированный объектно- ориентированный язык Ada95 уже стандартизован). Постоянные упреки в адрес Си++ за "неправильное" понимание ООП кажутся абсолютно несуразными. Даже такие столпы ООП, как Грэди Буч [9] и Роберт Мартин [10] признают, что Си++ является вполне подходящим и неплохим инструментом ООП.

    Благодаря своим корням Си++ был быстро воспринят разработчиками, уже имеющими опыт программирования на Си, но не избалованными дорогими и малоэффективными языками "чистого" объектно-ориентированного программирования.

    Противопоставлять Си и Си++ тоже не стоит. Один из них ортогонально расширяет другой по нескольким направлениям, которые могут быть использованы независимо.

    Си++ допускает использование в нескольких вариантах. Во-первых, он содержит язык программирования Си, точнее, его стандартизованный диалект ANSI C почти целиком. При этом Си++ обладает более мощными и строгими правилами проверки типов. Программист волен использовать лишь часть возможностей Си++, не сталкиваясь при этом с неприятностями, связанными с неполным знанием языка (то есть воспринимать Си++ как "улучшенный" Си). Можно использовать только механизм классов и наследования, не пользуясь возможностями обобщенного (generic) программирования, основанного на шаблонах. Наконец, многим разработчикам приглянулась возможность обработки исключительных ситуаций, не зависящая от других механизмов языка. Взятые вместе, эти возможности предлагают разработчику современный, достаточно гибкий и мощный язык программирования высокого уровня с поддержкой ООП.

    Думаем, Си не нуждается в защите. По крайней мере, последние 20 лет показали, что он является исключительно гибким и продуктивным языком, годным как для системного программирования, так и для создания приложений широкого спектра. Почему Си имеет такой успех ? Прежде всего потому, что вместо создания "чистого" языка Керниган и Ричи создали язык, который можно использовать. И в этом они преуспели.

    4 Когда и зачем используются C и C++ ?
    1. Операционные системы
    Язык C первоначально создавался для системного программирования, поэтому не удивительно, что его так активно применяют при создании операционных систем и программного обеспечения.

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

    Вот почему он идеален для разработки операционных систем.

    Любая операционная система в первую очередь должна быстро запускаться и эффективно управлять системными ресурсами. Например, Linux, Microsoft Windows, Mac OS полностью написаны на языке C, а Android и iOS — частично.

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

    В отличие от других языков программирования, язык C не имеет зависимостей времени исполнения. Это означает, что программа может выполняться силами аппаратных средств без участия менеджера памяти, входного или выходного слоя.
    2. Программирование встроенных систем
    Язык программирования C просто необходим при проектировании встроенных систем.

    Почему?

    Главным образом из-за высокой производительности и простоты использования. Язык C очень экономичен в потреблении ресурсов системы, благодаря чему программа выполняется быстро. В результате встроенные системы работают в реальном времени без замедления.

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

    Вот почему беспилотные автомобили, умные часы, сенсоры и устройства, использующие технологию Интернета вещей (например, кофемашины), имеют встроенное ПО, целиком написанное на C или C++. В связанных системах C позволяет работать непосредственно с ресурсами памяти и править любую часть кода.
    3. Разработка игр и игрового движка
    Производительность крайне важна для игры, поэтому выбор языка программирования здесь ограничен.

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

    Например, Counter-Strike, StarCraft: Brood War, Diablo I, World of Warcraft — все эти игры написаны на C++. Не говоря уже о консолях Xbox и PlayStation, в основе которых лежит программирование C++.

    В ядре игрового движка Unity — самого популярного движка для создания видеоигр под несколько операционных систем одновременно — также использовался C++.

    Средства разработки C++ могут совладать даже с самой сложной игровой графикой. Они позволяют оптимизировать и регулировать то, как именно будут использоваться ресурсы памяти и структуры данных в игре.
    4. Разработка настольных и кроссплатформенных приложений
    C++ также можно использовать для создания настольных приложений. Всё благодаря превосходным кроссплатформенным средствам разработки (иногда называемым фреймворками), таким как Qt. Оно позволяет нацелиться на Windows, Linux, macOS, Android и встроенные системы — все c единой кодовой базой. Так что разработка приложений с помощью Qt оказывается отличным решением для тех, кто хочет сэкономить на времени и стоимости программирования.

    Стоит упомянуть и о библиотеке SDL, нашпигованной функциями, позволяющими создавать приложения одновременно для Windows, Linux, Android, MacOS и iOS.

    Кстати, Photoshop, Illustrator и Adobe Premiere целиком написаны на C++.

    Заключение
    Как было обещано в первом издании книги «Бьерн Страуструп. Язык программирования С++ », запросы пользователей определили развитие С++. Его направлял опыт широкого круга пользователей, работающих в разных областях программирования. За шесть лет, отделяющих нас от первого издания описания С++, число пользователей возросло в сотни раз. За эти годы были усвоены многие уроки, были предложены и подтвердили практикой свое право на существование различные приемы программирования.

    Язык C++ явился мощным и стремительным рывком в развитии программирования. C++ и по сей день занимает господствующее положение среди языков программирования в мире. Огромное множество профессиональных программистов использует именно его при разработке разного рода проектов. Очевидно, этот язык будет сохранять свое солидное положение ещё не один год, при этом по-прежнему развиваясь и совершенствуясь.



    Список литературы
    1. «Бьерн Страуструп. Язык программирования С++»

    2. Джесс либерти, «Освой самостоятельно C++ за 21 день», изд. Дом «Вильямс», Москва - Санкт-Петербург – Киев, 2001

    3. Н. Секунов, «Самоучитель Visual C++ 6», изд. «БХВ-Петербург», Санкт-Петербург, 2003


    написать администратору сайта