Файл: История возникновения и развития языка программирования Си (С++) и Java (Понятие языков программирования С и С++).pdf
Добавлен: 01.04.2023
Просмотров: 93
Скачиваний: 2
Введение
Сегодня, в мире информатизации, даже тяжело представить значение информационных технологий. Почти у каждого человека есть смартфон или компьютер, и нет человека, который ни разу не слышал об интернете (речь идет о людях, живущих в цивилизованных местах проживания людей). Что бы всё работало так, как это необходимо, нужны программы, а для того, чтобы создавать программы, нужны языки программирования. Программист на сегодняшний день, является одной из самых важных профессий, и со временем ее важность будет возрастать. Исходя из этого и образуется мой личный интерес к данной теме, которую я буду пытаться изучить и изложить в курсовой работе.
Язык C стал основоположником новой эпохи программирования. язык С, несмотря на присутствие развитых определенных языков программирования, определил направление всего будущего программирования. Его разработал Кен Томпсон и Деннис Ритчи в 70х прошлого века. Деннис Ритчи так же он известен созданием языков BCPL, B, расширением ALTRAN для языка FORTRAN, и участием в разработке операционных систем Unix и Multics. Кен Томпсон, помимо создания языка С, участвовал в создании UNIX, B и стандарта UTF-8.
Цель работы - ознакомиться с историей возникновения и развития языков программирования С и С++ и Java.
В процессе выполнения цели работы, сформированы данные задачи:
- Изучить язык С и С++, дано понятие языков программирования С и С++ их краткая история развития и базовые понятия;
- Изучить язык Java, способ применения, историю развития и определить основные понятия языка.
Курсовая работа содержите две главы в которых описываются язык С вместе с С++ и Java соответственно.
Глава 1. Язык программирования С и С++
Понятие языков программирования С и С++
Как известно, самыми известными языками программирования во всем мире являются С и С++. Это - главные языки, употребляемые в разработке не только системного ПО, однако и прикладного. когда профессионал по части информационных технологий владеет предоставленными языками, он будет постоянно обладать работу с большим заработком.
Рассмотрим особенности данного языка:
-Эффективность.
Заключается в том, что программы, которые написаны на языке С - небольшого размера с одновременно большой скоростью исполнения.
-Лаконичность, означает то, что запись алгоритма выразительная и краткая.
-Компактность, язык содержит небольшое количество встроенных средств и ключевых слов.
-Мощность, мощность применения достигается при помощи за использования большого числа библиотек.
-Переносимость, сделаны для всех ОС и аппаратных платформ, из-за этого программу возможно скомпилировать и запустить абсолютно всюду.
Конечно, язык С имеет и недостатки. Сюда можно отнести довольно немощный контроль преобразования типов и незащищенность в ходе работы с адресами и динамической памятью, в конечном итоге в программе просто сделать ошибку, какую дальше непросто будет обнаружить. С другой стороны, данные недостатки и позволили организовать исполняемый код, по эффективности приближающийся к программе на языке Ассемблера. В 1981 г. создают язык С++, что сразу называют “С с классами“. Создатель языка - Бъярн Страуструп «Бьерн Страуструп. Язык программирования С++», изд. Бином, М. - С. способствовал добавлению в привычный С методы объектного языка - классы, служащие для изображения внутренней структуры объектов, механизм наследования и новые средства работы с динамической памятью и с вводом/выводом.
Благодаря данным средствам возникла возможность не только создавать объектно-ориентированные программы, но также организовывать библиотеки шаблонов, классов - т. увеличить инструмент юзера и сферу использования самого языка. С/С++ сплачивает внутри себя вышесказанные совершенства С и свежеиспеченные способности С++, предоставляя вероятность “изнутри“ выучить взгляды программирования благородного уровня. Диалект С++ охватывает в себе имущества и методы как высокоуровневого, аналогично низкоуровневого программирования. К первым причисляются классы, структуры, механизмы наследования и запоздалого связывания, шаблоны. Ко вторым относится механизм указателей, службу с битами символов, службу с механизмом прерываний. Именно благодаря данному С++ сильно увлекательный ради монолитнее заключения пространного охвата задач.
.
История развития языков С и С++
Язык С (по-русски произносится как «Си») был разработан сотрудником фирмы AT&T из подразделения Bell Labs Денисом Ритчи в 1972г. во время совместной работы с Кеном Томпсоном над ОС UNIX. Прообразом С послужил язык Би (B), разработанный К. Томпсоном. Также большое влияние на С имел язык BCPL, автором которого был М. Ричардсоном.
Язык С разрабатывался в основном как инструмент для системного программирования. Благодаря прекрасному сочетанию лаконичности конструкций и богатства выразительных возможностей язык С сумел найти быстрое распространение и стать одним из самых популярных языков как прикладного, так и системного программирования. Компиляторы языка С работоспособны почти на всех типах современных ПК в операционных системах Windows, Mac OS, Linux, FreeBSD, Solaris и др.
В отличие от многих языков программирования (Ада, Алгол-60 и т.д.), вступавшими в силу только после принятия соответствующих национальных и международных стандартов, язык С изначально создавался в целях применения его как рабочего инструмента, который не ставил своей задачей широкое распространение. До 1989 года на язык С стандарта не существовало, и в роли формального описания авторы компиляторов (разработчики) применяли книгу Б. Кернигана и Д. Ритчи (первое издание), которая вышла в 1978 году в США (на русский язык она была переведена в 1985году). Роль этой книги как неформального стандарта для языка С осталась и по сей день. Не случайно во всей литературе и различной документации по компиляторам ссылка на эту работу обозначается специальным сокращением K&R.
Первый официальный стандарт языка С приняли в 1989годув Американском национальном институте стандартов (American National Standards Institute -- ANSI). Эту версию языка на практике обозначается С89. Также, данный стандарт приняла и Международная организация стандартов (International Standarts Organization -- ISO). В 1995г. стандарт С89 был незначительно изменен.
Язык С++ (по-русски читается «Си-Плюс-Плюс») «Бьерн Язык программирования С++», изд. Бином, М. - С., как развитие С, появился в 1979году. Его разработчиком был Бьярни Страуструп, в то время он был сотрудником в BellLabs. Разработка и улучшение языка С++ вызвал от его создателя внушительных усилий в течении 80-х - 90-х годов. В итоге, в 1998г. был принят ANSI/ISO-стандарт для языка С++. если утверждать общими словами, язык С++ — это объектно-ориентированная, улучшенная вариант языка С. С++ сделан на основе версии С89, которая заключала внутри себя все изменения 1995г., и сейчас данную версию С89 называют С-подмножеством языка С++. Несмотря на то, что язык С++ проектировался как набор объектно-ориентированных расширений для языка С, впоследствии он стал развиться как самостоятельный язык программирования. Сейчас его новые средства практически в два раза приумножили размер исходного языка. Не нужно никаких доказательств, что С++ является одним из самых мощных компьютерных языков, созданных до сих пор.
В 1999 г. приняли второй ANSI/ISO - стандарт для языка С. Эта версия была названа С99, включающая набор улучшений, а также кое-какие новые средства. Одни из этих «новых» средств пришли из языка С++, а остальные - представляют пользователю абсолютно иные, новые возможности. Следовательно, отдельные элементы, привнесенные в С99, несовместимы с языком С++. Это значит, что с возникновением версии С99 стандарт языка С теперь не считается чистым подмножеством языка С++. К счастью, источник многих «несовместимостей» связан со средствами специальных назначения, которые можно легко преодолеть. В целом, и этот вариант С языка сдаёт возможность писать программы, которые будут совместимы с языком С++.
В последующие пару лет проводились работы с целью развития новых стандартов языков С и С++, закончившиеся в конце 2011года.
В октябре 2011 г. создали новый стандарт языка С++ Джесс либерти, «Освой самостоятельно C++ за 21 день», изд. Дом «Вильямс», Москва - Санкт-Петербург - Киев, 2001. - С. . Его обозначение- C++11 или ISO/IEC 14882 .
Полная его поддержка обещана в GCC 4.7. А в декабре 2011 г. принимают новый стандарт и для языка С. Эту версию условно называют С11 или ISO/IEC 9899:2011. Часть её возможностей уже сейчас поддерживается компилятором GCC.
Сегодня существует очень огромное количество С-подобных языков - языков, в основу которых лег язык С. Наиболее имеющие важность из них -- это языки C++ Бьярни Страуструпа, Java фирмы Sun и С# (читается Си-Шарп) фирмы Microsoft.
Базовые понятия языка
Алфавит языка представляет собой набор знаков (символов), который допустим в данном языке. Такое определение справедливо и для языка человека, и для языков программирования.
В языке С++ алфавит можно условно разделить на группы знаков Джесс либерти, «Освой самостоятельно C++ за 21 день», изд. Дом «Вильямс», Москва - Санкт-Петербург - Киев, 2001.- С.43.:
- прописные и строчные латинские буквы (A, B,..., Z, a, b,..., z);
- арабские цифры (0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
- специальные знаки: " , { } | [ ] ( ) + - / % \ ; '. : ? < = > _ ! & * # ~ ^
- пробельные символы – это символы пробела, табуляции, перехода на новую строку.
Идентификатор - это имя какого-либо объекта программы. Например, имена дают переменным, функциям, классам и т.д. Имя может состоять из латинских букв, цифр и символа _ (символ подчеркивания). Начинаться имя может с буквы или символа подчеркивания, но не с цифры. Важно учитывать, что прописные и строчные латинские буквы, используемые в идентификаторах, считаются различными (это требование является общим для всех С-подобных языков: С, С++, С#, Java, Perl и многих других. В таких же языках, как Fortran, Pascal, Basic не делается различия в именах между прописными и строчными латинскими буквами).
Пример допустимых идентификаторов:
Alfa Alfa ALFA x _x a25 i_tek
Обратите внимание: здесь alfa, Alfa и ALFA -- разные имена.
Имена, подобные приведённым ниже, ни в коем случае нельзя использовать в качестве идентификаторов:
25a (начинается с цифры);
Альфа (кириллица не допустима).
Общепринятые рекомендации по использованию имён:
- желательно, чтобы имя объекта было осмысленным;
- в качестве имён констант используйте имена, состоящие из прописных латинских букв, например: PI, GAMMA;
- не используйте имена, начинающиеся с символа подчеркивания, так как такие имена часто используют разработчики компиляторов для своих целей;
- чем больше область видимости имени, тем более выразительным и длинным должно быть имя. Короткие однобуквенные или двухбуквенные имена допустимы только внутри небольших блоков программы, внутри коротких функций пользователя.
Длина имени в большинстве случаев не ограничена, но на длину внешних имён (имён библиотек, функций) может накладывать ограничение операционная система.
Ключевые (зарезервированные) слова -- это слова, которые можно использовать в программе только по их прямому назначению, т.е. эти имена нельзя использовать для обозначения, например, своих переменных
Герберт Шилдт. C + + для начинающих. Пер. с англ. М: ЭКОМПаблишерз 2007. - С.34-38..
Таблица 1. Ключевые слова в языке для С и С++
Ключевое слово Packed больше не используется в С++
Таблица 2. Новые ключевые слова для С++
Константы - это неизменяемые величины. В языке C++ имеется пять типов констант: целые, вещественные, символьные, строковые и булевые.
1. Целые константы. Правила языка допускают использование трёх видов целых констант: десятичных, шестнадцатеричных и восьмеричных. Основание определяется префиксом в записи константы. Для десятичных констант префикс не нужен.
Десятичное целое - это последовательность десятичных цифр, начинающаяся не с нуля (если это не число нуль), например:
100 25 0 2009
Восьмеричное целое - это последовательность цифр, начинающаяся с 0 и не содержащая десятичных цифр старше 7, например:
016 - восьмеричное представление десятичного целого 14;
025 - восьмеричное представление десятичного целого 21.
Шестнадцатеричное целое -- это последовательность шестнадцатеричных цифр (0, 1,…, 9, А, B, С, D, Е, F), перед которой записаны символы 0х или 0Х, например:
0х25 - шестнадцатеричное представление десятичного целого 37;