Читаем От абака к цифровой революции полностью

Абстракция и объекты применяются во всех языках программирования, появившихся в последние годы, как в объектно-ориентированных языках, например Java или Python, так и в процедурных, где используются объектно-ориентированные конструкции, например в языке РНР. Также появились языки, ориентированные на быструю разработку приложений, и сценарные языки. К ним относятся РНР и JavaScript, разработанные в последнее десятилетие XX века. Целью авторов этих языков было упростить и ускорить разработку программ. Разумеется, для небольших программ этого действительно удалось достичь, однако по сравнению с языками прошлого проектирование крупномасштабных программ усложнилось. Как бы то ни было, влияние объектно-ориентированных языков на разработку программ привело к появлению новых вспомогательных средств, например языков моделирования, подобных UML.

Функциональная парадигма

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

Функциональные языки впервые были описаны Джоном Маккарти из MIT (Массачусетского технологического института), создателем термина «искусственный интеллект», в работе, опубликованной в 1960 году в журнале Communications of the ACM. Этот ежемесячный журнал выпускается американской Ассоциацией вычислительной техники (ACM) — обществом, присуждающим премию Тьюринга.

В 1958 году Маккарти изучал использование операций с упорядоченными списками в программе символьного дифференцирования. Дифференцирование — это рекурсивный процесс, поэтому Маккарти использовал рекурсивные функции. Более того, он передавал функции в качестве аргументов другим функциям. Проект по реализации задуманного им языка начался осенью того же года. Результаты были опубликованы спустя два года под названием «Рекурсивные функции над символьными выражениями и их вычисление с помощью машины. Часть I» (часть II никогда не была опубликована). Так появилась первая версия языка LISP (англ. List Processing — «обработка списков») — первого функционального языка, в котором нашло применение множество передовых идей. В описании разработанного им языка Маккарти использовал лямбда-исчисление Алонзо Чёрча.

Джон Маккарти, создатель термина «искусственный интеллект». Стэндфордский университет, 1980 год.

* * *

ЛЯМБДА-ИСЧИСЛЕНИЕ

Эта система была разработана Алонзо Чёрчем и Стивеном Клини в начале 1930-х годов. Ее возможности были эквивалентны возможностям машины Тьюринга, но основной принцип лямбда-исчисления был иным. С формальной точки зрения в лямбда-исчислении используются выражения и правила преобразования выражений, которые моделируют использование функций и вычислений. Рассмотрим в качестве примера определение истинности и ложности:

истина: λху. х

ложь: λху. у.

Логическая функция «И» определяется так:

И: λpq.p q р.

Чтобы найти значение выражения «истина ложь», заменим каждый член этого выражения его эквивалентом с точки зрения лямбда-исчисления:

(λpq.p q р) (λху. х) (λху. у).

Применив правила записи, получим выражение (λху. у), что, как мы уже говорили, эквивалентно значению «ложь». Числа и операции с числами определяются аналогично.

* * *

В языке LISP данные и программы представляются одинаковым образом. Основной парадигмой этого языка является рекурсия, что позволяет избежать нежелательных побочных эффектов императивного программирования. В этом языке также были введены условные выражения и префиксная (польская) нотация Яна Лукасевича.

* * *

Перейти на страницу:

Все книги серии Мир математики

Математики, шпионы и хакеры
Математики, шпионы и хакеры

Если бы историю человечества можно было представить в виде шпионского романа, то главными героями этого произведения, несомненно, стали бы криптографы и криптоаналитики. Первые — специалисты, виртуозно владеющие искусством кодирования сообщений. Вторые — гении взлома и дешифровки, на компьютерном сленге именуемые хакерами. История соперничества криптографов и криптоаналитиков стара как мир.Эволюционируя вместе с развитием высоких технологий, ремесло шифрования достигло в XXI веке самой дальней границы современной науки — квантовой механики. И хотя объектом кодирования обычно является текст, инструментом работы кодировщиков была и остается математика.Эта книга — попытка рассказать читателю историю шифрования через призму развития математической мысли.

