Главная » Просмотр файлов » Языки программирования. Прошлое и будущее. С.Бобровский

Языки программирования. Прошлое и будущее. С.Бобровский (1012869), страница 10

Файл №1012869 Языки программирования. Прошлое и будущее. С.Бобровский (Языки программирования. Прошлое и будущее. С.Бобровский) 10 страницаЯзыки программирования. Прошлое и будущее. С.Бобровский (1012869) страница 102017-06-17СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Знакомый многим отечественным программистам Turbo Prolog, рабатывавшийся ранее фирмой Borland, теперь выступает под мар PDC Prolog и реализован для операционных систем MS-DOS, Wind( OS/2 и Unix/Linux. Правда, сохранились как достоинства, так и н статки первоначального варианта. Имеется удобная среда разработ*; и быстрый компилятор, но наблюдается несовместимость с подав! щим большинством других диалектов этого языка. Существует cm альная версия для визуальной разработки VisualProlog.

Едва появившись на свет, Пролог породил множество диалектов даже совсем других языков типа Planner, основанных на деклара ных принципах, но имеющих более узкие области применения. Caw же ему не суждено было воплотиться в строгом стандарте, скорее в как раз потому, что слишком глобальными оказались заложенн него идеи.

Однако нельзя сказать, что Пролог свою «лебединую песню» про Как наиболее известный и наиболее простой в освоении из всех де ративных языков, он остается и сегодня прекрасным средством быстрого создания экспертных систем и интеллектуальных баз зна требующих сложной структуры запроса. Хорошая реализация Пр га — это, по сути, CASE-система, только простая в изучении и гиб! использовании, что косвенно подтверждается ценами на разли* версии этого языка.

Русский Пролог

В Старом свете родились практически все наиболее красивые я; программирования. Заложенные в них оригинальные идеи основывались на фундаментальных математических теориях. Разрабатывались такие языки и в СССР, продолжают они разрабатываться и в России (например, язык Dynamo фирмы «Параграф» для описания трехмерных виртуальных миров). Наиболее почтенный по возрасту, но с годами только становящийся мощнее — это язык РЕФАЛ (РЕкурсивных Функций АЛгоритмический язык).

О судьбе этого языка я узнал из первых рук — от Владимира Хорошевского, профессора, члена-корреспондента РАЕН, руководителя ceктора экспертных систем отдела проблем искусственного интеллекта РАН.

Первую версию РЕФАЛа разработал В.Ф. Турчин еще в 1964 году, Этот язык, реализовавший концепцию сопоставления с образцом, родился раньше Пролога и СНОБОЛа, которых часто считают родоначальниками этого направления. В основе РЕФАЛа лежит теория нормальных алгоритмов Маркова (реализованная во внутренней машине вывода), которая потенциально мощнее теории исчисления Хорновых дизъюн­ктов, воплощенной в Прологе. Благодаря этому язык, созданный в СССР, позволяет решать некоторые задачи значительно эффективнее, чем его зарубежные собратья. Немаловажно, что РЕФАЛ превосходит известные языки сопоставления с образцом по своей выразительной мощности и легкости понимания текста программ.

Первоначально так называемый базисный РЕФАЛ позиционировался как язык для преобразования произвольных языковых конструкций, своего рода метаалгоритмический язык.

Первый интерпретатор РЕФАЛа на БЭСМ-6 написали С. Флоренцев и С. Романенко. Он выполнял до 300 конкретизации (сопоставлений с образцом и преобразований образца к требуемому результату) в секунду, что даже по нынешним временам довольно высокий результат. В основе интерпретатора лежала абстрактная РЕФАЛ-машина, работающая с бесконечным полем памяти. Модель данных поддерживала двунаправленные списки, а в РЕФАЛ-2 добавилось понятие закольцованных ссылок, в результате чего появи­лась возможность работать не только с древовидными структурами, но и с графами и сетями. Естественно уложился в эту концепцию процесс отождествления «слева направо» и «справа налево», что сделало РЕФАЛ симметричным языком.

Язык РЕФАЛ-2 появился в 70-е годы. Были написаны компиляторы практически для всех платформ (М220, БЭСМ, СМ, ЕС ЭВМ). Для записи исходных текстов программ разработчики создали метакод-Б, позво­ливший описывать структуру решаемой задачи намного нагляднее, чем в ранних вариантах представления программ. Скорость работы тоже впечатляла: на IBM PC XT программа выполнялась со скоростью 1500 кон­кретизации в секунду! Семантика РЕФАЛа как декларативного языка позволила также получить очень хорошие тестовые результаты при реализации на параллельных компьютерах.

Однако по ряду причин судьба этого языка сложилась несчастливо. В. Турчин уехал из России, и на некоторое время РЕФАЛ был предан забвению. Однако энтузиасты компьютерного дела продолжали совер­шенствовать язык, и на сегодняшний день имеются две версии: РЕФАЛ-5 и РЕФАЛ+. Синтаксис языка сблизился с C++ и поддерживает объект­ную идеологию. Объектно-ориентированное программирование выра­жено в представлении функций языка как объектов, которые можно использовать в качестве образцов наравне со стандартными объектами C++, что превращает РЕФАЛ в очень мощную открытую систему про­граммирования. Сегодня последние версии языка реализованы на самых разли платформах. В Институте прикладной математики (ИПМ) РАН i ботан транслятор с РЕФАЛа для .R/SC-архитектур. При реализации ряда алгоритмов он позволяет получать выигрыш примерно в 5 ] сравнению с результатами известных западных фирм, использу) другие языки. При реализации РЕФАЛа на спецпроцессоре выи еще больше.

