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

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

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

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

Совместно используемые данные выделялись в синтаксическую структуру. управляюшую всем доступом к данным с помошью рандеву или вызова подпрограмл1ы. Новые свойства языка Ас(а 95 — параллельность и совместное использование данных — подробно рассмотрены в главе 12. Широко распространено мнение, что популярность языка Ас(а 95 булет палать. поскольку его использование в военных системах программного обеспечения Министерству обороны СШЛ уже не требуется.

Хотя. разумеется, сушествуют и другие причины, прспятствуюшие росту популярности языка Ада. Происхожление языка Ада представлено на рис. 2.11. Риса! (1971) дал аэ (1993) Яда 9$ (1999) Рис. 2.П. Генеатогия языка Ас(а 1ОВ Глава 2. Обзор основных языков программирования 2.15. Объектно-ориентированное программирование: язык Зптайгайс Как уже обсуждалось в главе!, объектно-ориентированное про»раммирование содержит в качестве одной из трех основных харалтеристик абстракцию данных.

остальными двумя являются наслелование и динамическое связывание. В ограниченной форме наследование появилось в языке ЯМ()! А 67, в котором можно было определять иерархию классов. Наследование обеспечивало эффективный метод повторного использования программ. Существующая в объектно-ориентированном программировании концепция управленияя модулями приближенно выражается идеей, происходящей от языка 51М()(.А 67 и заключающейся в тол», что программы молелир>ют реальный мир.

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

и действий, которые необходимо выполнить над этими объектами, с последующим моделированием этих объектов. их процессов и требуемых связей между объектами. Абстрактные типы данных. динамическое связывание и наследование — вот концепции, которые делают решение объектноориентированной задачи не только возможным, но также удобным н эффективным. 2.1$.1. Процесс разработки Концепции, приведшие к разработке языка Бгпай»а18. были впервые сформулированы в докторской лиссертации Алана Кэя (А)ап Кау), выполненной в конце 1960-х голов в Университете штата Юга Щп1тегз!»у о» О»аЬ) (Кау, 1969).

Кэй на уливление точно предвидел булушую лоступность л»ошных настольных компьютеров. Напомним. что первые микрокомпьютерные системы поступили в продажу лишь в середине 1970-х голов и имели очень отлаленное отношение к машинам, представляемым Каем, которые должны были выполнять миллион нли более операций в секунду и содержать несколько мегабайтов памяти. Подобные машины в виле рабочих станций стали широко доступны только в начале 1980-х годов. Кэй полагал. что настольные компьютеры смогут использоваться непрограммнстамн. и, следовательно.

им понадобятся очень мощные средства интерфейса. Компьютеры конца !960-х голов были в основном пакетно-ориентированными и использовались исключительно профессиональными программистами и учеными. Для использования не- программистами, как установил Кэй, компьютер должен иметь высокую степень интерактивности и использовать изощренную графику в пользовательском интерфейсе. Некоторые графические концепции были результатом работы Сеймура Пейперта (беугпоиг Рареп) с языком !.ООО, в котором графика помогала детял» использовать компьютеры (Рарег», 1980).

Изначально Кэй представлял себе систему, названную им РупаЬоо(». которая должна была стать универсальным информационным процессороь». Частично эта система основывалась на языке Е1ех, который Кэй помогал разрабатывать. Сам язык г!ех базировался главным образом на языке ЯМ()(.А 67. Система ОупаЬоой была основана на парадигме 2.15. Объектно-ориентированное программирование: язык бша!11аВ 109 обычного стола, на котором лежит много бумаг, часть из которых перекрывается. В фокусе внимания всегда находится верхний лист бумаги, тогда как остальные временно не видны.

Эту картину дисплей системы РупаЬоо)г должен был моделировать с помощью окна на экране. Пользователь взаимодействовал бы с подобным дисплеем посредством клавиатуры и прикосновений пальцами к экрану. После того как эскизный проект системы ОупаЬоой принес ему докторскую степень, целью Кэя стало желание увидеть подобную машину в действии. Это желание привело Кэя в Исследовательский центр компании Хегох в Пало-Альто (Хегох Ра!о Айо КезеагсЬ Сеп1ег, Хегох РАКС), где он изложил свою идею о системе РупаЬооЕ.

В результате его приняли на работу в этот центр, и впоследствии возникла научно-исследовательская группа (.еагпшй йезеагсЬ Огоцр аг Хегох. Первой задачей группы стала разработка языка, поддерживающего программную парадигму Кэя, а также ее реализация на лучшем из доступных тогда персональных компьютеров. В результате этой работы появилась система "!пгег1т" ОупаЬоой, состоящая из аппаратного обеспечения Хегох Айо и программного обеспечения Яшайгайс-72. Вместе они образовали исследовательский инструмент для дальнейших разработок. С этой системой было проведено большое количество исследовательских проектов, в том числе и несколько экспериментов по обучению детей программированию. Параллельно с этими экспериментами шлн дальнейшие разработки, приведшие к возникновению ряда языков, последним из которых был рассматриваемый в данной книге язык Вша!)га!Ь-80.

С развитием языка росла и мощь аппаратного обеспечения, на котором он реализовывался. К 1980 году и язык, и аппаратное обеспечение компании Хегох практически соответствовали представлениям Алана Кэя. 2.15.2. Обзор языка Программными модулями языка Вша)!ш!Ь являются объекты. Объекты — это структуры, инкапсулирующие локальные данные н набор операций, называемых методами, которые доступны другим объектам.

Метод определяет реакцию объекта на определенное сообщение, соответствующее данному методу. Мир языка Баа!!гай заселен только объектами, в число которых входит все: от целочисленных констант до больших сложных систем программного обеспечения. Все вычисления на языке Бгла! Ьа!Ь выполняются одним и тем же универсальным способом: объекту отправляется сообщение, вызывающее один из его методов. Ответом на сообщение является объект, возвращающий требуемую информацию или просто информирующий отправителя о завершении запрошенной обработки. Главное различие между сообщением н подпрограммой заключается в том, что сообщение посылается объекту данных, который затем обрабатывается с помощью программного кода, связанного с этим обьектом, в то время как вызов подпрограммы, как правило, посылает данные на обработку в саму подпрограмму.

С точки зрения моделирования, которое никогда не отделялось от языка бша1йа1Ь, этот язык является моделью совокупности компьютеров (объектов), которые сообщаются друг с другом (с помощью сообщений). Каждый объект представляет собой абстракцию компьютера, т.е. он хранит данные и предоставляет возможности обработки для манипулирования этими данными. Кроме того, объекты могут посылать и получать сообщения. По существу, это и есть основные возможности компьютеров: хранить, обрабатывать данные и обмениваться ими друг с другом. 110 Глава 2. Обзор основных языков прогроммнроаоння В языке Бшайгайс абстракпиямн объектов являются классы.

которые очень похожи на классы языка 51М1И.А 67. Могут создаваться экземпляры класса, которые затем ставятся объектами программы. Каждый объект имеет собственные локальные данные и представляет собой отдельный экземпляр своего класса. Различаются объекты одного класса состоянием своих локальных переменных. Как и в языке 51М1]1.А 67. в языке Бшайга]к может быть создана иерархия классов. Подклассы данного класса являются его уточнением„наследуя функциональные возможности и локальные переменные родительского класса, или суперкласса.

