Языки программирования - концепции и принципы

Три основные команды языка Lisp


   Три основные команды языка Lisp — это car(L) и cdr(L), которые извлека­ют, соответственно, начало и конец списка L, и cons(E, L), которая создает но­вый список из элемента Е и существующего списка L. Используя эти коман­ды, можно определить функции обработки списков, содержащих нечисловые данные; такие функции было бы довольно трудно запрограммировать на языке Fortran.

Мы не будем больше обсуждать язык Lisp, потому что многие его основополагающие идеи были перенесены в современные функциональные языки программирования типа ML, который мы обсудим в гл. 16.

 

 

 

 

 

APL

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

   Предположим, что задана векторная переменная:

V= 1 5 10 15 20 25

   Операторы языка APL могут работать непосредственно с V без записи цик­лов с индексами:

+ /V      =76 Свертка сложением(суммирует элементы)

 фV        =   25 20 15 10 5 1          Обращает вектор

2 3 pV  =        1        5    10 Переопределяет размерность

                 V 15      20    25            как матрицу 2x3

Векторные и матричные сложения и умножения также можно выполнить непосредственно над такими переменными.

Snobol, Icon

    Первые языки имели дело практически только с числами.

Содержание  Назад  Вперед