• Document: «Функциональное программирование»
  • Size: 1.28 MB
  • Uploaded: 2019-01-13 16:53:25
  • Status: Successfully converted


Some snippets from your converted document:

Московский Инженерно-Физический Институт (Государственный Университет) Текст лекций по курсу «Функциональное программирование» Душкин Роман Викторович darkus@yandex.ru Москва, 2001 Душкин Р. В. Текст лекций по курсу «Функциональное программирование». Лекция 1. «Вводная лекция» Функциональное программирование ставит своей целью придать каждой программе простую математическую ин- терпретацию. Эта интерпретация должна быть независи- ма от деталей исполнения и понятна людям, которые не имеют научной степени в предметной области. Лоренс Паулсон Прежде чем начать описание собственно функционального программирования, необхо- димо обратиться к истории программирования вообще. В 40-х годах XX века появились первые цифровые компьютеры, которые, как известно, программировались при помощи переключения различного рода тумблеров, проводков и кнопок. Число таких переклю- чений достигало порядка нескольких сотен и неумолимо росло с ростом сложности прог- рамм. Поэтому следующим шагом развития программирования стало создание всевоз- можных ассемблерных языков с простой мнемоникой. Однако даже ассемблеры не могли стать тем инструментом, которым смогли бы поль- зоваться обыкновенные люди, т.к. мнемокоды все еще оставались слишком сложными, тем более что всякий ассемблер был жёстко связан с архитектурой, на которой он испол- нялся. Таким образом, следующим шагом после ассемблера стали так называемые импера- тивные языки высокого уровня (BASIC, Pascal, C, Ada и прочие, включая объектно-ориен- тированные). Императивными такие языки были названы по той простой причине, что главным их свойством является ориентированность, в первую очередь, на последователь- ное исполнение инструкций оперирующих с памятью (т.е. присваиваний) и итеративные циклы. Вызовы функций и процедур, даже рекурсивные, не избавляли такие языки от яв- ной императивности (предписания). Возвращаясь к функциональному программированию... Краеугольным камнем в пара- дигме функционального программирования, как будет показано далее, является функция. Если вспомнить историю математики, то можно оценить возраст понятия «функция». Ему уже около четырёхсот лет, и математика придумала бесчисленное множество теоретичес- ких и практических аппаратов для оперирования функциями, начиная от обыкновенных операций дифференцирования и интегрирования, заканчивая заумными функциональны- ми анализами, теориями нечётких множеств и функций комплексных переменных. Математические функции выражают связь между параметрами (входом) и результатом (выходом) некоторого процесса. Так

Recently converted files (publicly available):