ืžื” ื”ืคืš ืืช ืœื™ืกืค ืœืžื™ื•ื—ื“ืช

ยซืฉืคืช ื”ืชื›ื ื•ืช ื”ื’ื“ื•ืœื” ื‘ื™ื•ืชืจ ืฉื ื•ืฆืจื” ืื™ ืคืขืยซ
- ืืœืŸ ืงื™ื™, "ืขืœ ืœื™ืกืค"

ืžื” ื”ืคืš ืืช ืœื™ืกืค ืœืžื™ื•ื—ื“ืช

ื›ืืฉืจ ืžืงืืจืชื™ ืคื™ืชื— ืืช ืœื™ืกืค ื‘ืกื•ืฃ ืฉื ื•ืช ื”-1950, ื–ื” ื”ื™ื” ืฉื•ื ื” ื‘ืชื›ืœื™ืช ืžื”ืฉืคื•ืช ื”ืงื™ื™ืžื•ืช, ื”ื—ืฉื•ื‘ื” ืฉื‘ื”ืŸ ื”ื™ื™ืชื” ืคื•ืจื˜ืจืŸ.

ืœื™ืกืค ื”ืฆื™ื’ื” ืชืฉืขื” ืจืขื™ื•ื ื•ืช ื—ื“ืฉื™ื:

1. ืชื ืื™ื. ื”ืฆื”ืจื•ืช ืžื•ืชื ื•ืช ื”ืŸ ืงื•ื ืกื˜ืจื•ืงืฆื™ื•ืช ืื-ืื–-ืื—ืจ. ืขื›ืฉื™ื• ืื ื—ื ื• ืœื•ืงื—ื™ื ืื•ืชื ื›ืžื•ื‘ืŸ ืžืืœื™ื•. ื”ื ื”ื™ื• ื‘ื“ื•ื™ ืžืงืืจืชื™ ื‘ืžื”ืœืš ื”ืคื™ืชื•ื— ืฉืœ ืœื™ืกืค. (ืœืคื•ืจื˜ืจืŸ ื”ื™ื• ืื– ืจืง ื”ืฆื”ืจื•ืช Goo, ื‘ืฆืžื•ื“ ืœื”ื•ืจืื” ืกื ื™ืฃ ืขืœ ื”ื—ื•ืžืจื” ื”ื‘ืกื™ืกื™ืช.) ืžืงืืจืชื™, ื‘ืขื•ื“ื• ื‘ื•ื•ืขื“ืช ืืœื’ื•ืœ, ืชืจื ืชื ืื™ื ืœืืœื’ื•ืœ, ืžืฉื ื”ื ื”ืชืคืฉื˜ื• ืœืฉืคื•ืช ืื—ืจื•ืช.

2. ืกื•ื’ ืคื•ื ืงืฆื™ื”. ื‘-Lisp ืคื•ื ืงืฆื™ื•ืช ื”ืŸ ืื•ื‘ื™ื™ืงื˜ื™ื ืžืžื“ืจื’ื” ืจืืฉื•ื ื” - ื”ืŸ ืกื•ื’ ื ืชื•ื ื™ื, ื‘ื“ื™ื•ืง ื›ืžื• ืžืกืคืจื™ื, ืžื—ืจื•ื–ื•ืช ื•ื›ื•', ื•ื‘ืขืœื•ืช ื™ื™ืฆื•ื’ ืžื™ืœื•ืœื™, ื ื™ืชืŸ ืœืื—ืกืŸ ืื•ืชืŸ ื‘ืžืฉืชื ื™ื, ื ื™ืชืŸ ืœื”ืขื‘ื™ืจืŸ ื›ืืจื’ื•ืžื ื˜ื™ื ื•ื›ื•'.

3. ืจืงื•ืจืกื™ื”. ืจืงื•ืจืกื™ื”, ื›ืžื•ื‘ืŸ, ื”ื™ื™ืชื” ืงื™ื™ืžืช ื›ืžื•ืฉื’ ืžืชืžื˜ื™ ืœืคื ื™ Lisp, ืื‘ืœ Lisp ื”ื™ื™ืชื” ืฉืคืช ื”ืชื›ื ื•ืช ื”ืจืืฉื•ื ื” ืฉืชืžื›ื” ื‘ื”. (ื–ื” ืื•ืœื™ ืžืฉืชืžืข ื‘ื™ืฆื™ืจืช ืคื•ื ืงืฆื™ื•ืช ื›ืื•ื‘ื™ื™ืงื˜ื™ื ืžื”ืฉื•ืจื” ื”ืจืืฉื•ื ื”.)

