Лисп

  • Лисп (LISP, от англ. LISt Processing language — «язык обработки списков»; современное написание: Lisp) — семейство языков программирования, программы и данные в которых представляются системами линейных списков символов. Лисп был создан Джоном Маккарти для работ по искусственному интеллекту и до сих пор остаётся одним из основных инструментальных средств в данной области. Применяется он и как средство обычного промышленного программирования, от встроенных скриптов до веб-приложений массового использования, хотя популярным его назвать нельзя.

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

    Традиционный Лисп имеет динамическую систему типов. Язык является функциональным, но начиная уже с ранних версий обладает также чертами императивности, к тому же, имея полноценные средства символьной обработки, позволяет реализовать объектно-ориентированность; примером такой реализации является платформа CLOS.

    Является языком системного программирования для так называемых лисп-машин, производившихся в 1980-е годы, например, фирмой Symbolics.

    Наряду с языком Ада, Лисп прошёл процесс фундаментальной стандартизации для использования в военном деле и промышленности, в результате чего появился диалект Common Lisp, впоследствии стандартизованный ANSI. Его реализации существуют для большинства платформ.

Источник: Википедия

Связанные понятия

Язык программи́рования — формальный язык, предназначенный для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, определяющих внешний вид программы и действия, которые выполнит исполнитель (обычно — ЭВМ) под её управлением.
Клу (англ. Clu, CLU) — объектно-ориентированный язык программирования, одним из первых реализовавший концепцию абстрактных типов данных и парадигму обобщённого программирования. Создан группой учёных Массачусетского технологического института под руководством Барбары Лисков в 1974 году, широкого применения в практике не нашёл, однако многие его элементы использованы при создании таких языков, как Ада, C++, Java, Sather, Python, C#.
А́да (Ada) — язык программирования, созданный в 1979—1980 годах в ходе проекта Министерством обороны США с целью разработать единый язык программирования для встроенных систем (то есть систем управления автоматизированными комплексами, функционирующими в реальном времени). Имелись в виду прежде всего бортовые системы управления военными объектами (кораблями, самолётами, танками, ракетами, снарядами и т. п.). Перед разработчиками не стояло задачи создать универсальный язык, поэтому решения, принятые...
Прогресс компьютерных технологий определил процесс появления новых разнообразных знаковых систем для записи алгоритмов языков программирования. Смысл появления такого языка — упрощение программного кода.

