Какво е език за програмиране на схеми?

Схемата е език за програмиране, който е вариант на Lisp. Той е създаден през 1975 г. от Guy Steele и Gerry Sussman в лабораторията на MIT за изкуствен интелект. Това беше първият диалект на Lisp, който изискваше неговите внедрявания да използват оптимизация на разговорите в опашката, поставяйки силен акцент върху функционалното програмиране и рекурсивните алгоритми, по-специално.

Езикът за програмиране на схемата използва философия на дизайна на минимализма, като определя малко стандартно ядро ​​и предоставя мощни инструменти за разширяване на езика. Широко се използва в образователни и научни организации, особено в областта на изкуствения интелект. Програмистите, които пишат в Scheme, са неофициално известни като "Schemers".

Синтаксисът на Scheme е много подобен на Lisp. Тя се основава на s-изрази: дублиращи се списъци, в които операторът е на първо място и следват операндите. Например, изразът "3 плюс 4 пъти 5" е написан на схемата като (+ 3 (* 4 5)).

Подобно на Lisp, схемата използва ключовата дума lambda за представяне на анонимни функции. Например, операторът (lambda (xy) (+ xy)) представлява анонимна функция, която добавя две числа.

Други забележителни характеристики

  • Лексичен обхват - свързването на всички променливи в схемата се определя от единицата код, в който се появява променливата.
  • Споделено пространство от имена за променливи и процедури - същите примитиви, използвани за работа с променливи, могат да се използват и за работа с процедури и функции.
  • Пълен набор от цифрови типове данни.
  • Забавена оценка, която позволява прилагането на асинхронни техники за програмиране като обещания и фючърси.
  • Хигиенни макроси - макросистема, която позволява на програмиста да разшири функционалността на езика, без да се намесва в родния синтаксис на езика.
  • Способността да оцените собствения си код.
  • Възможност за предефиниране на стандартни процедури и функции.

Здравей свят! в схема

 (показва „Здравейте, свят!“) 

  • Как да създам компютърна програма?
  • История на програмния език.

Lisp, MIT, език за програмиране, програмни термини