Реферат: История языка программирования Lisp - текст реферата. Скачать бесплатно.
Банк рефератов, курсовых и дипломных работ. Много и бесплатно. # | Правила оформления работ | Добавить в избранное
 
 
   
Меню Меню Меню Меню Меню
   
Napishem.com Napishem.com Napishem.com

Реферат

История языка программирования Lisp

Банк рефератов / Программирование

Рубрики  Рубрики реферат банка

закрыть
Категория: Реферат
Язык реферата: Русский
Дата добавления:   
 
Скачать
Архив Zip, 23 kb, скачать бесплатно
Заказать
Узнать стоимость написания уникального реферата

Узнайте стоимость написания уникальной работы

На тему: История языка программирования Lisp Содержание 1.Введение 2. Особенности диалектов языка Лисп. a) Маклисп b) муЛисп. c) Интерлисп. d) Франс Лисп. e) Зеталисп Лисп-ма шин. f) Коммон Лисп. 3.Заключение. Язык Лисп был разработан в Стэн форде под руководством Дж. Маккарти в начале 60-х годов. По первоначальным замыслам он должен был включать наряду со всеми возможностями Фортрана средства работы с матрицами, указателями и структурами из указателей и т . п. Но для такого проекта не хватило средств. Окончательно сформированны е принципы, положенные в основу языка Лисп: использование единого списко вого представления для программ и данных; применение выражений для опре деления функций; скобочный синтаксис языка. Аббревиатура LISP расшифровывается как LIST PROCCESSOR или по-русски: обработ чик списков. Лисп является языком низкого уровня, его можно рассматриват ь как ассемблер, ориентированный на работу со списковыми структурами. По этому на протяжении всего существования языка было много попыток его ус овершенствования за счет введения дополнительных базисных примитивов и управляющих структур. Но все эти изменения, как правило, не становились самостоятельными языками. В новых своих редакциях Лисп быстро усваивал все ценные изобретения своих конкурентов. Из-за своего экспериментального акцента на символьной обрабо тке, Лисп был сначала очень неэффективным для цифровых вычислений, по кр айней мере, по сравнению с Fortran. Лисп преодолел свою старую репутацию как бе знадежно неэффективный, Лисп теперь использован во многих приложениях, где эффективность не является центральным действием. Например, Лисп ста л языком выбора для оболочек операционной системы и для расширения язык ов, для редактирования систем и автоматизированного проектирования. Ли сп, - второй старший язык в широко распространенном использовании сегодн я (только Fortran более стар), который непрерывно приспосабливается, чтобы охв атывать наиболее современные идеи о программировании. После создания в на чале 70-х годов мощных Лисп-систем были попытки создания языков ИИ, отличны х от Лиспа, но на той же основе. Дальнейшее развитие языка идет, с одной сто роны, по пути его стандартизации (Стандарт-Лисп, Франц-Лисп, Коммон Лисп), а с другой - в направлении создания концептуально новых языков для предста вления и манипулирования знаниями в Лисп среде. В настоящее время Лисп р еализован на всех классах ЭВМ, начиная с ПЭВМ и кончая высоко производит ельными вычислительными системами. Особенности д иалектов языка Лисп. Маклисп. Кроме символьной обработки Маклисп широко использо вался в традиционных числовых вычислениях, применяемых, например, в обра ботке речи и изображений. Кроме исследователей ИИ и разработчиков алгеб раической системы Максима на Маклисп оказали влияние и работы групп в МИ Т по робототехнике, обработке речи и изображений. Исходя из требований, п редъявляемых этими областями, в Маклисп были включены новые математиче ские типы данных, такие как матричная и битовая обработка, а также широки й набор арифметических функций и средств. Быть может, важнейшая из них - во зможность вычислений с неограниченной точностью, основывающаяся на со зданных Кнутом (1969) алгоритмах. Маклисп был также первой Лисп-системой для которой создан хороший транс лятор. Транслятор генерирует машинную программу в форме списков. Машинн ый код в виде списка легко обрабатывать и результирующий код для числовы х задач получался эффективнее, чем у лучших фортрановских трансляторов. Однако большую часть своих свойств Маклисп приобрел под влиянием стоящ их перед исследователями ИИ проблем и накопленного опыта. Так в язык поп али макросы чтения и таблицы чтения, позволяющие легко изменять и расшир ять структуру языка. Таким же образом из требований к программам и окруж ению возникли управляющие структуры, механизмы обработки прерываний и ошибок, а также использование управляющих символов, создан и интегриров ан в систему экранный редактор, появились управление и взаимодействие п араллельных процессов. Основное внимание разработчики Маклиспа сосредоточили на эффективнос ти. Этому служат указания, уточняющие способы обработки аргументов функ ций, а также экранирование от вмешательства программиста внутренних ме ханизмов системы. За счет этих мер скорость работы Маклиспа в 1.5-2.5 раза выш е, чем Интерлисп. Всего в Маклиспе используется около 400 функций. Самым большим недостатко м системы является то, что ее никогда не документировали должным образом . Документация по этой системе разбросана по различным отчетам и руковод ствам. Маклисп был исследовательской системой и не предназначался для о бучения и промышленного использования. муЛисп. Интерпретатор Мулисп-85, разработанный для ПЭВМ серии IBM PC - удачный вариант реализации диалекта языка, включающий сравнительно ограниченный набор базовых функций (около 260) и оказавшийся вследствие этого более простым для изучени я. По сравнению с Коммон Лиспом диалект муЛисп не имеет такого широкого спе ктра доступных типов данных. В нем обеспечивается работа только с двумя типами числовой информации: целыми числами с любым основанием и рациона льными. В диалекте отсутствуют средства работы со структурами, массивам и, потоками и другими типами данных, указанная реализация языка Лисп име ет одно существенное преимущество - возможность пополнения базового на бора функций путем подключения подпрограмм, написанных на языке ассемб лера, что позволило повысить гибкость использования интерпретатора и э ффективность прикладного программного обеспечения, создаваемого на ег о основе. Возможность такого пополнения отсутствует в большинстве друг их Лисп-систем, являющихся в этом смысле замкнутыми программными продук тами. Среди других, вероятно, менее существенных, особенностей системы можно у казать на реализацию специального механизма, позволяющего не заботить ся о присваивании начальных значений литеральным атомам, получающих из начальное значение, равное «печатному» имени самого атома. Еще одной осо бенностью диалекта является возможность использования новой синтакси ческой конструкции «встроенный COND», существенно сокращающей тексты опи саний функций пользователя и применяемой при записи тел функций и лямбд а-выражений. Набор базовых функций муЛисп-интерпретатора включает ряд функций, обеспечивающих доступ практически ко всем функциям ОС ЭВМ ч ерез соответствующие прерывания. Наконец, указанная Лисп-система обесп ечивается библиотеками Лисп-функций, дополняющими базовый набор функц иями, имеющимися в диалектах Коммон Лисп и Интерлисп, что облегчает реше ние проблемы переносимости исходных текстов программных модулей, а так же библиотеками, позволяющими выполнять манипулирование окнами на экр ане дисплея и обрабатывать управляющие воздействия через устройство т ипа «мышь». В комплект дополнительного программного обеспечения к инте рпретатору входят интерактивный редактор текстов и простая обучающая система, написанные на диалекте языка муЛисп. Интерлисп. Интерлисп появился в 1972 году из ББН-Лиспа. К 1978 году, когда в ышло описание Интерлиспа, язык и система уже достаточно стабилизировал ись. Интерлисп уже не был языком в том же смысле, что и Маклисп или другие Л исп - системы или обычные традиционные системы программирования. Он пред ставлял собой интегрированную среду программирования, в которую вошло множество различных вспомогательных средств. Интерлисп стал классичес ким примером хорошо развитых программных средств и средств в системах р азделения времени. Этот диалект наряду с Коммон Лиспом один из наиболее распространенных, и меет достаточно развитый аппарат представления и манипулирования разл ичными структурами данных, включая массивы. Среди общих особенностей да нного варианта языка следует отметить использование для обозначения в строенных функций нетрадиционных имен, что порой затрудняет перенос го товых программных продуктов на другие диалекты и другие ЭВМ. В 1974 году Xerox начала разработку для Интерлиспа персональной лисповской раб очей станции под названием Alto. В реализации Лиспа для Alto впервые применили спроектированную специально для языка Лисп микропрограммируемую сист ему команд и мини-ЭВМ, способную с более высокой производительностью, че м универсальные ЭВМ, интерпретировать лисповские программы. Из этой маш ины Alto впоследствии развились Лисп-машины серии 1100 фирмы Xerox. На основе версии Интерлиспа, работавшей в системе разделения времени, бы ла создана совместимая снизу вверх версия Лиспа Интерлисп-де, используе мая на Лисп-машинах серии 1100. В ее пользовательский интерфейс входили мно гооконное взаимодействие, графика с высокой разрешающей способностью, средства выбора из меню и мышь, а также ориентированный на использование экрана инспектор структур данных. Идея разделения экрана на многие неза висимые окна родилась в XLG. Алан Кэй уже в конце 60-х годов предложил такую ид ею подхода к компьютерам будущего и интерфейсу между человеком и машино й. Работа XLG привела к созданию в 70-х годах к разработке языка программирова ния Smolltalk и объектного программирования. При создании Интерлиспа работа велась весьма тщательно. Система хорошо документирована и более новые версии совместимы с более ранними. Так преимуществом системы стало непрерывно пополняющееся бол ьшое количество переносимого программного обеспечения. С другой сторо ны, ограничение системы старым, заф иксированным уже в конце 70-х годов диалектом сделало систему отчасти уст аревшей и трудно расширяемой. В Интерлиспе среди прочего отсутствуют ие рархические типы данных, объекты и замыкания. К тому же он базируется на д инамическом связывании, тогда как новые версии Лиспа - статические. Одна ко из Интерлиспа берет начало новая версия - Коммон Лисп (1986). Для программи рования на более высоком уровне в Интерлисп разработаны такие средства, в которых уже присутствовали объекты. Интерлисп - столь замкнутая система, что доступна тольк о ее оттранслированная версия в машинных кодах. В некоторых других систе мах, таких как, например Зеталисп, поддерживается версия Лиспа на исходн ом языке, которая доступна пользователю и может модифицироваться им. Раз витие закрытых систем, похожих на Интерлисп, связано с ресурсами, имеющи мся у создавших их лабораторий. Интерлисп использует свыше 500 функций и большое количество системных им ен и флажков, с помощью которых можно настроить и подогнать систему. Инте рлисп реализован в системе разделения времени на многих больших ЭВМ. В Интерлиспе основное внимание было уделено удобству системы для польз ователя. Главный принцип разработчиков этого диалекта: все, что может им еть место в системе, должно естественно выражаться в терминах ее входног о языка. Поэтому в Интерлисп программисту доступно все. Он может переопр еделять любые, в том числе и встроенные, функции; задавать и переопределя ть реакции на ошибки; работать непосредственно с уровня входного языка с внутренними структурами интерпретатора и т. д. При этом система поддерж ивает свою целостность и работоспособность. Франс Лисп. Маклисп стал основой для многих новых диалектов язык а Лисп, первым из которых был Франс Лисп. Эта версия Лиспа названа в честь известного венгерского композитора. Главным мотивом разработки Франс Лисп было желание получить современную Лисп-систему для новых машин VAX, чт обы на них можно было использовать систему Максима и другое лисповское п рограммное обеспечение. Франс Лисп в довольно большой степени напомина ет Маклисп, на котором первоначально была реализована Максима. Однако в диалекте отсутствуют некоторые устаревшие особенности Маклиспа и соде ржатся более новые системные идеи, заимствованные в то время в MIT Лисп-маш ин для Зеталиспа. Новый диалект был реализован в университете в Беркли н а ЭВМ VAX 780/11 на языке Си под управлением системы UNIX. Франс Лисп довольно широк о используется как под управлением UNIX, так и под управлением VAX/VMS и в настоящ ее время является наиболее часто используемой версией Лиспа для систем разделения времени. Кроме того, он широко используется и на 32-битовых микр о-ЭВМ и рабочих станциях, работающих под управлением UNIX. Благодаря своей хорошей переносимости Франс Лисп получи л распространение во многих университетах и исследовательских учрежде ниях. Сопровождение системы также разошлось в различных исправлениях с истемных ошибок, реализациях наиболее эффективных алгоритмов, а также в расширениях языка. Зеталисп Лис п-машин . Зеталисп также опирается на Маклисп. Он создан в 70-е годы в MIT в рамках проек та Лисп-машины, финансированного оборонным агентством. С самого начала е го целью было изготовление коммерческого продукта. В 1979 году в связи с про ектом родились два предприятия изготавливающие Лисп-машины: Symbolic Inc. и Lisp Machine Inc . (LMI). После этого в 80-е годы работа по развитию Зета Лиспа продолжалась в них независимо друг от друга на коммерческой основе. В какой-то мере системы отличаются друг от друга, но в части Зета Лиспа машины почти совместимы.[2] Зета Лисп содержит следующие развитые механизмы и черты: - широкий выбор типов данн ых; - возможность объектно-ориентирова нного программирования в системе Flavor ; - современные управляющие структур ы, динамические механизмы передачи управления сопрограммы и процессы; - гибкий механизм ключевых слов в лямбда-списке и многозначные ф ункции; - ввод и вывод, основывающийся на потоках; - пространства имен; - уже готовые функции, в том числе дл я сортировки, работы с линейными управлениями и матричные вычисления. Выбор использу емых в среде Зеталиспа инструментов и языков программирования зависит от поставщика, причем предлагаемый набор средств все время расширяется. Среди других языков предлагаются Фортран, Паскаль, Ада и Пролог. Для этих языков в среде Зеталиспа существуют особенно развитые программные окр ужения, и разработанные в них программы можно выполнять вместе с програм мами на Лиспе. Готовые инструменты и прикладные разработки в большом количестве имею тся для работы с ЭС, с естественным языком и речью, с реляционными базами д анных, машинной графики и машинного проектирования. Коммон Лисп. Этот диалект отличается наиболее широким представл ением различных структур данных и включает около 800 встроенных функций. В этом диалекте обеспечиваются средства обработки основных классов числ овой информации: целых, вещественных и комплексных. Символьные данные (л итеры, литеральные атомы, строки) в Коммон Лиспе соответствуют основным возможностям других Лисп-систем. Дополнительно имеются средства обраб отки непечатных литер в символьных именах. Одним из существенных преимуществ диалекта Коммон Лисп является налич ие средств обработки массивов и структур, по своим возможностям не уступ ающих соответствующим средствам традиционных языков программировани я (Фортран, Паскаль). Массивы в Коммон Лиспе могут иметь любое неотрицател ьное число измерений и индексируются последовательностью целых чисел. Тип компонентов массива может быть произвольным. Выделяется подкласс в екторов - одномерных массивов, среди которых отдельно рассматриваются с троки и битовые массивы. Структуры Коммон Лиспа являются типом многокомпонентных записей, опре деляемых пользователем и имеющих именованные компоненты. Встроенное м акроопределение DEFSTRUCT используется для определения структур новых типов. Для создания данных нового типа в виде структуры предусмотрены средств а автоматической генерации набора функций, обеспечивающих средства ма нипулирования объектами этого класса. Удобным средством контроля доступа к различным переме нным и функциям Лисп-программ в Коммон-Лиспе являются пакеты. Пакет - множ ество имен объектов, определенных и доступных в нем. Внутри пакета имена объектов подразделяются на внутренние и внешние. Первые предназначены для использования только внутри данного пакета, а вторые - для обеспечен ия связи с другими пакетами. Лисп-интерпретатор представляет широкий сп ектр средств манипулирования с пакетами. Как правило, Лисп-система имеет в своем составе четыре стандартных пакета: lisp (содержащий примитивы сист емы), user (умалчиваемый пакет прикладных программ и данных пользователя), keyword ( содержащий ключевые слова всех встроенных функций и функций, определяе мых пользователем), system (зарезервированный для системных целей). Значительной переработке и расширению в Коммон Лиспе по дверглись средства ввода-вывода и передачи информации. Для эффективной организации различных обменов с внешней средой введена концепция пото ков, позволяющих осуществлять одно- и (или) двухстороннюю передачу инфор мации. Для потоков предусмотрен набор базовых функций. В диалекте различ ают символьные и двоичные потоки. В первом случае передача осуществляет ся по байтам, а во втором - целыми числами. Кроме стандартных потоков польз ователь имеет возможность создавать и использовать собственные потоки . В дополнение к указанным типам данных Коммон Лисп имеет ряд специфическ их классов объектов: хэш-таблицы, обеспечивающие эффективный способ дос тупа к данным по ключу; READ-таблицы, обеспечивающие управление обработкой информации поступающей из входного потока Лисп-системы, и некоторые дру гие. Такое множество имеющихся в диалекте различных типов данных, с одно й стороны, развеивает существующее ошибочное представление о языке Лис п как о средстве обработки только символьной информации, а с другой - нали чие мощных средств манипулирования типами данных существенно усложняе т его. Этот диалект оставлен открыт: принципиальным является то, что осталась возможность в будущем, когда подойдет время и будет дост игнуто согласие, добавить новые средства и методы. Эта идея как раз соотв етствует духу Лиспа. Коммон Лисп не является готовой программной системой в т ом же смысле, что и Интерлисп, поскольку вопросы среды в основном оставле ны открытыми. В стандарте не определено, каким должен быть редактор или д ругие вспомогательные средства. Сказано лишь в самом общем виде, каким о бразом они вызываются. Для того чтобы обеспечить быстрое развитие, среда и инструментальные средства еще не затронуты стандартизацией, и поэтом у есть возможность создавать различные среды для различных целей. Коммо н Лисп не определяет также и интерфейс пользователя. В Коммон Лисп на современном этапе не включены даже средства объектного программирования, хотя и определены необходимые для этого базовые меха низмы (замыкание и др.). Таким образом, объекты можно реализовать на Лиспе. Но уже ведется работа по стандартизации средств и форм объектного прогр аммирования. В Коммон Лиспе много внимания уделено практическим тре бованиям, и, вероятно, поэтому не все его черты эстетичны и чисты. Несомнен но, что и другие Лисп-системы будут использоваться в дальнейшем, и их такж е необходимо развивать. Коммон Лисп предназначен не только для работы со списками или для символ ьной обработки, он является универсальным языком программирования, вкл ючающим в себя особенно хорошие средства для численных вычислений, упра вления данными и связи. На Коммон Лиспе можно с одинаковым успехом писат ь программы в традиционных операторном, процедурном, фразовом стиле, а т акже и в свойственных Лиспу стилях. В языке содержатся предпосылки для и спользования различных способов и стилей программирования, таких как о ператорное, функциональное, макропрограммирование, программирование, управляемое данными, и продукционное программирование, а также средств а, необходимые для логического и объектного программирования и реализа ции других средств более высокого уровня. Можно смело сказать, что Коммон Лисп содержит почти все, ч то на сегодняшний день могут дать другие известные языки программирова ния, и, кроме того, он предусматривает средства для расширения языка. Современные диалекты языка Лисп мож но рассматривать как мощные интерактивные системы программирования. Э то объясняется двумя причинами. Во-первых, сам язык Лисп претерпевает се рьезные изменения - развиваются средства языка, предназначенные для обр аботки нетрадиционных для Лиспа типов данных: массивов, векторов, матриц ; появляются некоторые средства управления памятью (пакеты), отсутствующ ие в Лиспе. Серьезные изменения претерпевают и управляющие структуры. По явились несвойственные природе языка Лисп функции, заимствованные из Ф ортрана, Алгола, Паскаля, Си: Do, Loop, Goto , Case и прочие, позволяющие пользователю, не знакомому с принципами функциональных языков, легко переходить на Лисп. Качество программ снижается, зато возрастает популярность языка. Во-вто рых, если на первом этапе развития Лисп-системам была присуща небольшая скорость обработки данных и серьезные ограничения на емкость использу емой оперативной памяти, то современные Лисп-системы уже могут сопернич ать по этим параметрам с такими языками, как Си, Паскаль и др. Использовани е Лисп-машин вообще практически снимает ограничения памяти и быстродей ствия.
1Архитектура и строительство
2Астрономия, авиация, космонавтика
 