4. ืžื•ืฉื’ ื—ื“ืฉ ืฉืœ ืžืฉืชื ื™ื. ื‘-Lisp, ื›ืœ ื”ืžืฉืชื ื™ื ื”ื ืžืฆื‘ื™ืขื™ื ื™ืขื™ืœื™ื. ืขืจื›ื™ื ื”ื ืžื” ืฉื™ืฉ ืœืกื•ื’ื™ื, ืœื ืžืฉืชื ื™ื, ื•ื”ืงืฆืื” ืื• ืงืฉื™ืจื” ืฉืœ ืžืฉืชื ื™ื ืคื™ืจื•ืฉื” ื”ืขืชืงืช ืžืฆื‘ื™ืขื™ื, ืœื ืžื” ืฉื”ื ืžืฆื‘ื™ืขื™ื ืขืœื™ื•.

5. ืื™ืกื•ืฃ ื–ื‘ืœ.

6. ืชื•ื›ื ื™ื•ืช ื”ืžื•ืจื›ื‘ื•ืช ืžื‘ื™ื˜ื•ื™ื™ื. ืชื•ื›ื ื™ื•ืช Lisp ื”ืŸ ืขืฆื™ ื‘ื™ื˜ื•ื™ื™ื, ืฉื›ืœ ืื—ื“ ืžื”ื ืžื—ื–ื™ืจ ืขืจืš. (ื›ืžื” ื‘ื™ื˜ื•ื™ื™ Lisp ื™ื›ื•ืœื™ื ืœื”ื—ื–ื™ืจ ืขืจื›ื™ื ืžืจื•ื‘ื™ื.) ื–ื” ืžื ื•ื’ื“ ืœ-Fortran ื•ืœืฉืคื•ืช ืžืฆืœื™ื—ื•ืช ืจื‘ื•ืช ืื—ืจื•ืช ืฉืžื‘ื—ื™ื ื•ืช ื‘ื™ืŸ "ื‘ื™ื˜ื•ื™ื™ื" ืœ"ื”ืฆื”ืจื•ืช".

ื–ื” ื”ื™ื” ื˜ื‘ืขื™ ืœืงื‘ืœ ืืช ื”ื”ื‘ื—ื ื” ื”ื–ื• ื‘ืคื•ืจื˜ืจืŸ ืžื›ื™ื•ื•ืŸ ืฉื”ืฉืคื” ื”ื™ื™ืชื” ืžื›ื•ื•ื ืช ืงื• (ืœื ืžืคืชื™ืข ืขื‘ื•ืจ ืฉืคื” ืฉืคื•ืจืžื˜ ื”ืงืœื˜ ืฉืœื” ื”ื™ื” ื›ืจื˜ื™ืก ืžื ื•ืงื‘). ืœื ื™ื›ื•ืœ ืœื”ื™ื•ืช ืฉื™ืฉ ืœืš ื”ืฆื”ืจื•ืช ืžืงื•ื ื ื•ืช. ื•ื›ืœ ืขื•ื“ ืืชื” ืฆืจื™ืš ื‘ื™ื˜ื•ื™ื™ื ืžืชืžื˜ื™ื™ื ื›ื“ื™ ืœืขื‘ื•ื“, ืœื ื”ื™ื” ื˜ืขื ืฉืžืฉื”ื• ืื—ืจ ื™ื—ื–ื™ืจ ืขืจืš ื›ื™ ืื•ืœื™ ืœื ื™ื”ื™ื” ืžืฉื”ื• ืฉืžื—ื›ื” ืœื”ื—ื–ืจื”.

ื”ื”ื’ื‘ืœื•ืช ื”ื•ืกืจื• ืขื ื”ื•ืคืขืชืŸ ืฉืœ ืฉืคื•ืช ื‘ืขืœื•ืช ืžื‘ื ื” ื‘ืœื•ืง, ืื‘ืœ ืขื“ ืื– ื–ื” ื”ื™ื” ืžืื•ื—ืจ ืžื“ื™. ื”ื”ื‘ื—ื ื” ื‘ื™ืŸ ื‘ื™ื˜ื•ื™ื™ื ื•ื”ืฆื”ืจื•ืช ื›ื‘ืจ ื ืงื‘ืขื”. ื”ื•ื ืขื‘ืจ ืžืคื•ืจื˜ืจืŸ ืœืืœื’ื•ืœ ื•ื‘ื”ืžืฉืš ืœืฆืืฆืื™ื”ื.

