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

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

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

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

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

Вообше говоря. языки полготовки сценариев внесли не очень большой вклад в развитие более традиционных языков программирования. Олнако язык Рег1 имеет несколько интересных свойств, которые будут описаны лазее в книге. 1.2.6. Специализированные языки программирования За последние 40 лет появилось множество специализированных языков программирования. В нх число вхолит язык йРО. используемый лля генерации деловых отчетов. язык АРТ, созданный лля управления программируемыми устройствами.

и язык ОР55. разработанный лля молелирования систем. Специализированные языки программирования не будут рассматриваться в книге. в основном из-за их узкой направленности. а также из-за того, что их тру лно сравнивать с другими языками программирования. 1.3. Критерии оценки языков программирования Как указывалось ранее. цель книги — тшательно изучить концепции.

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

Некоторые из харалтеристик. воздействующих на наиболее важные из этих лритериев. указаны в таблице! .1, а собственно критерии рассматриваются в слелуюших разделах. 1.3. Критерии оценки языков прогроммировоиия Таблица 1.1. Критерии оценки языков программирования и влияющие на них характеристики Критерии Чи<н«оц<ьносп<ь ?елко<чнь оэдгп«о<Нидежность 1,<; .<к<и~ !ля <ники 1!р шота Ортогоназь«ость уиранлян<шис стр> кт> ры 1 и~ и< и стр> кт> ры ланнь<х Сии<аьсич«сках стр> ктура !! о тлержка абстракции Выразительность 11р <верка типов Ооработка ис<сзючительиь<х сиюаций 0< рзииченное совмещение ичсн 1.3.1. Читабельность Озним из важнейших критериев оценки языка программирования является легкость ч<ения и понимания програчм.

написанных на нем. До 1970-х годов разработка программного обеспечения в основном свозилась к соззанию кола. Оливка в !970-х годах оыла со<лана коицепш<я жииыииого ш<кла программного ооеспечения (Воос1<, 1987). Значение сооственно лош<ровлния ломанл сниз<шось. а основной частью жизненного ш<кла програчмного оосспечения стали считать его экспл>аташ<ю, особенно с точки зрения стоичости.

Поскольк> легкость эксплуатации в основном опрелеляется читабельно.тью программ. то читабельность стала важной характеристикой качества програл<м и языков програмчирования. Читаоельность необколичо рассчатривать только в контексте опрелеленной приклалной области. Если. к пример>. программа. описывающая вычисления, была написана на языке. зля этого не презиазиаченного. то она может оказаться неестественной и запу<аниой. так что читать ее о>лег крайне тр> лно.

В слез>юших позраззелах описываются характеристики. способств>юшие улучшешио читаоельности языка про< раммирования 1.3. 1.1. Простота На читабельность языка програмчирования с<шьное влияние оказывает его простота. Прежзе всего. язык, созержаший оольшое количество элечентарных конструкций. изучить сложнее.

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

снижающей читабельность про< рач«. является множественность свойств. т.е. наличие нескольких способов совершения какого-:шоо зейс<вия. Например, пользовате.<ь ир<ираммируюший на языке С, может чр юави<ь езиниц> к целом> числ> четырьчя рахишнычи способами; ЗО <"лава!. Вводные замечания сооп1 = сочпт ч 1 сооп ч= 1 сочг:сьь чьсочп". Значения лвух последних выражений несколько отличаются друг от лр> га и: ~ » ачсний остальных выражений. олнако применение всех четырех приведет к одинаьчиич результатам.

Все эти варианты рассматриваются в главе 6. Третьей потенииальной проблемой является перегрузка операторов. т.с. ичли ис > символа, обозначаюшего оператор. нескольких значений. Это скопе~во иолепю днако может ухудшить читабельность программы. особенно если подьзовшс:ш ичсьп ирало создавать собственные перегруженные операторы и делают это без раб чных ~а; н,и ии Например, вполне лоп стима использовать оператор " " как .шя ис.ючислсниыз псраиий. так и лля операций с плаваюшей точкой. 1'акая перегрузка фактически > проигас~ язык, уменьшая число операторов.