Подробнее: История языков программирования
Бе́йсик (BASIC, сокращение от англ. Beginner’s All-purpose Symbolic Instruction Code — универсальный код символических инструкций для начинающих) — семейство высокоуровневых языков программирования.
Объе́ктно-ориенти́рованное программи́рование (ООП) — методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определённого класса, а классы образуют иерархию наследования.
Форт (англ. Forth) — один из первых конкатенативных языков программирования, в котором программы записываются последовательностью лексем («слов» в терминологии языка Форт). Математические выражения представляются постфиксной записью при использовании стековой нотации. Поддерживает механизмы метарасширения семантики и синтаксиса языка для адаптации к нужной предметной области. Синтаксис базового уровня в Форте прост и состоит из единственного правила: «все определения разделяются пробелами». Определения...
Языково-ориентированное программирование (ЯОП) (англ. Language Oriented Programming), также Расходящаяся разработка (англ. middle out development), также метаязыковая абстракция, также Разработка, опирающаяся на предметно-специфичный язык (англ. DSL-Based Development) — парадигма программирования, заключающаяся в разбиении процесса разработки программного обеспечения на стадии разработки предметно-ориентированных языков (DSL) и описания собственно решения задачи с их использованием. Стадии могут...
Паска́ль (англ. Pascal) — один из наиболее известных языков программирования, используется для обучения программированию в старших классах и на первых курсах вузов, является основой для ряда других языков.
Язык описания аппаратуры (HDL от англ. hardware description language) — специализированный компьютерный язык, используемый для описания структуры и поведения электронных схем, чаще всего цифровых логических схем.
Структу́рное программи́рование — парадигма программирования, в основе которой лежит представление программы в виде иерархической структуры блоков.
Процедурно-ориентированный алгоритмический язык программирования высокого уровня АЛГЭМ (Алгоритмы Экономические и Математические) предназначался его создателем Анатолием Ивановичем Китовым для программирования большого класса информационно-логических задач, прежде всего экономических. Первая версия АЛГЭМа была создана А. И. Китовым в НИИ автоматической аппаратуры МРП, в котором в середине 1960-х годов он работал зам.дирекотора по научной работе (одновременно выполняя обязанности начальника ГВЦ МРП...
Структура данных (англ. data structure) — программная единица, позволяющая хранить и обрабатывать множество однотипных и/или логически связанных данных в вычислительной технике. Для добавления, поиска, изменения и удаления данных структура данных предоставляет некоторый набор функций, составляющих её интерфейс.
Алго́л (англ. Algol от англ. algorithmic — алгоритмический и англ. language — язык) — название ряда языков программирования, применяемых при составлении программ для решения научно-технических задач на ЭВМ. Разработан комитетом по языку высокого уровня IFIP в 1958—1960 годах (Алгол 58, Алгол 60). Кардинально переработан в 1964—1968 годах (Алгол 68). Один из первых языков высокого уровня. Был популярен в Европе, в том числе в СССР, в качестве как языка практического программирования, так и академического...
Фокал (Focal, акроним от англ. formula calculator) — интерпретируемый язык программирования высокого уровня, переработка языка JOSS.
Встроенный язык программирования 1С:Предприятие — язык программирования, который используется в семействе программ «1С:Предприятие». Данный язык является интерпретируемым языком высокого уровня. Интерпретация текста программного модуля в байт-код выполняется в момент обращения к этому модулю в процессе работы, таким образом обычно интерпретируется только часть текстов программных модулей (в версиях 7.7 и старше). Начиная с версии 8.2 модули компилируются.
Транзакционная память (англ. Transactional memory, TM) — технология синхронизации общей памяти для конкурирующих потоков, позволяющая им выполнять операции сохранения, которые воспринимаются другими потоками как атомарные. Эта технология упрощает параллельное программирование, выделяя целые группы различных инструкций в атомарные транзакции. Конкурирующие потоки работают параллельно, пока не начинают модифицировать одну и ту же область памяти.
Метод Даффа (англ. Duff's device) в программировании — это оптимизированная реализация последовательного копирования, использующая ту же технику, что применяется для размотки циклов. Первое описание сделано в ноябре 1983 года Томом Даффом (англ. Tom Duff), который в то время работал на Lucasfilm. Пожалуй, это самое необычное использование того факта, что в языке Си инструкции внутри блока switch выполняются «насквозь» через все метки case.
Интегри́рованная среда́ разрабо́тки, ИСP (англ. Integrated development environment — IDE), также единая среда разработки, ЕСР — комплекс программных средств, используемый программистами для разработки программного обеспечения (ПО).
В информатике типобезопасность (англ. type safety) языка программирования означает безопасность (или надёжность) его системы типов.
Ло́го (англ. Logo) — язык программирования высокого уровня, разработанный в 1967 году Уолли Фёрзегом, Сеймуром Пейпертом и Синтией Соломон в образовательных целях для обучения детей дошкольного и младшего школьного возраста основным концепциям программирования (рекурсии, расширяемости и пр.).
Модель базы данных — тип модели данных, которая определяет логическую структуру базы данных и принципиально определяет, каким образом данные могут быть сохранены, организованы и обработаны. Наиболее популярным примером модели базы данных является реляционная модель, которая использует табличный формат.
Мета-объектное средство (MOF, Meta-Object Facility) — это стандарт для разработки, управляемой моделями, разработанный OMG.
Инструментальная мобильная операционная система, ИНМОС — операционная система, разработанная в 1983—1985 годах. Эта система является адаптацией ОС UNIX для советских вычислительных машин (прежде всего для семейства СМ ЭВМ, позднее для ПЭВМ Искра-1030).

Подробнее: ИНМОС
Таблица виртуальных методов (англ. virtual method table, VMT) — координирующая таблица или vtable — механизм, используемый в языках программирования для поддержки динамического соответствия (или метода позднего связывания).
Архитектура фон Неймана (модель фон Неймана, Принстонская архитектура) — широко известный принцип совместного хранения команд и данных в памяти компьютера. Вычислительные машины такого рода часто обозначают термином «машина фон Неймана», однако соответствие этих понятий не всегда однозначно. В общем случае, когда говорят об архитектуре фон Неймана, подразумевают принцип хранения данных и инструкций в одной памяти.
Линеа́л (сокращение «Линейная алгебра») — база знаний по линейной алгебре, созданная под руководством В. В. Воеводина.
Параллельные вычислительные системы — это физические компьютерные, а также программные системы, реализующие тем или иным способом параллельную обработку данных на многих вычислительных узлах.Например, для быстрой сортировки массива на двухпроцессорной машине можно разделить массив пополам и сортировать каждую половину на отдельном процессоре. Сортировка каждой половины может занять разное время, поэтому необходима синхронизация.
Снобо́л — язык программирования высокого уровня, разработанный в 1962—1967 годах и предназначенный преимущественно для обработки текстовых данных.
Дружелюбный русский алгоритмический язык, который обеспечивает наглядность (сокр. ДРАКОН) — визуальный алгоритмический язык программирования и моделирования (см. также: UML).

Подробнее: ДРАКОН
Функциональный дизайн (англ. Functional design) — основной шаблон проектирования, использующийся для упрощения проектирования ПО. Функциональный дизайн гарантирует, что каждый модуль компьютерной программы имеет только одну обязанность и исполняет её с минимумом побочных эффектов на другие части программы. Функционально разработанные модули имеют низкое зацепление.

Подробнее: Шаблон функционального дизайна
Компью́тер (англ. computer, МФА: — «вычислитель») — устройство или система, способная выполнять заданную, чётко определённую, изменяемую последовательность операций. Это чаще всего операции численных расчётов и манипулирования данными, однако сюда относятся и операции ввода-вывода. Описание последовательности операций называется программой.
Шаблон проектирования или паттерн (англ. design pattern) в разработке программного обеспечения — повторяемая архитектурная конструкция, представляющая собой решение проблемы проектирования в рамках некоторого часто возникающего контекста.
Аспектно-ориентированная разработка программного обеспечения — развивающаяся технология разработки программного обеспечения, которая ищет новые способы разбиения на модули программного обеспечения, чтобы изолировать вторичные или вспомогательные функции от бизнес-логики основной программы. АОРПО позволяет реализовать отдельно различные проблемы и автоматически объединять их в работоспособные системы.
В программировании сборка мусора (англ. garbage collection) — одна из форм автоматического управления памятью. Специальный процесс, называемый сборщиком мусора (англ. garbage collector), периодически освобождает память, удаляя объекты, которые уже не будут востребованы приложениями.
Планкалкюль (нем. Plankalkül — исчисление планов), — первый в мире высокоуровневый язык программирования, созданный немецким инженером Конрадом Цузе в 1943—1945 году и впервые опубликованный в 1948 году. В переводе на русский это название соответствует выражению «планирующее исчисление».
Лисп-машина — универсальная вычислительная машина, архитектура которой оптимизирована для эффективного выполнения программ на языке Лисп.
Исто́рия информацио́нных техноло́гий берёт своё начало задолго до возникновения современной дисциплины информатика, появившейся в XX веке. Информационные технологии (ИТ) связаны с изучением методов и средств сбора, обработки и передачи данных с целью получения информации нового качества о состоянии объекта, процесса или явления.
Клэйтро́ника — абстрактная концепция будущего, состоящая в объединении наномасштабных роботов и информатики с целью создания индивидуальных компьютеров атомных размеров, называемых клэйтронными атомами или к-атомами. Они могут вступать в контакт друг с другом и создавать материальные 3-D объекты, с которыми может взаимодействовать пользователь. Эта идея входит в более общую идею создания программируемой материи. Многочисленные исследования и эксперименты с клэйтроникой проводятся группой учёных в...
Повторное использование кода (англ. code reuse) — методология проектирования компьютерных и других систем, заключающаяся в том, что система (компьютерная программа, программный модуль) частично либо полностью должна составляться из частей, написанных ранее компонентов и/или частей другой системы, и эти компоненты должны применяться более одного раза (если не в рамках одного проекта, то хотя бы разных). Повторное использование — основная методология, которая применяется для сокращения трудозатрат...
Мо́дульное программи́рование — это организация программы как совокупности небольших независимых блоков, называемых модулями, структура и поведение которых подчиняются определённым правилам. Использование модульного программирования позволяет упростить тестирование программы и обнаружение ошибок. Аппаратно-зависимые подзадачи могут быть строго отделены от других подзадач, что улучшает мобильность создаваемых программ.
Предметно-ориентированное проектирование (реже проблемно-ориентированное, англ. Domain-driven design, DDD) — это набор принципов и схем, направленных на создание оптимальных систем объектов. Сводится к созданию программных абстракций, которые называются моделями предметных областей. В эти модели входит бизнес-логика, устанавливающая связь между реальными условиями области применения продукта и кодом.
Блокли (англ. Blockly) — это библиотека для создания среды визуального программирования, которая может быть встроена в произвольное веб-приложение. Блокли включает в себя графический редактор, позволяющий составлять программы из блоков, и генераторы кода для подготовки исполнения программы в среде веб-приложения.
Операцио́нная систе́ма, сокр. ОС (англ. operating system, OS) — комплекс взаимосвязанных программ, предназначенных для управления ресурсами компьютера и организации взаимодействия с пользователем.
Архитектура программного обеспечения (англ. software architecture) — совокупность важнейших решений об организации программной системы. Архитектура включает...
Веб-шаблон является инструментом для отделения содержимого от визуального представления в веб-дизайне, для массового создания веб-документов.
а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ э ю я