ื›ืืฉืจ ืฉืคื” ืžื•ืจื›ื‘ืช ื›ื•ืœื” ืžื‘ื™ื˜ื•ื™ื™ื, ืืชื” ื™ื›ื•ืœ ืœื—ื‘ืจ ื‘ื™ื˜ื•ื™ื™ื ื‘ื›ืœ ื“ืจืš ืฉืชืจืฆื”. ืืชื” ื™ื›ื•ืœ ืœื›ืชื•ื‘ ื›ืœ ืื—ื“ ืžื”ื (ื‘ืืžืฆืขื•ืช ื”ืชื—ื‘ื™ืจ ืงืฉืช)

(if foo (= x 1) (= x 2))

ืื•

(= x (if foo 1 2))

7. ืกื•ื’ ืกืžืœ. ืชื•ื•ื™ื ืฉื•ื ื™ื ืžืžื—ืจื•ื–ื•ืช, ื•ื‘ืžืงืจื” ื–ื” ื ื™ืชืŸ ืœื‘ื“ื•ืง ืฉื•ื•ื™ื•ืŸ ืขืœ ื™ื“ื™ ื”ืฉื•ื•ืืช ืžืฆื‘ื™ืขื™ื.

8. ืกื™ืžื•ืŸ ืœืงื•ื“ ื‘ืืžืฆืขื•ืช ืขืฆื™ ืกืžืœื™ื.

9. ื›ืœ ื”ืฉืคื” ื–ืžื™ื ื” ืชืžื™ื“. ืื™ืŸ ื”ื‘ื“ืœ ื‘ืจื•ืจ ื‘ื™ืŸ ื–ืžืŸ ืงืจื™ืื”, ื–ืžืŸ ืงื•ืžืคื™ืœืฆื™ื” ื•ื–ืžืŸ ืจื™ืฆื”. ืืชื” ื™ื›ื•ืœ ืœื”ื“ืจ ืื• ืœื”ืจื™ืฅ ืงื•ื“ ื‘ื–ืžืŸ ืฉืืชื” ืงื•ืจื, ืื• ืœืงืจื•ื ืื• ืœื”ืจื™ืฅ ืงื•ื“ ื‘ื–ืžืŸ ืฉืืชื” ืงื•ืžืคื™ืœืฆื™ื”, ืื• ืœืงืจื•ื ืื• ืœื”ื“ืจ ืงื•ื“ ื‘ื–ืžืŸ ืฉื”ื•ื ืคื•ืขืœ.

ื”ืคืขืœืช ืงื•ื“ ื‘ื–ืžืŸ ืงืจื™ืื” ืžืืคืฉืจืช ืœืžืฉืชืžืฉื™ื ืœืชื›ื ืช ืžื—ื“ืฉ ืืช ื”ืชื—ื‘ื™ืจ ืฉืœ Lisp; ื”ืคืขืœืช ืงื•ื“ ื‘ื–ืžืŸ ื”ื™ื“ื•ืจ ื”ื™ื ื”ื‘ืกื™ืก ืœืคืงื•ื“ื•ืช ืžืืงืจื•; ื”ื™ื“ื•ืจ ื‘ื–ืžืŸ ืจื™ืฆื” ื”ื•ื ื”ื‘ืกื™ืก ืœืฉื™ืžื•ืฉ ื‘-Lisp ื›ืฉืคืช ื”ืจื—ื‘ื” ื‘ืชื•ื›ื ื•ืช ื›ื’ื•ืŸ Emacs; ื•ืœื‘ืกื•ืฃ, ืงืจื™ืื” ื‘ื–ืžืŸ ืจื™ืฆื” ืžืืคืฉืจืช ืœืชื•ื›ื ื™ื•ืช ืœืชืงืฉืจ ื‘ืืžืฆืขื•ืช s-expressions, ืจืขื™ื•ืŸ ืฉื”ื•ืžืฆื ืœืื—ืจื•ื ื” ืžื—ื“ืฉ ื‘-XML.