Прелположим. однако. чго ирограчмист определил оператор "-'" с двумя операндами. прсдставляюшичи собой одномерные массив.,ь ичся я виду суммирование всех элементов обоих массивов. Поскольку обычно сложение векторов имеет соаери~енно иной смысл. это собьет с толку как автора. так и чи штсзсй программы.

Еше большую путаницу может вызвать программа. в которой пользователь определит оператор ";" с двумя векторными операндами. имея в виду вычисление раиюсти между первыми элементами этих векторов. Тема перегрузки операторов освсишсзся далее в главе б. Упрошение языка программирования может, конечно. зайти слишком да:юло 1)а- пример, изучая слелуюший раздел, вы можете заметить. что форма и счысл большинства операторов языка ассемблера являются эталонами простоты. Однако зта чрсзчсриая простота снижает читабельность программ. написанных иа языке ассечолсра. 11ню огсутствия более сложных управляюипгх операторов эти программы имеют меисс яси>к~ структуру. Кроме того.

вследствие простоты операторов их количество в програчче. написанной на языке ассемблера. намного превышает количество операторов в зквияалентной программе, написанной на языке высокого уровня Те жс сачые аргументы можно привести и при рассчотрении менее экстремального случая: язылов нысоко~о >ровня с неадекватными управляюшими операторами и стр> ктурачи данных. 1.3.1.2. Ортогоноленосте Ортогональность языка программирования означает. что управлянииие оиепазо!чя и структуры данных языка можно выразить с помошью относительно нсоольиичо лоличсства элементарных конструкиий (рйгпигке сопмгосга). подьз>ясь ограничснныч числоч способов.

Более того. любая возможная комбинаиия этих элечегпарных консгр>кпий разрешена и имеет смысл. Рассмотрич. например. типы данных. !!рсдположич. ч~о язык солержит четыре элементарных типа данных: иелый (!п!ецег). число с плаваюшей точкой (йоаг), число с двойной точностью (доиЫе) и символьный (сйагасгег). а так;кс зни ~ила операторов: массив (аггау) и указатель (ро(пгег) (оо ! гхег). Если операторы обоих ~ ппои могут применяться к самим себе и к четырем элсчентарныч типам данньж. тг можно определить большое количество струят>р ланных. Однако, если указатели нс чгч зт > казывать иа массивы. многие нз этих возможностей реализовать не удастся.

Смысл термина "ортогональность языка программирования" не зависит от контекста. в котором это свойство проявляется в программе. (Название "ортогоначьнос~ь" произошло от математического понятия ортогоназьных независимых вектороя.) Орпи<- 1.3. Критерии оценки языков программирования 31 на юность следует из симметрии отношений межлу элементарными элементами. Указа- ~«ш иог>т хранить алрес любой переменной или структуры данных.

Отсутствие ортогона п,ности ведет к появлению исключений из правил языков программирования. ]]сподьзование ортогональности как стрултурной концепции мы можем проиллюстри]ч ндть, сравнив олин из аспектов языков ассемблера мейнфреймов корпорации 1ВМ и с«рин суперминикомпьютеров компании ЧАХ. Рассмотрим простую ситуацию: сложени« ~в> х 32-битных целых чисел. хранящихся либо в памяти, либо в регистрах, и замена о.шпй из этих величин суммой. В мейнфреймах корпорации 1ВМ для этой цели использ> ю ~ ся две команды, имеющие следующую форму: Рей1, жежсгу се11 Вед1, Вео2 Здесь Вес и Рео2 прелставляют собой регистры, а петогу се11 — ячейку памяти. '>ти команды имеют следующую семантику; Эеа«1 <-содержимое(йед1) + содержимое(жежсгу се11) :-.

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

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

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

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