Жуан Гомес

Математика / Образование и наука
Когда прямые искривляются
Когда прямые искривляются

Многие из нас слышали о том, что современная наука уже довольно давно поставила под сомнение основные постулаты евклидовой геометрии. Но какие именно теории пришли на смену классической доктрине? На ум приходит разве что популярная теория относительности Эйнштейна. На самом деле таких революционных идей и гипотез гораздо больше. Пространство Минковского, гиперболическая геометрия Лобачевского и Бойяи, эллиптическая геометрия Римана и другие любопытные способы описания окружающего нас мира относятся к группе так называемых неевклидовых геометрий. Каким образом пересекаются параллельные прямые? В каком случае сумма внутренних углов треугольника может составить больше 180°? Ответы на эти и многие другие вопросы вы найдете в данной книге.

Жуан Гомес

Математика / Образование и наука

Похожие книги

Простая одержимость
Простая одержимость

Сколько имеется простых чисел, не превышающих 20? Их восемь: 2, 3, 5, 7, 11, 13, 17 и 19. А сколько простых чисел, не превышающих миллиона? Миллиарда? Существует ли общая формула, которая могла бы избавить нас от прямого пересчета? Догадка, выдвинутая по этому поводу немецким математиком Бернхардом Риманом в 1859 году, для многих поколений ученых стала навязчивой идеей: изящная, интуитивно понятная и при этом совершенно недоказуемая, она остается одной из величайших нерешенных задач в современной математике. Неслучайно Математический Институт Клея включил гипотезу Римана в число семи «проблем тысячелетия», за решение каждой из которых установлена награда в один миллион долларов. Популярная и остроумная книга американского математика и публициста Джона Дербишира рассказывает о многочисленных попытках доказать (или опровергнуть) гипотезу Римана, предпринимавшихся за последние сто пятьдесят лет, а также о судьбах людей, одержимых этой задачей.

Джон Дербишир

Математика
Том 22. Сон  разума. Математическая логика и ее парадоксы
Том 22. Сон разума. Математическая логика и ее парадоксы

На пути своего развития математика периодически переживает переломные моменты, и эти кризисы всякий раз вынуждают мыслителей открывать все новые и новые горизонты. Стремление ко все большей степени абстракции и повышению строгости математических рассуждений неминуемо привело к размышлениям об основах самой математики и логических законах, на которые она опирается. Однако именно в логике, как известно еще со времен Зенона Элейского, таятся парадоксы — неразрешимые на первый (и даже на второй) взгляд утверждения, которые, с одной стороны, грозят разрушить многие стройные теории, а с другой — дают толчок их новому осмыслению.Имена Давида Гильберта, Бертрана Рассела, Курта Гёделя, Алана Тьюринга ассоциируются именно с рождением совершенно новых точек зрения на, казалось бы, хорошо изученные явления. Так давайте же повторим удивительный путь, которым прошли эти ученые, выстраивая новый фундамент математики.

Хавьер Фресан

Математика
Математика для любознательных
Математика для любознательных

Эта книга основателя жанра научно-занимательной литературы, российского ученого Я. И. Перельмана объединяет в себе две работы автора: «Занимательная математика» и «Занимательная арифметика». Она ставит целью привить своему читателю вкус к изучению математики, вызвать у него интерес к самостоятельным творческим занятиям и приобщает к миру научных знаний. Книга содержит увлекательные рассказы-задачи с необычными сюжетами на математические темы, любопытными примерами из повседневной жизни, головоломки, шуточные вопросы и опыты - и все это через игру, легко и непринужденно.Постановка задач, их арифметические и логические методы решений и вытекающие из решений выводы вызовут интерес не только у юных начинающих математиков, знакомых лишь с элементами арифметики, но и у хорошо разбирающихся в математике читателей.Авторская стилистика письма соответствует 20-м годам двадцатого века и сохранена без изменений.

Яков Исидорович Перельман

Математика / Образование и наука