ืžืกืงื ื”

ื›ืืฉืจ Lisp ื”ื•ืžืฆื ืœืจืืฉื•ื ื”, ื”ืจืขื™ื•ื ื•ืช ื”ืœืœื• ื”ื™ื• ืจื—ื•ืงื™ื ืžืฉื™ื˜ื•ืช ืชื›ื ื•ืช ืงื•ื ื‘ื ืฆื™ื•ื ืœื™ื•ืช ืฉื”ื•ื›ืชื‘ื• ืขืœ ื™ื“ื™ ื”ื—ื•ืžืจื” ื”ื–ืžื™ื ื” ื‘ืกื•ืฃ ืฉื ื•ืช ื”-1950.

ืขื ื”ื–ืžืŸ, ืฉืคืช ื‘ืจื™ืจืช ื”ืžื—ื“ืœ, ืฉื”ืชื’ืœืžื” ื‘ื”ืฆืœื—ืชืŸ ืฉืœ ืฉืคื•ืช ืคื•ืคื•ืœืจื™ื•ืช, ื”ืชืคืชื—ื” ื‘ื”ื“ืจื’ื” ืœืขื‘ืจ Lisp. ื ืงื•ื“ื•ืช 1-5 ืžืงื•ื‘ืœื•ืช ื›ืขืช. ื ืงื•ื“ื” 6 ืžืชื—ื™ืœื” ืœื”ื•ืคื™ืข ื‘ืžื™ื™ื ืกื˜ืจื™ื. ื‘-Python ื™ืฉ ืกืขื™ืฃ 7 ื‘ืฆื•ืจื” ื›ืœืฉื”ื™, ืื ื›ื™ ืื™ืŸ ืชื—ื‘ื™ืจ ืžืชืื™ื. ืคืจื™ื˜ 8, ืืฉืจ (ืขื ืคืจื™ื˜ 9) ืžืืคืฉืจ ืคืงื•ื“ื•ืช ืžืืงืจื• ื‘-Lisp, ืขื“ื™ื™ืŸ ื ืžืฆื ืจืง ื‘ืœื™ืกืค, ื›ื ืจืื” ื‘ื’ืœืœ ืฉ(ื) ื”ื•ื ื“ื•ืจืฉ ืืช ื”ืกื•ื’ืจื™ื™ื ื”ืืœื” ืื• ืžืฉื”ื• ื’ืจื•ืข ื‘ืื•ืชื” ืžื™ื“ื”, ื•-(ื‘) ืื ืชื•ืกื™ืคื• ืืช ื”ืขืœื™ื™ื” ื”ืื—ืจื•ื ื” ื‘ื”ืกืคืง, ืชื•ื›ืœื• ื›ื‘ืจ ืœื ื˜ื•ืขื ื™ื ืฉื”ืžืฆื™ืื• ืฉืคื” ื—ื“ืฉื”, ืืœื ืจืง ืฉืคื™ืชื—ื• ื ื™ื‘ ื—ื“ืฉ ืฉืœ ืœื™ืกืค; -)

ืœืžืจื•ืช ืฉื–ื” ืฉื™ืžื•ืฉื™ ืœืžืชื›ื ืชื™ื ืžื•ื“ืจื ื™ื™ื, ืžื•ื–ืจ ืœืชืืจ ืืช Lisp ื‘ืžื•ื ื—ื™ื ืฉืœ ื”ื”ื‘ื“ืœ ืฉืœื” ืžื”ื˜ื›ื ื™ืงื•ืช ื”ืืงืจืื™ื•ืช ืฉืื•ืžืฆื• ื‘ืฉืคื•ืช ืื—ืจื•ืช. ื–ื” ืื•ืœื™ ืœื ืžื” ืฉืžืงืืจืชื™ ื—ืฉื‘. Lisp ืœื ืชื•ื›ื ืŸ ืœืชืงืŸ ืืช ื”ืฉื’ื™ืื•ืช ืฉืœ Fortran; ื–ื” ื ืจืื” ื™ื•ืชืจ ื›ืชื•ืฆืจ ืœื•ื•ืื™ ืฉืœ ื ื™ืกื™ื•ืŸ ืœืขืฉื•ืช ืืงืกื™ื•ืžื˜ื™ื–ืฆื™ื” ืฉืœ ื—ื™ืฉื•ื‘ื™ื.

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”