Найти тему
Легко в’IT

Подробнее про Lisp

Lisp - это язык программирования высокого уровня, как я уже сказал, он был выпущен в свет в конце 1950-х годов. Сейчас он используется много где, в таких например областях как искусственный интеллект, компьютерное зрение, прочие нейронки и многое другое.

Его название Lisp (List Processing) показывает его главную особенность - работа со списками и то, что он использует списки в качестве основного инструмента для представления и манипулирования данными. Вторая особенность, что блоки кода здесь отделены скобками, а так как один блок может быть вложен в другой (как и во многих других языках), то иногда код может напоминать чатик из 2000-х. Ну и третья его особенность - запись операций и операндов. И если в Java для того чтобы сложить 1 и 2, мы так и напишем: 1+2, то в лиспе сначала идет операция, а уж потом операнды: (+ 1 2), что в самом начале изучения неплохо так ломает мозг.

Короче, как говорил Линус Торвалдс: "Talk is cheap, show me the code", поэтому держи примеры кода на Lisp:

1. Программа, которая выводит числа от 0 до 9:
(loop for i from 0 to 9 do (print i))

2. Программа, которая вычисляет факториал числа:
(defun factorial (n)
  (if (= n 0) 1
      (* n (factorial (- n 1)))))

3. Программа, которая определяет, является ли число простым:
(defun primep (n)
  (cond ((<= n 1) nil)
        ((= n 2) t)
        ((evenp n) nil)
        (t (do ((i 3 (+ i 2))) ((> (* i i) n) t)
             (when (zerop (mod n i)) (return nil))))))

Тут хотелось бы сказать, что у Lisp есть много диалектов, помимо Common Lisp, который не самый простой в изучении. Если тебя он заинтересовал, то рекомендую посмотреть в сторону Scheme.