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

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

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

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

Следовательно. надежность является важной характеристикой при разработке программного обеспечения для бытовых электронных приборов. В 1990 году компания Бцп Мгсгозумевз пришла к выводу, что ни один из двух рассмотренных языков программирования (С и С+я) не подходит для разработки программного обеспечения бытовых электронных приборов. Несмотря на то что язык С был относительно небольшим, он не обеспечивал поддержки объектно-ориентированного программирования, которая тогда считалась необходимой.

Язык С~.+ поддерживал объектно-ориентированное программирование, но его размер и сложность были восприняты как слишком большое препятствие. Кроме того, тогда полагали, что ни язык С. ни язык С++ не обеспечивают требуемый уровень надежности. Язык >ата должен был обеспечить большую простоту и надежность, чем язык С++.

Несмотря на то что изначальным стремлением разработчиков языка >ака было создание языка для бытовой электроники, ни одни из товаров, вместе с которыми он использовался в начальные годы своею развития. не появился на рынке. Когда после 1993 года широкое распространение получила %ог1б Ф!бе %еЬ, чему в значительной степени способствовали графические броузеры, язык 3ача оказался полезным инструментом для программирования в ФеЬ. За первые несколько лет открытого использования основным применением языка 3ача стало именно программирование в ФеЬ.

Команду разработчиков языка Зача возглавил Джеймс Гослииг (1атез Ооз!!пя>. который ранее создал редактор ешасз лля операционной системы 13п!х, а также систему управления окнами >чеФБ. 2.1 7. Программирование в >й!ог!д >гт!г!е ЧЧеЬ: язык 3ача 2.17.2. Обзор языка Как мы упоминали ранее, язык Зата был основан на базе языка С++, но создавался, в частности, как язык, меньший по размерам, более простой и надежный. В языке абака имеются и классы, и типы. Элементарные типы — это не объекты, основанные на классах.

В их число входят все скалярные типы, в том числе типы лля целых чисел, чисел с плаваюшей точкой, булевских и символьных данных. Доступ к объектам обеспечивается с помощью ссылок, а доступ к величинам элементарных типов — как к скалярным величинам таких императивных языков„как языки С и Ада. Массивы в языке Ада являются экземплярами встроенного класса, а в языке С++ — нет, хотя многие пользователи языка С+а создают лля массивов интерфейсные классы, чтобы ввести такие свойства, как проверка диапазона изменения индексов массивов, которое задано в языке Зата неявно.

В языке Затя отсутствуют указатели, но ссылочные типы предоставляют некоторые их возможности. Эти ссылки используются для указания на экземпляры классов — фактически это единственный способ сделать ссылку на экземпляр класса. Хотя, на первый взгляд. указатели и ссылки очень похожи, сушествует важное семантическое различие. Указатели указывают на ячейку памяти, а ссылки — на объект. Это делает бессмысленной любую арифметику ссылок, отменяя эту подверженную ошибкам привычку.

На программисте часто лежит ответственность за разграничение значений указателя и величины, на которую он указывает, особенно это справедливо для языков, в которых указатели иногда приходится явно разыменовывать. Ссылки же всегда разыменовывают по мере необходимости. Таким образом, они ведут себя аналогично скалярным переменным. В языке 5ата имеется встроенный булевский тип, используемый преимушественно лля условных выражений в его управляюших операторах (например, дк и иззд1в). В отличие от языков С и С++ в условных выражениях не могут использоваться арифметические выражения. В языке 5ата отсутствуют записи, объединения и перечислимые типы. Олним из сушественных различий между языком Затя и большинством современных языков, полдерживаюших объектно-ориентированное программирование, в том числе языками Ада и С++, является невозможность написания на языке Зата независимых подпрограмм.

Все подпрограммы языка Затя являются метолами и определяются в классах. В языке Зата не сушествует конструкции, которая вызывала бы функцию или подпрограмму. Более того, методы могут вызываться только через классы или объекты. Другим важным различием между языками С++ и 3ата является поддержка языком С++ множественного наследования непосредственно в описании класса.

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

В любом случае это вызывает присоединение блокировки. Блокировка страхует от взаимонсключаюшего доступа или выполнения. В языке Зача относительно просто создавать параллельные процессы, которые в этом языке называются потоками. Эти потоки могут запускаться, приостанавливаться, возобновляться и останавливаться, причем все эти методы наследуются от родительского класса для всех потоков — класса ТЬкаай. В языке 5ата используется неявное удаление объектов из динамической памяти (все экземпляры классов языка 3ата, или объекты, размешаются в динамической памяти), 116 Глава 2. Обзор основных языков программирования часто называемое "сборкой мусора". Это освобожлает программиста от необходимосзи самому заботиться об освобождении памяти.

когда в ней отпадает необходимосзь. Программы, написанные на языках, требующих явного освобождения памяти. часто страдают от того, что некоторые называют 'утечкой памяти". означающей выделение памяти без послелуюшего ее освобождения. Это может привести к исчерпанию всей доступной памяти. В отличие от языков С и С++ в языке Зача имеется приведение типов (неявное преобразование типов) только в сторону расширения типа (от "меньшего" типа к "большему").

Таким образом, приведение типа зпк в тип Г1оак будет выполнено. а типа хзоак в тип дик — нет. 2.17.3. Оцвнка Разработчики языка Зача удачно удалили чрезмерные и1или ненадежные свойства языка С++. Например. удаление половины приведений типов. имевшихся в языке С-+. несомненно повысило его надежность. Проверка лиапазона изменения индексов при доступе к массивам также сделала язык надежнее. Введение параллельности. а также библиотек классов для создания аплетов. графических интерфейсов пользователя и работы в сети компьютеров расширило область приложений.

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

Мобильность языка Зача, по крайней мере в его промежуточной форме. часто приписывается структуре языка. но это неверно. Любой язык может быть переведен в промежуточную форму и "запуститься" на платформе, иыеющей виртуальную машин) дзя этой промежуточной формы. Цена такого типа мобильности — стоимость интерпретации. которая, обычно, на порядок выше. чем стоимость выполнения в машинных кодах. Разумеется, многие приложения могут выполняться быстрее и, следовательно. требовать наличия компиляторов, которые бы транслировали исходную программу в машинные колы. Однако такие компиляторы лля языка Зака появляются медленно.

Поэтом). по крайней мере сейчас, более объемные приложения все еще пишутся на таких языках. как С++, Ос!рЬ! и Аба. Сейчас язык Зака широко используется для программирования ФеЬ-страниц. До его появления любое значительное вычисление, требуемое лля созлания ФеЬ-страниц. выполнялось с помощью интерфейса СО! и некоторых приложений, запушенных на ФеЬ-сервере. Аплеты языка Зача представляют собой небольшие программы, запускаемые на ФеЬ- клиенте при обнаружении послелним вызова аллета в НТМ) -проПэамме отображаемой страницы. При вызове аллета его промежуточная форма загружается клиентом с сервера и интерпретируется. Результат работы аллета отображается в виде ФеЬ-страницы.

Рост использования языка Зака происходит значительно быстрее. чем любого другого языка программирования. Одной из причин этого является его вклал в программирование тщательно разработанных ФеЬ-странищ Другой причиной является бесплатность и легкость получения через %еЬ-системы компилятора~интерпретатора для языка Зава.

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

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

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

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