Подклассы могут выделять новую локальную память, добавлять новые функциональные возможности, а также изменять и скрывать унаследованные. Как кратко описывалось в главе 1, язык Бшайгайс — это не только язык, но еше и полная среда разработки программного обеспечения. Интерфейс ланной среды в значительной степени графический, что затрудняет использование многочисленных перекрываюшихся окон, всплываюших меню и устройств ввода типа "мышь". 2.13.3. Оценка Ро1усоп Оь3есс оигРеп пиаБйс]ез здс1еЬепас]т "Методы класса" "Создать экземпляр" пе» аирак па» деТРеп "Взять перо для рисования многоугольника" сеСРеп оцгреп <- Реп пе» с1ейаи1сН1Ь: 2 "Методы экземпляра" "Нарисовать многоугольник" с!га» пиаБ1с]ез сдвепереас: [оцгРеп до: з1с!е].епдСпз сигп: 360 // пипБ1без] 2.15.

Объектно-орнентированноа программирование: язык 5пзай!а1к Язык Бшайга]к выполнил великую задачу, активизировав два отдельных аспекта программирования. Во-первых, системы с оконным управлением, являющиеся сейчас основным методом связи с пользователем, произошли от системы 5пзайгайь Во-вторых, в наши дни основные методологии разработки программного обеспечения и языки программирования являются объектно-ориентированнымн.

Хотя некоторые илеи объелтноориентированных языков программирования происходят от языка 5!МШ.А 67, развиты они были только в языке Бша!кайс Очевидно, что язык Бшайга]к оказал на компьютерный мир большое и лолговременное влияние. Ниже приводится пример описания класса в языке 5шайшйс "Пример программы на языке Бжа11са1]с" "Ниже следует описание класса, реализация которого может нарисовать равносторонний многоугольник с любым количеством сторон" с1ааа паве аирекс1аае йпатлазсе чак1а!з1е пажеа "Установить длину сторон" Ьепйсп: 1еп адаеЬепдСП <- Ьеп "Установить число сторон" а'с(ев: пцж пцжЯЬс(еа <- пц1а Происхождение языка Бшай(айг представлено на рис.

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

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

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

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