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

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

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

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

Зто свойство мы называем концентугыьной целостностью. Синтаксис языка влияет иа удобство и простоту написания и тестирования программы, а в дальнейшем способствует ее пониманию и модификации. Центральным моментом здесь является удобочитаемость программы. Слишком лаконичный синтаксис может оказаться удобным при написании программ (особенно для опытного программиста), однако, когда такую программу нужно модифицировать, в ней оказывается нелегко разобраться. Программы на АР1 обычно настолько непонятны, что даже их разработчики спустя несколько месяцев после завершения работы затрудняются их расшифровать.

Многие языки содержат такие синтаксические конструкции, которые сами подталкивают к неправильному восприятию программ, поскольку два почти одинаковых оператора па самом деле имеют кардинально различные значения. Например, появление пробела в операторе языка о.чОВОИ может полностью изменить его смысл. Хороший язык харакгеризуется тем, что конструкциии, обозначающие различные г| опят и я, долж ны и выглядеть совершенно по-разному, то есть семантические отличия должны отражаться в синтаксисе. 2.

Ортоголальность. Термин «ортогональность» означает, что любые возможныс комбинации различных языковых конструкций будут осмысленными. Например, предположим, что язык позволяет задать выражение, которос вычисляет численное значение, а также задать условный оператор, в котором вычисляется выражение, с единственной целью — получить булево значение истина или ложь. Зти две языковые конструкции (выражение и условный оператор) ортогональны, если любое выражение можно использовать (и вычислять) внутри условного оператора. Когда конструкции языка ортогональны, язык легче выучить и на нем легче писать и рограммьп поскольку в пем меньше исключений и специальных случаев, требующих запоминания.

Отрицательной стороной ортогональности является то, что программа никогда нс будет выдавать ошибки при компи- 1.3. Роль языков программирования 39 ляции, даже если она содержит комбинацию возможностей, которые логи- чески не сог ласованы или крайне неэффективны при выполнении. 3. Естественность для приложений. Язык должен иметь такой синтаксис, ко торый при правильном использовании позволяет отражать в самон структуре программы лежащие в основе реализуемого ею алгоритма логические структуры.

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

В качестве примера языков с очевидной направленностью на решение конкретных классов задач можно привести Рго!ой с уклоном в сторону дедукции и С+.ь, предназначенный для объектно-ориентированных разработок. 4. Поддержка абстракций. Даже в наиболее естественном для дап пой предмет ной области языке программирования остается некоторый существенный пробел. Это пробел между абстрактными структурами данных и операциями, которые характеризуют решение задачи, и конкретными базовыми структурам и данных и операциями, встроенными в язык. Например, язык С вполне может подойти для составления расписания занятий в университете, хотя в нем напрямую не существует естественных для этого приложения абстрактных структур данных, таких как студент, курс лекций, преподавагпель, аудитория, и таких абстрактных операций, как определить студента в группу и назначить аудиторию для группы.

Важной частью работы программиста является разработка конкретных абстракций для решения задачи и их последующая реализация с использованием базовых возможностей реального языка программирования. В идеале, язык должен позволять определять структуры данных, типы данных и операции и поддерживать их как самодостаточные абстракции. В этом случае программист сможет использовать их в других частях программы, зная только их абстрактные свойства и не вникая в их фактическую реализацию. Как Лба, так н С++ были разработаны именно по причине отсутствия этой возможности в более ранних языках, таких как Разов! и С соответственно.

5. Удобство верификации программы. Основным требованием является надсж ность программы, написанной на том или ином языке. Существует множество технологий для проверки правильности выполнения программой своих функций. 11равильность программы можно доказать с помощью формальных методов верификации 1см. раздел 4.2), проверкой без выполнения !путем чтения текста программы и исправления ошибок), также она может быть протестирована путем ее выполнения с тестовыми входными данными и 40 Глава 1.

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

6, Среда лрогроммироваггия. Наличие в языке программирования технически развитых конструкций и структур (выражений, структур управления, типов данных и структур данных) — это только один аспект, влияющий на широту его использования. Наличие подходящей среды программирования может сделать технически слабый язык более легким в применении, нежели сильный язьпс при незначительной внешней поддержке. Можно составить длинный список разнообразных определяющих факторов, которым должна удовлетворять среда программирования, но возглавляет его, несомненно, требование наличия в ней надежной, эффективной и хорошо документированной реализации языка программирования.

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

Удобным средством создания переносимых программ являются широкодоступные языки, определение которых не зависит от возможностсй различных машин. Такие языки, как Лг(а, ГОПТПЛМ, С и Раэса1 имеют стандартные определения, позволяющие реализовывать переносимые приложения. Другие языки (например, М1.) происходят от единственной централизованной реализации (гйп8!е-эоцгсс ппр1ешепгаиоп), позволяя разработчику языка осуществлять некоторый контроль над свойствами, определяющими его переносимость. 8.

Стоимость использования. Коварный критерий стоимости был оставлен напоследок. Стоимость использования, конечно, является существенным компонентом оценки языка программирования и складывается из нескольких составляющих: + Стоимость вьтапшвия программы. Назаре компьютерных вычислений стоимость связывалась в основном только с выполнением программы. Большое значение имели исследования по разработке оптимизирующих компиляторов, эффективного использования регистров и механизмов 1.3. Роль языков программирования 41 эффективного выполнения программ.

Хотя стоилзззсть выполнения программы учитывается и в процессе разработки языка, но в первую очередь она важна для болыпих производственных программ, которые мно гократно выполняются. Однако на сегодняшний день для болыпинства приложений вопрос скорости выполнения не является первостепенным. Если речь идет об улучшении диагностики или упрощении контроля в процессе разработки н сопровождения программы, то при использовании настольных компьютеров, выполняющих много миллионов операций в секунду и большую часть времени находящихся в режиме ожидания, увеличение времени выполнения на 10 илп 20 % является допустимым. + Стоимость трансляции програчлзы.

Когда такие языки, как ГОггтггА1ч или С используются в процессе обучения, первостепенным может оказаться вопрос эффективной трансляции (компиляции), а не эффективного выполнения. Как правило, в процессе отладки студенческие программы многократно транслируются, а выполняются всего несколько раз. В этом случае важнее иметь быстрый и эффективный компилятор, а не компилятор, создающий эффективный код. + Сгпоимость создания, тестирования и использования програмлзы.

Этот аспект стоимости может быть проиллюстрирован на примере языков зпза!!га!к и Рег1. Для определенного класса задач решение может быть разработано,закодировано, протестировано, изменено и использовано с минимальными затратами времени и спл программиста. зпза11га1к и Рег1 являются примерами эффективных в смысле стоимости языков программирования.

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

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

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

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