Главная » Просмотр файлов » Т. Пратт, М. Зелковиц - Языки программирования - разработка и реализация (4-е издание_ 2002)

Т. Пратт, М. Зелковиц - Языки программирования - разработка и реализация (4-е издание_ 2002) (1160801), страница 25

Файл №1160801 Т. Пратт, М. Зелковиц - Языки программирования - разработка и реализация (4-е издание_ 2002) (Т. Пратт, М. Зелковиц - Языки программирования - разработка и реализация (4-е издание_ 2002)) 25 страницаТ. Пратт, М. Зелковиц - Языки программирования - разработка и реализация (4-е издание_ 2002) (1160801) страница 252019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Разработка языка 1ауа началась в 1991 г, Группа программистов (Сгееп Теащ) из компании 5 ни М 1сгозуз(ешз под руководством Джеймса Госл инга ()ашеэ Соэ11пй) занималась разработкой языка для использования в цифровых бытовых устройствах'. Летом 1992 г, была создана рабочая версия, но группа опередила свое время, так как в тот момент промышленность еще не была готова к использованию этого языка. В 1993 г. появился туеЪ-браузер Мова)с, что привело к распространению Интер- нета, вышедшего из стен академических лабораторий, по всему миру. Программи- сты из группы Сгееп Теаш сразу же осознали, какую роль может сыграть создан- ный ими язык для расширения возможностей тчеЬ-браузеров.

При помощи браузера Мова(с, в котором использовались адреса ()йодля нави- гации в сети и код НТМ1. для отображения туеЬ-страниц, пользователь мог отыс- кивать нужные ему страницы и загружать информацию с удаленных сайгон. (Эта тема рассматривается в главе 12.) Тем не менее оставались нерешеннылти три про- блемы, ограничивающие возможность доступа пользователей к Ю'тгтг%'. 1. Скорость передачи на компьютер пользователя в 1993 г. ограничивалась примерно 33 000 бит/с (сейчас она составляет примерно 50 000 бит(с).

2. Если какой-либо сайт был достаточно популярен, то при одновременном обращении к нему большого количества пользователей скорость его работы значительно уменьшалась. 3. Для передачи по сети разных типов тееЪ-объектов (текстового документа, графического, аудио- или видеообъекта) требовался отдельный протокол, поддерживаемый каждым чуеЬ-браузероы. Новый формат объектов мог быть использован только после того, как соответствующий протокол был включен во все браузеры, Пока пользователь ждал появления очередной порции информации с серве- ра, его компьютер фактически простаивал без дела. Чтобы обойти первые два из перечисленных ограничений, было предложено некоторую часть обработки ин- формации перенести на компьютер пользователя, тем самым разгрузив туеЬ-сер- вер. Этого можно было достичь посредством небольшой программы-приложе- ния, которая загружается с туеЬ-сервера и выполняется на локальном компьютере, за счет чего сервер может обслуживать большее количество пользователей од- новременно, Такая программа называется апплет (арр!ег).

Аналогично можно загрузить с туеЬ-сервера на локальный компьютер апплет, позволякзщий обраба- тывать новый тип протокола, необходимый для передачи определенного туеЬ- объекта. По мнению программистов компании 5пп, разработанный ими язык мог бы стать ценным дополнением к тчеЬ-технологиям. Но для эффективности его использова- ния требовалось выполнение нескольких условий. 1. Независимость от машинной архитектуры. тзт'еЬ-сервер не имеет информации о том, на какал~ компьютере установлен браузер пользователя.

Для ре- Этот язык известен под названием ОаŠ— 1!рнчеч. науч, ред. 88 Глава 2. Влияние машинной архитектуры щения этой задачи был сконструирован виртуальный компьютер 1ача, и апплет мог быть скомпилирован в виде последовательности байт-кодов для данного виртуального компьютера. Таким образом, апплеты )ача могли выполняться на любом браузере, в который встроена виртуальная машина .) ача.

2. Г>езопасностъ. Для того чтобы язык )ага стал общепринятым языком тчеЬ- программирования, необходимо было обеспечить выполнение с его помощью требований безопасности, имеющих решающее значение для пользователей сети. В частности, шеЬ-сервер не должен иметьдоступа к информации, расположенной на клиентском компьютере, и тем более эта информация не должна передаваться обратно на сервер, Если бы у серверов имелась такая возможность, пользователи весьма неохотно использовали бы незнакомые тчеЬ-сайты, что значительно затормозило бы развитие сети. В 1994 г. компания 5пп разработала браузер Ног)ага, чтобы продемонстрировать возможности содержащегося в нем виртуального колшьютера )ага, И наконец, 23 мая 1995 г. Марк Андерсен (Маге Апг)егззеп), один из основателей компании Кегэсаре Сошшцп1саг1оп, которая в то время контролировала 70 Ж рынка в области тчеЬ-браузеров, обьявил о включении виртуального компьютера )ага в браузер Ь1егзсаре.