Сегодня РЕФАЛ прочно занимает свою нишу, не опасаясь никаки: курентов. Например, он успешно используется физиками Обн] при реализации аналитических преобразований, а также мне математическими центрами России. Одно из основных приме! РЕФАЛа — разработка трансляторов с языков программиров; когда сам РЕФАЛ используется как метаязык. В ИПМ на нем был быстро написан высокоэффективный транслятор CERN Fortran.

Благодаря тому что РЕФАЛ был разработан в нашей стране, не об его вниманием и военные. Для современной боевой техники не] требуется быстро модифицировать средства разработки, делая и: кватными растущим возможностям электроники. РЕФАЛ подде вает создание быстро совершенствующихся узкоспециализирова языков программирования.

Наконец, еще одна интересная область, где используется РЕФА это искусственный интеллект. Здесь РЕФАЛ применяется и как к ное средство разработчика, и как инструмент для создания яз представления знаний, ориентированных на конкретные области менения в искусственном интеллекте. Одним из фундаментал направлений, позволяющих эффективно использовать мощь РЕФ является анализ естественных языков. С помощью РЕФАЛа соз лингвистические процессоры, экспертные системы и многое друго одном из проектов оптимизации исходных текстов программ на РЕ<5 в качестве языка, осуществляющего необходимые преобразование стов, был взят сам РЕФАЛ.

