Главная » Просмотр файлов » Р.У. Себеста - Основные копцепции языков программирования (2001)

Р.У. Себеста - Основные копцепции языков программирования (2001) (1160794), страница 27

Файл №1160794 Р.У. Себеста - Основные копцепции языков программирования (2001) (Р.У. Себеста - Основные копцепции языков программирования (2001)) 27 страницаР.У. Себеста - Основные копцепции языков программирования (2001) (1160794) страница 272019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 27)

1. Исторические предпоснпки Среди предков языка С известны языки СР(., ВСР(., В н АЕООЕ 68. Язык СР(. был разработан в Кембриджском университете в начале 1960-х годов. Язык ВСРП вЂ” простой снстемный язык, разработанный в 1967 году Мартином Рнчардсом (К1сЬагбэ, 1969).

Первая работа над операционной системой (ЛЧ(Х была выполнена в конце 1960-х годов Кеном Томпсоном (Кеп ТЬотрэоп) нз компании Вей ЬаЬогазопез. Первая ее версия была написана на языке ассемблера. Первым высокоуровневым языком, реализованным под операционной системой (ЛЧ)Х, был язык В, основанный на языке ВСР!.. Язык В был разработан н реализован Томпсоном в 1970 году. Нн язык ВСРЕ, нн язык В не содержат типов данных, что довольно странно для языков высокого уровня, хотя уровень обоих языков значительно ниже, чем у таких языков, как Риса!.

То, что язык не содержит типов данных, означает, что все данные рассматрнваются как машинные слова, которые, хотя н крайне просты, но приводят ко многим сложностям н ненадежности. Например, сушествует проблема определения арифметики, в которой должно вычисляться выражение: целочисленной нлн с плавающей точкой. В одной реализации языка ВСРП перед операндами с плаваюшей точкой указывались точки. Операнды, которым не предшествовали точки, рассматривались как целочнсленные. Альтернативным вариантом могло бы быть нспольэованне различных символов для операций с плаваюшей точкой.

Эта проблема, а также несколько других, привели к разработке на основе языка В нового языка, предусматривавшего типы данных. Изначально названный НВ, позже переименованный в С, этот новый язык был разработан н реализован в 1972 году Денннсом Рнтчн (Оепшз К11сЬ(е) нз компании Вей 1.аЬопкопеэ (Кепэ(ййап апд КйсЬ(е, 1978). Язык А(.ОО(. 68 оказал на язык С значительное влияние, как через язык ВСР(„так н непосредственно. Это можно заметить по его операторам хок н видкаЬ, операторам прнсванвання н его обрашенню с указателями.

Глава 2. Обзор основных языков программирования 9$ Единственным "стандартом' для языка С в первые 15 лет его существования была книга Кернигана и Ритчи (1978). Со временем язык мелленно эволюционировал при участии различных разработчиков, вводящих допштннтельные свойства. В 1989 году институт А)ч51 выпустил официальное описание языка С (А)чей!.

1989), в котором солержатось большое количество свойств, уже включенных в язык разработчиками средств его реализации. В середине и конце 1980-х годов была разработана новая версия языка С, названная языком С++ (ЕИЬ апд Епоизпцр, 1990). Его история и некоторые из наиболее значительных свойств описаны в разделе 2.16. Подробнее о поддержке языком С++ абстракции данных написано в главе 1О. Поддержка языком С++ объектно-ориентированного программирования рассмотрена в главе 11.

2. 32.2.2. Оценка Язык С обладает достаточным количеством управляюших операторов и возможностей структуризации данных, чтобы он мог использоваться в различных приклалных областях. Кроме того, он содержит богатый набор операторов, обеспечиваюших высокую степень выразительности. Одной из важнейших причин н любви, и неприязни к языку С является отсутствие полной проверки типов. Например, можно написать функции, для параметров которых не производится проверка типов. Люди, которым язык С нравится, высоко ценят его гибкость; те же, кто его недолюбливает, нахолят его слишком ненадежным. Главной причиной значительного роста его популярности в 1980-х годах является то, что он представляет собой часть широко используемой операционной системы (Лч!Х.

Эта привязка к системе ()Н!Х обеспечивает недорогой (часто просто бесплатный вместе с системой [ЛЧ[Х) и лостаточно хороший компилятор, доступный программистам на большом количестве типов компьютеров. Ниже следует пример программы на языке С. /' Пример программы на языке С Ввод: Белое число 11яг1еп, меньше 100, за которым слелует набор целых чисел в количестве 11яс1еп Вывод: Количество введенных величин, которые больше их среднего арифметического */ чей шазп () ( зпс зпг11яг[98], 11я"1еп, соцпсег, яцш, ачегаде, геяц1гг яцш = 0; геяи1г = 0; асалам ("Ъ<(", Ь11яс1еп]; зВ ( (11яг1еп > 0) са (11яг1еп < 100) ) ( /* Считывание входных величин в массив и вычисление суммы */ хог (соцпгег = 0; соипгег < 1(яг1еп; соипгег++) ( асалам ( "то", ьдпг11яг [соцпгег] ); яцш = яцш + зпс11яс[соцпсег]; ) /* Вычисление среднего арифметического */ ачега9е яиш / 11яс1еп; /* Вычисление количества входных величин, которые больше их среднего */ Гог (соипсег 0; соипсег < 11яг1еп; соипсег++) Н (1пг1(яг[соцпгег] > ачегаое) геяи1<++г 2.12.

Несколько важных наследников семейство языков АИО[. /* Вывод результатов */ рг1псб(юйисло величин, которые больше ик среднего:%Юп", геаи1г) ) ) в1вв рг1пгГ (" Ошибка — введена неверная длина списка~п")) ) Происхождение языка С представлено на рис. 2.10. АНЕ С ((999) Рис. 2.10. Генеазошзяязыка С 2.12.3. Д1зугие потомки языка АЕВО1. В этом разделе кратко описываются истоки и характеристики других потомков языка А! ОО(., которые будут упоминаться далее в книге. 2. 12.3.1. Язык Моете)1а-2 После языка Рааса! Ннклаус Вирт разработал язык Моди)а, появившийся в результате его зкспериментов с параллельностью (%(п)з. !97б). Для языка Модо)а никогда не выпускался компилятор, и его разработка была прекращена вскоре после его публикапии.

Тем не менее, сам Вирт от разработки языка не отказался. Он сместил акцент на создание языка, который должен был стать единым языком новой компьютерной системы, позже названной Г.й)()ь В то время как компьютер сам по себе коммерческого успеха не имел. этот успех имел язык Мог)и)а-2 (%(п)з, ! 985). Глава 2. Обзор основных язмков программирования Основными характерными свойствами языка Моби)а-2, структура которого основывалась на языках Разов) и Мобц1а. были модули, обеспечиваюшие поддержку абстрактных типов данных, использование процедур как типов, низкоуровневые средства системного программирования и сопрограммы, а также некоторые синтаксические свойства. которые были улучшены по сравнению с соответствуюшими свойствами языка Рааса!.

Язык Моби!а-2 стал широко использоваться в конце 1980-х годах и в начазе 1990-х голах в качестве учебного языка в университетах. Также он использовазся. по крайней мере несколько лет, в различных промышленных отраслях. 2. 12.3.2. Язык МЫм1сг-3 Язык Мобц)а-3 был совместно разработан Исследовательским центром корпорации О!8!га1 Ейц!Ршепг (8уз!ешз йезеагсЬ Сепгег оГ О!8!!а1 Ег!ц!Ршеп! Согрогабоп) в Пазо.Альто и Исследовательским центром компании 01!чеп! (01Негб йезеагсЬ Сепгег) в Мегшо-11арк в конце 1980-х годах (Сагберб ег а1., 1989). Он основан на языках Мобц1а-2, Мсза (Мйсйей е! а1., 1979).

Себаг (Г.ашрзоп, 1983) н Мобц1а-2+ (йочпег, 1986). К языку Моби(а-2 были добавлены классы н объекты для поддержки объектно-ориентированного программирования, обработка исключительных ситуаций, "сборка мусора" и паразлельность. Несмотря на то что это мощный и хорошо сконструированный язык, надежды на его широкое распространение довольно мачо. Хотя этот язык и финансируется компанией О!8!га1, пользовательская база языка Моби!а-2, на которой мог бы начать расти язык Мобц1а-3, уже практически исчезла. 2. 12.3.3.

Язезк ОЬегои Язык ОЬегоп, частично основанный на языке Мобц1а-2, является последним языком. созданным Никлаусом Виртом. Последняя версия языка ОЬегоп названа ОЬегоп-2 (МбьзепЬос1с. 1993). Страстное увлечение Вирта простотой в языках программирования ошеломляюше откровенно проявилось в проекте языка ОЬегоп.

Хотя с целью получения языка ОЬегоп к языку Моби(а-2 были добавлены некоторые свойства, значительно большее количество свойств было удалено, что сделало язык ОЬегоп абсолютной противоположностью языков С++ и Аба 95, если говорить об этом с точки зрения сложности и размера. Основным свойством, добавленным к языку Моби!а-2, было расширение типов. поддерживаюших объектно-ориентированное программирование. В числе удазенных свойств находятся: вариантные записи, непрозрачные типы, перечислимые типы, полтипы, тип САВ01НА~, нецелочнсленные инлексы массивов, оператор нДСЬ, оператор хок. Поразительно, но язык ОЬегоп значительно меньше и проша своего предшественника.

2.!2.3.4. Язык Ре1рЬ! Язык 0е)рЬ1, подобно языку С++, является смешанным языком, созданным путем введения в сушествуюший императивный язык, помимо других свойств, объектноориентированной поддержки. Язык 0е!РЬ~ происходит от языка Риса!. большое количество различий между языками С++ и 0е)РЫ является результатом различий между породившими их языками и сопутствующими им культурамн программирования.

Характеристики

Тип файла
DJVU-файл
Размер
9,5 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6358
Авторов
на СтудИзбе
311
Средний доход
с одного платного файла
Обучение Подробнее