С этого момента язык )ага приобрел значительную популярность. Хотя исходно он был предназначен для выполнения апплетов в и еЪ-браузере, область его применения расширилась до того, что он стал одним из наиболее распространенных языков. Он все чаще заменяет С и С++ в качестве первого языка программирования, изучаемого и используемого студентами. Краткий обзор языка. $1зык ) ача похож на С и С++. Их взаилгосвязь становится понятной, если проследить историю создания этих языков. Язык С был разработан в 70-х гг. как язык создания операционных систем (в основном системы 1)Ы! Х). Разработчикам языка хотелось, чтобы он обеспечивал возможность доступа к архитектуре базового аппаратного компьютера.

Когда Страуструп (5ггоцзггпр) разрабатывал язык С++, он позаимствовал концепцию класса из языка 51шц1а и концепцию наследования из языка 5ша1!га1)г. Тем не менее язык С, ставший основой С++, не был при этолг модифицирован и его полезные для системного программирования свойства были перенесены в С++, Когда программисты компании Бцп разрабатывали )ага, они сохранили основные синтаксические структуры, концепции классов и наследования, имеющиеся в С++, но отказались от некоторых необязательных свойств. В результате язык )ача оказался более компактным, чем С++, но с более рациональнымн синтаксисом и семантикой.

По большей части )ача напоминает С++ без тяжелого наследия С, которое обусловливает слабость многих программ на языке С++. Данные в )ага строго типизированы; в частности, целочисленный, логический и символьный типы принадлежат к различным типам данных. Также отдельным типом данных являются массивы, а строковый тип данных в) ага — это не просто массив символов. Все эти свойства позволяют компилятору )ача более полно отслеживать ошибки в программах. Количество способов выполнения некоторых действий уменьшилось.

Например, вызов метода — единственный способ подключения подпрограмм. Поскольку 2,3. Рекомендуемая литература 88 все объекты являются экземплярами каких-либо классов, то отпадает необходимость в специальных вызовах функций или процедур. Структурные объекты з1 госг также не нужны, так как тот же эффект достигается при помощи переменных экземпляра, или полей, в определении классов. В языке 1ауа неявным образом присутствуют указатели, но соответствующий тип данных отсутствует.

Это означает, что от пользователя скрыты все проблемы с фрагментацией памяти, ссылками на несуществующие объекты и другие неприятности, связанные с указателями. Распределение памяти для указателей происходит неявным образом во время создания объектов класса и выполнения операции яен. Для создания программы на языке 1ата в первую очередь создается файл иия файлалача.

Имя файла должно совпадать с именем класса, создаваемого в данной программе. Когда программа написана, вызывается ком пилятор1ауа. В результате компиляции получается файл с названием и ля файла.с1аэз, солержащий байт- колы. Этот файл можно выполнить с помощью интерпретатора 1ауа (виртуальная машина 1ата), Можно сказать, что язык 1 ага является лостаточно простым языком: он имеет ту же ясную структуру, что и С++, и при этом лишен той неуклюжести, которая свойственна С. Тем не менее эффективность выполнения программ на 1аха несколько ниже, так как многие из структур языка нуждаются в проверке во время выполнения программы. К тому же, поскольку программы на 1аха чаще всего интерпретируются как апплеты в виртуальной машине 1ауа, скорость выполнения программ на 1ата несколько ниже, чем скорость выполнения программ, написанных на компилируемых языках.

Но при оценке 1ауа надо помнить об основной области применения этого языка: поскольку он создавался для ч~еЬ-браузеров, потери в скорости выполнения фактически не влияют на результат. Причина этого в том, что скорость передачи информации по сети и скорость обработки и отображения информации на мониторе компьютера все равно ниже скорости работы компьютера пользователя. Поэтому большая часть времени тратится на ожидание очередной порции информации, запрошенной на сервере.

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

Об экспериментальных исследованиях в области компьютерной архитектуры можно прочитать в январском выпуске 1ЕЕЕ Сошршег за 1991 г., а также в ~77~, Глава 2. Влияние машинной архитектуры 90 мирования. Что является исполняемой формой программы (иначе говоря, что представляет собой результат работы транслятора)? Какие виды трансляций происходят при преобразовании различных выражений и операторов в пх исполняемую форму? Какая программная интерпретация необходима при выполнении программы? Является ли интерпретатор программно-моделируемым? Какие из примитивных операций требуют программной интерпретации? 2.

Исследуйте свой собственный компьютер: какова структура виртуального компьютера, определяемого операционной системой? Чем этот компьютер отличается от аппаратного? Ограничивает ли операционная система использование аппаратных средств (например, существуют ли какие-либо аппаратные инструкции, которые становятся недоступными для использования в пользовательских программах, выполняемых определяемым операционной системой виртуальным компьютером)? Какие новые возможности, требующие сложного программного моделирования при реализации в базовом аппаратном компьютере, непосредственно обеспечиваются виртуальным компьютером, определяемым операционной системой (например, ввод-вывод)? Операционная система позволяет программисту использовать виртуальный компьютер, который может сильно отличаться от базового аппаратного компьютера.

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

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

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

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