В 80-е годы американцы были серьезно озабочены японским прое компьютеров пятого поколения, опасаясь появления конкуре] сфере компьютерных технологий. Однако язык Пролог, выбранЕ качестве базового для машины вывода систем пятого поколени оправдал ожиданий, возможно потому, что его система логичес вывода обладает рядом ограничений. А РЕФАЛ, имеющий в своей 0( мощную математическую модель, существенно превосходящую лог, вполне мог удовлетворить требованиям японской системы. Поз можно надеяться, что если мы доживем до реализации подобного екта компьютеров нового поколения в России, то в качестве базе языка будет выбран именно РЕФАЛ.

Пишется на чем угодно — разрабатывается только в Visual Studio

Существует еще как минимум с десяток не менее популярных языков программирования, по различным причинам не упомянутых в данной книге, хотя вполне этого заслуживающих. Так, одним из сценарных языков, завоевавших большую популярность в России, безусловно является РНР. Буквально за считанные годы набрал известность раз­работанный в Microsoft язык С#, напоминающий Java. Распростра­ненная Интернет-технология Flash также содержит встроенный режим программирования. Кроме того, в немалом количестве отечественных систем автоматизации имеются собственные внутренние сценарные языки. Например, должность «программист 1C» уже стала фактиче­ским стандартом.

Интересную возможность объединения множества языков программи­рования в одной оболочке предложила корпорация Microsoft. Посмот­рим, какие новые языки она предлагает разработчикам.

Несколько лет назад корпорациямicrosoft выпустила бета-версию среды разработки Visual Studio.NET, в которой реализована идея общего язы­кового окружения (Common Language Runtime, CLR). Коммерческая версия должна появиться в 2003 году. Тексты программ на различных языках программирования должны транслироваться не в команды про­цессора, а в промежуточный байт-код на языке MSIL (просматривается четкая аналогия с технологией Java, основным конкурентом системы Windows). Это дает разработчикам ряд несомненных удобств, например доступ к общей библиотеке стандартных классов. На уровне CLR реали­зованы поддержка объектной технологии, сборка мусора, проверка безопасности, многопотоковость, вызов удаленных процедур и другие функции.

Одно из важнейших достоинств идеи CLR — возможность создания про­грамм, написанных на разных языках программирования, а также раз­работки и отладки приложений в единой оболочке Visual Studio.NET. В стандартный комплект поставки Microsoft войдут, по всей види­мости, языки С#, C++ и Visual Basic.NET. Кроме того, корпорация Microsoft предложила ряду компаний реализовать их собственные рас­ширения Visual Studio.NET для других языков программирования. Это такие достаточно известные языки, как Smalltalk, Component Pascal, Oberon, Perl, Fujitsu COBOL (его рекомендовал к переносу на .NET сам Билл Гейтс), а также целый ряд менее известных, но во многих случаях гораздо более полезных языков. Хочется надеяться, что выпуск их ../У-ЕТ-версий принесет им заслуженную популярность.

Среди языков, готовящихся к ../УЕТ-реализации, немало языков ( ционального программирования. Они отличаются от обычных, п дурных (императивных) языков тем, что написанная на них про ма — это не линейная последовательность операторов, а выраж Вместо механического выполнения, производится вычисление жения с активным использованием рекурсии, методов сопоставь с образцом и т. д. При этом обычно требуется достаточно мощное и нительное ядро, реализующее сложные алгоритмы поддержки bi лений. Классический пример такого языка — Лисп.

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

Операторы SQL делают, что надо получить от базы данных (программист просто пишет команду «дайте мне данные, связанные таким-то образом»), но не уточняют, как их получить — эта задача возлагается на сервер базы данных.

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

Haskell

Это функциональный язык со строгой типизацией, базирующий лямбда-исчислениях (как Лисп). Он обладает прозрачной для программиста семантикой. Язык Haskell (www.haskell.org) создавался для повышения производительности работы программистов при создании больших систем. Как показал опыт таких компаний, как Ericsson ( язык Haskell применялся при разработке телекоммуникационных приложений) и Software AG (на языке Haskell написана экспертная Natural Expert), скорость создания программного обеспечения возрастала в 9-25 раз по сравнению с аналогичными проектами, где использовались C/C++.

Отличительная особенность языка Haskell — возможность использования собственного синтаксиса для формального описания требований к проекту, что позволяет безболезненно переходить от проектированию к программированию. Этот язык дает возможность писать простой, краткий и наглядный код, обеспечивая несложными средствами инкапсуляцию и полиморфизм. Так, рекурсивное описание процедуры быстрой сортировки занимает всего пять строчек. Использовать такую про­цедуру можно с данными любых типов, допускающих сравнение.

Все задачи управления памятью возлагаются на исполняющую среду. Программисту не надо заботиться о выделении и освобождении динами­ческой памяти. Кроме того, среда реализует так называемое «ленивое вычисление»: в ходе выполнения программы происходит вычисление только тех данных, которые реально запрашиваются. Например, вычи­сление параметров процедуры, заданных в виде выражений, выполня­ется только в том случае, если в ходе выполнения процедуры происхо­дит обращение к ним.

К недостаткам языка Haskell следует отнести повышенные требования к памяти (из-за рекурсии) и не очень высокое быстродействие. Впрочем, последняя версия Haskell 98 отличается неплохими показателями.

К переносу на платформу .NET готовится облегченная версия языка Haskell под названием Mondrian (www.mondrian-script.org). По синтаксису этот язык напоминает Си и Java.

Scheme

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

Тип файла
Документ
Размер
487,5 Kb
Тип материала
Высшее учебное заведение

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

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