3Безопасность жизнедеятельности
4Биология
 
5Военная кафедра, гражданская оборона
 
6География, экономическая география
7Геология и геодезия
8Государственное регулирование и налоги
 
9Естествознание
 
10Журналистика
 
11Законодательство и право
12Адвокатура
13Административное право
14Арбитражное процессуальное право
15Банковское право
16Государство и право
17Гражданское право и процесс
18Жилищное право
19Законодательство зарубежных стран
20Земельное право
21Конституционное право
22Конституционное право зарубежных стран
23Международное право
24Муниципальное право
25Налоговое право
26Римское право
27Семейное право
28Таможенное право
29Трудовое право
30Уголовное право и процесс
31Финансовое право
32Хозяйственное право
33Экологическое право
34Юриспруденция
 
35Иностранные языки
36Информатика, информационные технологии
37Базы данных
38Компьютерные сети
39Программирование
40Искусство и культура
41Краеведение
42Культурология
43Музыка
44История
45Биографии
46Историческая личность
47Литература
 
48Маркетинг и реклама
49Математика
50Медицина и здоровье
51Менеджмент
52Антикризисное управление
53Делопроизводство и документооборот
54Логистика
 
55Педагогика
56Политология
57Правоохранительные органы
58Криминалистика и криминология
59Прочее
60Психология
61Юридическая психология
 
62Радиоэлектроника
63Религия
 
64Сельское хозяйство и землепользование
65Социология
66Страхование
 
67Технологии
68Материаловедение
69Машиностроение
70Металлургия
71Транспорт
72Туризм
 
73Физика
74Физкультура и спорт
75Философия
 
76Химия
 
77Экология, охрана природы
78Экономика и финансы
79Анализ хозяйственной деятельности
80Банковское дело и кредитование
81Биржевое дело
82Бухгалтерский учет и аудит
83История экономических учений
84Международные отношения
85Предпринимательство, бизнес, микроэкономика
86Финансы
87Ценные бумаги и фондовый рынок
88Экономика предприятия
89Экономико-математическое моделирование
90Экономическая теория

 Анекдоты - это почти как рефераты, только короткие и смешные Следующий
Западло - это когда за тебя решают западенцы.
Anekdot.ru

Узнайте стоимость курсовой, диплома, реферата на заказ.

Обратите внимание, реферат по программированию "История языка программирования Lisp", также как и все другие рефераты, курсовые, дипломные и другие работы вы можете скачать бесплатно.

Смотрите также:


Банк рефератов - РефератБанк.ру
© РефератБанк, 2002 - 2016
Рейтинг@Mail.ru