<ul><ul><li>Lisp для Веб </li></ul></ul><ul><ul><li>Всеволод Дёмкин </li></ul></ul><ul><ul><li>[email_address] </li></ul><...
<ul><ul><li>—  Почему бы и нет? </li></ul></ul>—  Почему Lisp?
Характеристики Common Lisp <ul><li>высокоуровневый </li></ul><ul><li>мультипарадигменный </li></ul><ul><li>динамический </...
Уникальные технологии Common Lisp <ul><li>макросистема </li></ul><ul><li>мета-объектный протокол </li></ul><ul><li>сигналь...
<ul><ul><li>( defun   count-total-size  (file) </li></ul></ul><ul><ul><li>&quot;Count the size of files and total number o...
<ul><ul><li>PHP </li></ul></ul><ul><ul><li>+ модуль Apache </li></ul></ul><ul><ul><li>+ shared nothing </li></ul></ul><ul>...
<ul><li>C# & ASP.Net, Java </li></ul><ul><li>Ruby, Python </li></ul>Lisp & высокоуровневые динамические языки
Чего мы можем добиться с Common Lisp? <ul><li>Диспетчиризация HTTP-запросов с помощью замыканий </li></ul><ul><li>Использо...
<ul><ul><li>Конкретное   vs  абстрактное </li></ul></ul><ul><ul><li>Lisp для тех, кто любит  программирование </li></ul></...
<ul><li>Спасибо за внимание! </li></ul><ul><li>Lisp для Веб </li></ul><ul><ul><li>Всеволод Дёмкин </li></ul></ul><ul><ul><...
Upcoming SlideShare
Loading in...5
×

Lisp4web

728

Published on

1 Comment
0 Likes
Statistics
Notes
  • какую IDE посоветуете для разработки на Lisp?
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

No Downloads
Views
Total Views
728
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
10
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide

Lisp4web

  1. 1. <ul><ul><li>Lisp для Веб </li></ul></ul><ul><ul><li>Всеволод Дёмкин </li></ul></ul><ul><ul><li>[email_address] </li></ul></ul>
  2. 2. <ul><ul><li>— Почему бы и нет? </li></ul></ul>— Почему Lisp?
  3. 3. Характеристики Common Lisp <ul><li>высокоуровневый </li></ul><ul><li>мультипарадигменный </li></ul><ul><li>динамический </li></ul><ul><li>префиксный полностью скобочный синтаксис, code is data </li></ul>
  4. 4. Уникальные технологии Common Lisp <ul><li>макросистема </li></ul><ul><li>мета-объектный протокол </li></ul><ul><li>сигнальный протокол </li></ul><ul><li>протокол множественных возвращаемых значений </li></ul>
  5. 5. <ul><ul><li>( defun count-total-size (file) </li></ul></ul><ul><ul><li>&quot;Count the size of files and total number of lines in the output of `ls -l`, written to a FILE&quot; </li></ul></ul><ul><ul><li>( with-open-file (in file) </li></ul></ul><ul><ul><li>( let ((num-lines 0) </li></ul></ul><ul><ul><li>(size 0)) </li></ul></ul><ul><ul><li>( do ((line (read-line in nil) (read-line in nil))) </li></ul></ul><ul><ul><li>((null line) (close in)) </li></ul></ul><ul><ul><li>(incf size </li></ul></ul><ul><ul><li>(parse-integer </li></ul></ul><ul><ul><li> (cl-ppcre:scan-to-strings &quot; +&quot; </li></ul></ul><ul><ul><li> line) </li></ul></ul><ul><ul><li> :junk-allowed t)) </li></ul></ul><ul><ul><li>(incf num-lines)) </li></ul></ul><ul><ul><li>(values size num-lines))) </li></ul></ul>Пример программы на Common Lisp
  6. 6. <ul><ul><li>PHP </li></ul></ul><ul><ul><li>+ модуль Apache </li></ul></ul><ul><ul><li>+ shared nothing </li></ul></ul><ul><ul><li>+ “есть везде”, “все знают” и “просто работает” </li></ul></ul><ul><ul><li>+ специально для Web </li></ul></ul><ul><ul><li>+ достаточно быстрый (?) </li></ul></ul><ul><ul><li>– специально для Web </li></ul></ul><ul><ul><li>– состояние нужно хранить вне языковой среды </li></ul></ul><ul><ul><li>– примитивный </li></ul></ul><ul><ul><li>PHP — даже не совсем язык, а скорее библиотека... </li></ul></ul>Lisp vs PHP
  7. 7. <ul><li>C# & ASP.Net, Java </li></ul><ul><li>Ruby, Python </li></ul>Lisp & высокоуровневые динамические языки
  8. 8. Чего мы можем добиться с Common Lisp? <ul><li>Диспетчиризация HTTP-запросов с помощью замыканий </li></ul><ul><li>Использование DSL'ей для генерации HTML, JavaScript, SQL </li></ul><ul><li>Неявный pooling соединений с БД </li></ul><ul><li>Новые подходы к тестированию </li></ul>
  9. 9. <ul><ul><li>Конкретное vs абстрактное </li></ul></ul><ul><ul><li>Lisp для тех, кто любит программирование </li></ul></ul><ul><ul><li>Lisp для тех, кто хочет решать уникальные проблемы </li></ul></ul><ul><ul><li>Lisp для предпринимателей </li></ul></ul>Where's the catch?
  10. 10. <ul><li>Спасибо за внимание! </li></ul><ul><li>Lisp для Веб </li></ul><ul><ul><li>Всеволод Дёмкин </li></ul></ul><ul><ul><li>[email_address] </li></ul></ul>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×