The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Языку программирования LISP исполнилось 60 лет

20.10.2018 13:52

20 октября 2018 года исполнилось 60 лет с момента появления языка LISP и концепции функционального программирования, которые были созданы Джоном Маккарти для проведения работ в области искусственного интеллекта. Язык LISP подарил миру программирования множество новых возможностей и нестандартных решений, которые позднее нашли отражение во многих современных языках программирования, таких как Logo, Perl, Python, Smalltalk, Tcl и Ruby.

  1. OpenNews: Представлен LISP/c - транслятор Common Lisp в C/C++
  2. OpenNews: Открыты исходные тексты Corman Lisp
  3. OpenNews: Реализация языка Lisp на GNU sed
  4. OpenNews: Умер Джон Маккарти, создатель языка Lisp
  5. OpenNews: Языку программирования LISP исполнилось 50 лет
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/49470-lisp
Ключевые слова: lisp
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (160) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 14:31, 20/10/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +10 +/
    Все собираемся сегодня в 18:00 в кафе "Бегемот", будем пить и монадами меряться
     
     
  • 2.10, Junior frontend developer (?), 16:20, 20/10/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    В лиспе нет монад (не используют)
     
     
  • 3.32, Аноним84701 (ok), 21:18, 20/10/2018 [^] [^^] [^^^] [ответить]  
  • +4 +/
    >> будем пить и монадами меряться
    > В лиспе нет монад (не используют)

    Это смотря сколько выпить.
    *scnr*

     
  • 3.126, KonstantinB (??), 14:45, 22/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Культуры такой нет, да, а вообще делаются банально макросами.
     
  • 2.19, Michael Shigorin (ok), 17:59, 20/10/2018 [^] [^^] [^^^] [ответить]  
  • +4 +/
    "Так, собрал свои монадки!"
     
     
  • 3.68, freehck (ok), 14:07, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > "Так, собрал свои монадки!"

    Это ещё что. Мы с женой давеча начали XMR майнить, так вчера вечером она мне выдаёт: "Дима, иди сюда, посмотри на наши монеры"! :)

     
  • 2.26, Психиатор (?), 20:28, 20/10/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Гонадами.
     
  • 2.152, gpyra (ok), 17:01, 23/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    С меня тарелка борща
     
  • 2.153, gpyra (ok), 19:52, 23/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > будем пить
    > монадами меряться

    Случайно не вы автор данного блога на Hakyll? http://p0n4ik.tk

     

  • 1.2, Грусть (?), 14:48, 20/10/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    https://youtu.be/5-OjTPj7K54
     
     
  • 2.23, Aukamo (ok), 19:13, 20/10/2018 [^] [^^] [^^^] [ответить]  
  • +4 +/
    А вот и текст, в видео песня 1996 года I was taught assembler in my second year ... большой текст свёрнут, показать
     

  • 1.3, trdm (ok), 14:51, 20/10/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    А напишите что-нибудь на лисипском.
     
     
  • 2.6, Аноним (6), 15:27, 20/10/2018 [^] [^^] [^^^] [ответить]  
  • +10 +/
    (((((())))())))(((())))))(())))))(()))))
     
     
  • 3.7, myhand (ok), 15:41, 20/10/2018 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Эта программа называется "Syntax Error".

    Хелоу-ворлд для современной молодежи уже заоблачные высоты?

     
     
  • 4.42, Аноним (42), 07:57, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А ты не можешь в юмор, да?
     
     
  • 5.46, Аноним (46), 09:28, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Привыкай к опеннету, анон. Здесь таких фанатиков over9000.
     
  • 4.122, Урри (?), 14:02, 22/10/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    квайн. www.rosettacode.org/wiki/Quine
    ((lambda (q) (quasiquote ((unquote q) (quote (unquote q))))) (quote (lambda (q) (quasiquote ((unquote q) (quote (unquote q)))))))

     
  • 3.60, КГБ СССР (?), 13:51, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > (((((())))())))(((())))))(())))))(()))))

    Я доработал твою программу, анон:

    [CODE]
    ((((((.))))(.))))((((.))))))((.))))))((.)))))
    [/CODE]

    Теперь всё отлично работает!

     
     
  • 4.157, lambda (?), 10:01, 24/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Я доработал твою программу :

    (.)(.)

     
     
  • 5.158, КГБ СССР (?), 10:27, 24/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Чувак, ты крут!

    Но я сегодня всю ночь не спал, сделал рефакторинг и всё переписал заново, новый релиз содержит ещё меньше кода и работает намного лучше:

    [CODE]
    (__!__)
    [/CODE]

     
  • 2.9, Аноним (9), 15:45, 20/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    (defun bubble-sort/naive (sequence)
      (let ((end (length sequence)))
        (labels ((compare-and-swap (index modified)
                   (if (= index (1- end))
                       (if modified (compare-and-swap 0 nil) (values))
                       (let ((index+1 (1+ index)))
                         (if (> (elt sequence index) (elt sequence index+1))
                             (let ((x (elt sequence index)))
                               (setf (elt sequence index) (elt sequence index+1)
                                     (elt sequence index+1) x)
                               (compare-and-swap index+1 t))
                             (compare-and-swap index+1 modified))))))
          (unless (< end 2)
            (compare-and-swap 0 nil))
          sequence)))
     
     
  • 3.16, КГБ СССР (?), 17:29, 20/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Что за вирус ты написал, анон? Твоя программа убивает Емакс!
     
  • 3.29, Аноним (29), 20:55, 20/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Пожалуйста, хватит!
     
  • 2.59, freehck (ok), 13:49, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А напишите что-нибудь на лисипском.

    [CODE]
    #lang web-server/insta
    (define (start request)
      (response/xexpr
       '(html
         (head (title "My Blog"))
         (body (h1 "Under construction")))))
    [/CODE]

     

  • 1.4, Аноним (4), 15:22, 20/10/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –24 +/
    За возможности конечно спасибо, но само по себе это скобкопосмешище пусть отправляется в могилу, вместе с реинкарнацияси в виде guile и прочего крапа
     
     
  • 2.11, Аноним (11), 16:28, 20/10/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    https://developer.mozilla.org/en-US/docs/WebAssembly/Understanding_the_text_fo Похоже, скобкопосмешище переживёт JavaScript.
     
     
  • 3.12, Аноним (11), 16:29, 20/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    https://developer.mozilla.org/en-US/docs/WebAssembly/Understanding_the_text_fo
     
     
  • 4.13, Аноним (11), 16:32, 20/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    webassembly wast
     
  • 2.20, Michael Shigorin (ok), 18:02, 20/10/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > За возможности конечно спасибо, но само по себе это скобкопосмешище

    А предложите-ка другой синтаксис: более читаемый, но чтоб программа сразу же была и структурой данных.

    Понимаю, что Вам не дано писать программы, которые пишут (и читают) программы, но всё-таки спрошу.

     
     
  • 3.22, myhand (ok), 19:01, 20/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Можно и без скобок, см. SRFI 49.
     
  • 3.27, Психиатор (?), 20:31, 20/10/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    М-выражения.

    Реализуй их лисперы в своё время, всё у языка могло бы сложиться иначе.

     
     
  • 4.41, Онаним (?), 02:14, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну не знаю. Посмотрел в Википедию, увидел такие примеры и S-выражения показались мне куда более легко читаемыми (как для человека, так и для машины):

    M:  label[square;λ[[x];product[x;x]]]
    S:  (defun square (x) (* x x))

    M: lessthan[x;0] → negative[x]; T → x]
    S: (cond ((< x 0) (- x)) (t x))

     
     
  • 5.75, Ибо воистину (?), 16:32, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что в википедии фигня написана.

    defun[square[x], product[x, x]]

    cond[[lessthan[x, 0], negative[x]], [t, x]]

    Можно пойти чуть дальше, например:

    defun[square[x], x * x]

    cond[[x < 0, -x], [t, x]]

    И ещё дальше:

    square[x] := x * x

    И т. д.

    При этом у каждого "засахаренного" выражения есть однозначное "низкоуровневое" представление в виде вложенных списков.

    Wolfram Mathematica так делает, например.

     
  • 3.34, qwerty123 (??), 23:29, 20/10/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >А предложите-ка другой синтаксис: более читаемый, но чтоб программа сразу же была и структурой данных.

    module.export = function() {
      return { hello: "world" }
    }

    sub hello {
      my str = "hello";
      return str
    }

    первый синтаксис javascript, второй perl

    в силу особенностей виртуальных машин и парсеров к ним они не представляются в виде ветвистой клюквы как в lisp процессоре (да в том множество допущений), но оба легко траслируются в lisp-дерево

    если бы это комуто было надо.

    "все в мире LISP, вначале был только LISP, и потом свет и тьма"

     
     
  • 4.36, Аноним (11), 00:05, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Хорошо. Первый пункт выполнен. Что насчёт второго?
     
     
  • 5.45, Аноним (45), 09:17, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Proc.new { 'Hello world' }

    Ruby обыкновенный..... Ничего кроме объектов....

     
  • 4.82, freehck (ok), 21:42, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > "все в мире LISP, вначале был только LISP, и потом свет и тьма"

    Да нет же, Бог изначально творил мир в виде идеальных структурах LISP. Просто он продолбал дедлайны и в день субботний по-быстренькому нахакал часть функционала на Perl-е. Отсюда и чудеса, а вы-то думали! :)

     
     
  • 5.84, myhand (ok), 21:44, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    s/Perl/Brainfuck/
     
  • 5.137, qwerty123 (??), 17:59, 22/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > часть функционала на Perl-е.

    вот не надо про perl.
    хорошо что не javascript.

     
  • 3.35, Ag (ok), 23:47, 20/10/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    FORTH ? ;)
     
  • 2.38, Аноним (38), 01:48, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Проблема в том, что вы до сих пор редактируете код как плоскую последовательность строк, а такая модель текста не соответствует иерархической структуре программы практически на любом языке, но многие языки пытаются так или иначе к этому адаптироваться, и, видимо, только такие языки кажутся вам приемлемыми.

    А здесь другой подход: многие лисперы используют для работы с кодом структурный редактор (paredit), мы работаем непосредственно с деревом в терминах его поддеревьев, а не в терминах строк, и именно синтаксис Лиспа поддерживает структурное редактирование лучше всего, но в результате менее дружественен для использования с редактором плоского текста. Изменение подхода к редактированию меняет и восприятие: я не вижу невнятную кучу скобок (и тем более не пытаюсь их считать), я вижу дерево вложенных списков, и оно практически осязаемо — им можно манипулировать непосредственно как таковым, и оно явно и прозрачно, а не скрыто за кучей специальных синтаксических правил. Поднявшись на этот качественно более высокий уровень работы с кодом, я уже ни за что не захочу от него отказаться, а непостигшие пусть дальше продолжают изобретать себе новые и новые языки с "дружественным" синтаксисом.

     
     
  • 3.54, RomanCh (ok), 13:02, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А можно поинтересоваться плодами вашего "качественно более высокого уровня", кроме ЧСВ over9000?
     
     
  • 4.64, freehck (ok), 13:59, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > А можно поинтересоваться плодами вашего "качественно более высокого уровня", кроме ЧСВ
    > over9000?

    вот вам киворды: racket clojure guile
    дальше сами

     
     
  • 5.78, RomanCh (ok), 19:36, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    В смысле вы хотите сказать что достопочтенно-пафосный аноним выше участвовал в создании этого? Ладно, допустим, хотя слабовато верится.

    Тогда другой вопрос - а что собственно такого офигенно полезного в этих "плодах"? А то писать язык для того что бы с его помощью создать другой язык, это знаете-ли сектантством попахивает.

    Т.е. мне хотелось бы видеть результат более ощутимый. Ну типа какое-то полезное приложение которое или в массах используется, или наоборот - узкоспециализированное и незаменимое.
    И главное, что бы то то что оно написано на этих ((((языках))))) было неоспоримым преимуществом, либо по скорости работы, либо по качеству кода, либо по сложности поддержки. Ну либо, хотя бы, по стоимости разработки.

    Есть чего?

     
     
  • 6.81, freehck (ok), 21:37, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нет, не хочу Пафос и ЧСВ в словах анонима выше Вы зря заподозрили Он просто по... большой текст свёрнут, показать
     
     
  • 7.86, RomanCh (ok), 21:49, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Это всё прекрасно конечно, но у меня вопрос был не в этом Я конечно таких назва... большой текст свёрнут, показать
     
     
  • 8.96, freehck (ok), 22:12, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну, о продуктах Jane Street Вы, скорее всего, тоже никогда не слышали, однако он... большой текст свёрнут, показать
     
     
  • 9.128, RomanCh (ok), 15:11, 22/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Вот тут я на слово верить как раз не буду Потому что не знаю кто когда как их с... большой текст свёрнут, показать
     
     
  • 10.145, freehck (ok), 00:27, 23/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ну а какого рода дискуссию Вы ожидаете получить от приличной компании, когда в н... большой текст свёрнут, показать
     
     
  • 11.150, RomanCh (ok), 12:54, 23/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Мерзкое передёргивание О первом я наоборот говорил что вовсе так не считаю Ко ... большой текст свёрнут, показать
     
  • 11.151, Michael Shigorin (ok), 13:08, 23/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Аналогичный случай был на той неделе в жабере, забавно В смысле тоже с Ромой, к... текст свёрнут, показать
     
  • 7.130, antares0 (?), 16:59, 22/10/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Ну если сходу... Широкоиспользуемое -- ViaWeb. Это веб сервис. Его вроде бы
    > купили и, емнип, теперь это один из сервисов Yahoo.

    Его перепимали на Жабу после покупки. И это было давно

    Ссылок россыпью
    https://lisp-lang.org/success/
    https://en.wikipedia.org/wiki/ITA_Software#cite_ref-5  Выжгли своих конкурентов за счет сверхэффектиной компиляции алгоритмов планирования с помощью CL.
    Ликбез агиткой - http://www.lispworks.com/products/myths_and_legends.html
    https://franz.com/agraph/allegrograph/ - тоже известный монстрик. У него мало конкурентов по объему возможностей

     
  • 6.83, myhand (ok), 21:42, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Даже не знаю с чего начать.  Ну как-бы большая часть открытых систем компьютерной алгебры - на ем, на лиспе.

    Хотя, в сущности, любой язык программирования так или иначе используется для создания другого языка, на котором решается конкретная прикладная задач.  Так что ТЗ гражданина вряд-ли что вообще способно удовлетворить в принципе.

     
     
  • 7.87, RomanCh (ok), 21:51, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну как-бы большая часть открытых систем компьютерной алгебры - на ем, на лиспе.

    Раз не знаете с чего начать, то начните с простого. Коли так зашли с видом "я в теме", то ведь вы можете объяснить почему оно именно на нём, а не на чём-нибудь другом? Есть же тому какая-то объективная причина кроме "так исторически сложилось"?

     
     
  • 8.90, freehck (ok), 21:58, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Конечно же есть объяснение Основа лиспов -- символьные выражения Вполне очевид... текст свёрнут, показать
     
     
  • 9.91, RomanCh (ok), 22:01, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Хорошо, т е узкоспециализированные математические задачи я конечно нифига в н... текст свёрнут, показать
     
     
  • 10.97, myhand (ok), 22:13, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Я бы не назвал компьютерную алгебру узкоспециализированной задачей Это примерн... текст свёрнут, показать
     
     
  • 11.120, RomanCh (ok), 13:03, 22/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так каждый специалист считает что конкретно без его профессиональной области ... большой текст свёрнут, показать
     
     
  • 12.144, myhand (ok), 23:24, 22/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Да не рухнет, конечно Бегают еще спустившиеся всего-то пару миллионов лет наза... большой текст свёрнут, показать
     
  • 8.98, myhand (ok), 22:16, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    90 Ну и макросы, конечно Даже, наверное, начиная с макросов ... текст свёрнут, показать
     
  • 8.136, antares0 (?), 17:46, 22/10/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Основное применение Common Lisp это обсчет планирования и моделей реагирования т... большой текст свёрнут, показать
     
     
  • 9.141, RomanCh (ok), 20:55, 22/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Благодарю Вы на мой взгляд единственный, кто пытался дать минимально развёрнуты... большой текст свёрнут, показать
     
     
  • 10.154, antares0 (?), 20:53, 23/10/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    PAIP - без него мало смысла начинать , какую-то вводную статью и т п И желател... большой текст свёрнут, показать
     
     
  • 11.162, RomanCh (ok), 11:11, 30/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Давно получил ваше сообщение, но всё никак не собирался ответить Спасибо Посмо... текст свёрнут, показать
     
  • 7.88, freehck (ok), 21:53, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Даже не знаю с чего начать.  Ну как-бы большая часть открытых
    > систем компьютерной алгебры - на ем, на лиспе.

    Кстати да, совсем вылетело из головы! Maxima, Methematica, конечно же! :)


     
     
  • 8.92, myhand (ok), 22:05, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Если вы о Wolfram Mathematica, то нет Начиная с того, что она закратая и закан... текст свёрнут, показать
     
     
  • 9.99, freehck (ok), 22:19, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Некоторые говорят, что и Clojure не Lisp Как же, как же Давайте возьмём за п... текст свёрнут, показать
     
     
  • 10.100, myhand (ok), 22:24, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Макросы ... текст свёрнут, показать
     
     
  • 11.101, freehck (ok), 22:30, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Не обязательно Всё, что можно написать с макросами, можно написать и без макрос... текст свёрнут, показать
     
     
  • 12.104, myhand (ok), 22:45, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Дак и все что можно написать на лиспе - можно написать без лиспа ... текст свёрнут, показать
     
     
  • 13.108, freehck (ok), 01:57, 22/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Я всё-таки аппелирую к тому, что лиспы определяются наличием sexp-ов и операциям... текст свёрнут, показать
     
     
  • 14.113, myhand (ok), 09:57, 22/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Эмм Гл 4 Metalinguistic Abstraction - оно как раз про это, про расширение ... текст свёрнут, показать
     
     
  • 15.117, freehck (ok), 11:40, 22/10/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Окей Признаю свою ошибку Да, метациклический интерпретатор, описанный во второ... текст свёрнут, показать
     
     
  • 16.118, myhand (ok), 12:21, 22/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ну да, если учесть что в этой главе написано про расширение синтаксиса Будет лю... текст свёрнут, показать
     
  • 10.132, Your Anonymous (?), 17:05, 22/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Курица не птица, Clojure не Lisp ... текст свёрнут, показать
     
  • 3.58, КГБ СССР (?), 13:49, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Скобки лиспа — это, конечно, вынос мозга за пределы видимости.

    Позвольте полюбопытствовать: а ваши «мы» это кто?

     
     
  • 4.63, freehck (ok), 13:57, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Скобки лиспа — это, конечно, вынос мозга за пределы видимости.

    Не вынос мозга, а расширение кругозора. А ты просто ленив и глуп. Ах да, а ещё ты "КГБ СССР".

    > Позвольте полюбопытствовать: а ваши «мы» это кто?

    Ну например я.

     
     
  • 5.70, КГБ СССР (?), 14:25, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >> Скобки лиспа — это, конечно, вынос мозга за пределы видимости.
    > Не вынос мозга, а расширение кругозора. А ты просто ленив и глуп.
    > Ах да, а ещё ты "КГБ СССР".

    Я так понимаю, это здесь модератор тыкает взрослым уважаемые людям? Юноша, придержи лошадок на поворотах.


    >> Позвольте полюбопытствовать: а ваши «мы» это кто?
    > Ну например я.

    Вот это сильно! Я очень впечатлён. Позвольте откупорить за вас бутылочку шампанского.

     
     
  • 6.73, Аноним (73), 15:28, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Я так понимаю, это здесь модератор тыкает взрослым уважаемые людям?

    Разрешите полюбопытствовать -- где это вы тут увидели взрослых и уважаемых людей? В зеркале? А не происки ли это злобных террористов, регулярно и щедро добавляющих кристаллы ЛСД в городской водопровод?

     
     
  • 7.74, КГБ СССР (?), 15:52, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    У кого ж это столько лишних денег, чтобы засорять городской водопровод ценными веществами?
     
  • 3.131, Your Anonymous (?), 17:01, 22/10/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Настолько осязаемо, что его можно понюхать, ощутить мягкость его скобок. :)

    ПС: лиспер с 10-летним стажем.

     

     ....большая нить свёрнута, показать (56)

  • 1.5, КГБ СССР (?), 15:26, 20/10/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    А обещанный ИИ и поныне там. Где? Да вот там, где вы подумали, да-да. :)
     
     
  • 2.8, myhand (ok), 15:42, 20/10/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В каждом сраном мобильнике?
     
  • 2.15, Аноним (15), 17:04, 20/10/2018 [^] [^^] [^^^] [ответить]  
  • +4 +/
    В КГБ?
     
  • 2.52, Anon4ik (?), 11:57, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Искуственный Интеллект повсеместно, если не в каждой то через одну голову
     
     
  • 3.55, КГБ СССР (?), 13:45, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > Искуственный Интеллект повсеместно, если не в каждой то через одну голову

    В твоей голове, похоже, и естественного нету. Иначе ты бы осилил загуглить и прочитать, что Artificial Intelligence — это не искусственный интеллект. Переводчики на руссиш оказались вроде тебя — с двойками в школе по Инглишу.

     
     
  • 4.62, myhand (ok), 13:56, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > загуглить и прочитать

    На викимусорку еще сошлись.  Больше аду!

    > Artificial Intelligence — это не искусственный интеллект.

    Скажем так, не все с этим согласные.


     
  • 4.66, Anon4ik (?), 14:02, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вот, о чем я и говорил.
     

  • 1.14, Аноним (14), 17:00, 20/10/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Спасибо за emacs!
     
     
  • 2.18, КГБ СССР (?), 17:31, 20/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Спасибо за emacs!

    Пожалуйста!

     
  • 2.24, Мудрый Каа (?), 20:01, 20/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Но ведь есть vim!
     
     
  • 3.30, Андрей (??), 20:56, 20/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    А ещё есть Spacemacs, у которого слоган "The best editor is neither Emacs nor Vim, it's Emacs and Vim!"
     
  • 3.33, myhand (ok), 21:52, 20/10/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Evil mode!  Сотона атакуе!
     
  • 3.43, Аноним (43), 09:07, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Он только пищит или всё портит.
     

  • 1.25, Аноним (25), 20:03, 20/10/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Петросяны на месте?
     
     
  • 2.28, Аноним (28), 20:53, 20/10/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Степаненко, ты?
     
     
  • 3.31, Анонимчег (?), 21:07, 20/10/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Регина?
     
     
  • 4.103, Анонимэ (?), 22:37, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Долбовицкая?
     

  • 1.37, Anon4ik (?), 01:42, 21/10/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Лисп всю жизнь был мультипарадигменый до уср*чки, достали уже со своим клеймом "фп".
     
     
  • 2.39, Аноним (38), 01:59, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ФП развилось из Лиспа, а Лисп построен на основе лямбда-исчисления. Но да, все это совершенно не обязывает Лисп быть чистым функциональным языком программирования.
     
     
  • 3.111, Anon4ik (?), 02:06, 22/10/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Фунциональная парадигма развилось из математического формализма. APL — 1960, FP — 1977, FL — 1989, Miranda — 1985, ML — 1973, Erlang — 1986. APL функциональный язык, уникальный по семантике и синтаксису, родился под влиянием математической нотации и определил своей семантикой целую группу языков. FP появился так же как независимый продукт, в дальнейшем реинкарнировав в FL, и оба они вкупе с Miranda и ML зародили группу, ныне наиболее распространенную, языков программирования "функционального стиля" — Haskell, OCaml. Erlang вообще говоря стоит особняком.
    Говорить что функциональный стиль программирования пошёл от лиспа по крайней мере не грамотно, хотя первая редакция лиспа от Маккарти и обладала в определенной степени функциональными чертами.
     
     
  • 4.139, Cradle (?), 18:30, 22/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    фортран и лисп реализовали два полярных подхода в математике того времени, Тьюринга и Чёрча, и создавались именно для этого.
     

  • 1.40, Онаним (?), 02:05, 21/10/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    И какие есть актуальные в наше время лиспы кроме Clojure?
     
     
  • 2.44, Аноним (43), 09:09, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Guile?
     
     
  • 3.48, myhand (ok), 09:39, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Guile- - реализация конкретного (диалекта) Lisp
     
     
  • 4.50, Andrey Mitrofanov (?), 11:33, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Guile- - реализация конкретного (диалекта) Lisp

    Приведите примеры реализации _неконкретного_ диалекта LISPа ?

    --
    И да, в [или на/для] guile есть [наколенные реализации] elisp, js, tcl, ....
    https://www.gnu.org/software/guile/manual/html_node/Supporting-Multiple-Langua
    http://lists.gnu.org/archive/html/guile-devel/2018-09/msg00011.html
      http://lists.gnu.org/archive/html/guile-devel/2018-08/msg00003.html
        http://lists.gnu.org/archive/html/guile-devel/2018-07/msg00025.html

     
     
  • 5.69, myhand (ok), 14:24, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Приведите примеры реализации _неконкретного_ диалекта LISPа ?

    А разве я этим угрожал?

    > И да, в [или на/для] guile есть [наколенные реализации] elisp, js, tcl

    Кое-что даже для Python начинает шевелиться
    https://gitlab.com/python-on-guile/python-on-guile

     
  • 2.47, myhand (ok), 09:37, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    CL, Scheme
     
  • 2.49, Andrey Mitrofanov (?), 11:20, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > И какие есть актуальные в наше время лиспы кроме Clojure?

    [I]"" Most new activity is focused around implementations of Common Lisp, Scheme, Emacs Lisp, Clojure, and Racket, and includes development of new portable libraries and applications. ""

    https://en.wikipedia.org/wiki/Lisp_%28programming_language%29#2000_t

     
  • 2.51, Anon4ik (?), 11:52, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Clojure, вообще говоря, семантически не является лиспом.
    Common Lisp, как ни странно жив и будет жив.
    Pico Lisp, маргинальщина, но со своей изюминкой и пользователями.
    Racket семантически близок к лиспу, но это разновидность Скимы, актуальна, гиперактивна.
    JavaScript во многом семантически копирует лисп, но имеет извращенский синтаксис.
    Ещё есть специфичные DSL базирующиеся в той или иной степени на лиспе — uLisp (для микроконтроллеров, BioLisp.
     
     
  • 3.65, freehck (ok), 14:02, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Я бы сказал, что из перечисленного живы только Clojure и Racket. Плюс я бы добавил Emacs Lisp и Guile.

    PS Когда говоришь про CL, надо всё же указывать конкретную реализацию. SBCL например. Но я бы не сказал, что там большая тусня.

     
     
  • 4.79, Онаним (?), 21:26, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    С Emacs Lisp всё более-менее понятно. А Guile где жив? Мне кажется я бы с удовольствием в него углубился, но где мне это пригодится? Хочу выбрать и вкурить какой-нибудь язык, на котором будет удовольствие для перфекциониста писать и в то же время легко найти не маргинальное применение в жизни.

    > Когда говоришь про CL, надо всё же указывать конкретную реализацию.

    Согласен, но наверно стоит заметить, что преимущество CL перед Scheme как раз в существенной мере стардартизации и переносимости кода между реализациями.

     
     
  • 5.85, freehck (ok), 21:48, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > С Emacs Lisp всё более-менее понятно. А Guile где жив? Мне кажется
    > я бы с удовольствием в него углубился, но где мне это
    > пригодится?

    Честно -- сам я не видел, но в Guix вроде бы активно юзается. Вообще, схема, она и в африке схема. Мне плевать на конкретную имплементацию, я буду на Guile смотреть, когда (если) guile-emacs будет готов.

    > Хочу выбрать и вкурить какой-нибудь язык, на котором будет удовольствие
    > для перфекциониста писать и в то же время легко найти не
    > маргинальное применение в жизни.

    Тогда выбирай OCaml. Это правда ML, а не Lisp, но он даст Вам именно то, о чём просите. Рекомендую использовать стандартную библиотеку Core и книжку Real World Ocaml (она вполне официально доступна в онлайне абсолютно бесплатно).

    >> Когда говоришь про CL, надо всё же указывать конкретную реализацию.
    > Согласен, но наверно стоит заметить, что преимущество CL перед Scheme как раз
    > в существенной мере стардартизации и переносимости кода между реализациями.

    Может оно и так, но к сожалению, когда ты сталкиваешься с CL, тебе необходимо принять как факт, что тот функционал, который тебе кажется само собой разумеющимся, в CL придётся самостоятельно дописывать. И даже quicklisp этого не исправляет. Такова вот грустная реальность.

    Что касается Scheme -- то там тусня заметно шире. В том же Racket велика вероятность, что если Вам нужен какой-либо модуль, то он там уже есть.

     
     
  • 6.134, antares0 (?), 17:20, 22/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Может оно и так, но к сожалению, когда ты сталкиваешься с CL,
    > тебе необходимо принять как факт, что тот функционал, который тебе кажется
    > само собой разумеющимся

    Например? любопытно.
    > Что касается Scheme -- то там тусня заметно шире. В том же
    > Racket велика вероятность, что если Вам нужен какой-либо модуль, то он
    > там уже есть.

    Scheme заметно шире = Racket ? Или ты что-то еще из продвинутое имеешь ввиду?


     
  • 5.89, myhand (ok), 21:55, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > А Guile где жив?

    Он до сих является официальным стандартом для языка расширений в GNU.  Очень подробно документирован  (не хуже питона, как минимум), с потрохами.

    А так, смотря с чем сравнивать.  Если сравнивать с CPython, то скорее мертв, чем жив.  А вот если с PyPy - то вполне себе шевелится.

    Опять таки, никаких CoC, никаких инклюзивностей.  SJW пока стороной обходят, цените это...

     
     
  • 6.112, Онаним (?), 09:11, 22/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > официальным стандартом для языка расширений в GNU

    Да, но где и что это за расширения такие, например? Единственная расширяемая программа GNU, мне известная - это GIMP и там свой вариант Scheme на сколько я помню.

     
     
  • 7.114, myhand (ok), 09:59, 22/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, зайдите для начала хоть на сайт guile посмотреть.
     
  • 6.116, Andrey Mitrofanov (?), 10:40, 22/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >> А Guile где жив?
    > Опять таки, никаких CoC, никаких инклюзивностей.  SJW пока стороной обходят, цените
    > это...

    В гайле, да, нет КоК-а.

    Вот в гиксе -- уже.
    http://git.savannah.gnu.org/cgit/guix.git/tree/CODE-OF-CONDUCT
    Оутрич-интерны инклюзивят, гугло-студенты.

    Популярный проект[I]!

     
     
  • 7.155, Аноним (38), 02:43, 24/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Есть надежда, что Гикс теперь перейдет на GKCG (хороший ход от Столлмана, чтобы SJW заткнулись, но моральную панику не разводить и охоту на ведьм не устраивать). Предложение в рассылке уже было.
     
     
  • 8.159, myhand (ok), 11:00, 24/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    They seem reasonable a tad reactionary, but hey, it s rms but orthogonal to ou... текст свёрнут, показать
     
  • 8.160, Andrey Mitrofanov (?), 11:59, 24/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    В гиксе надь не менять шило на мыло, а больше вырезано само- цензурой, ... текст свёрнут, показать
     
  • 5.123, Michael Shigorin (ok), 14:18, 22/10/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > С Emacs Lisp всё более-менее понятно. А Guile где жив? Мне кажется
    > я бы с удовольствием в него углубился, но где мне это пригодится?

    Например, http://altlinux.org/alterator (и да, за владение guile у нас вполне реально сторговать более высокую зп).

    > Хочу выбрать и вкурить какой-нибудь язык, на котором будет
    > удовольствие для перфекциониста писать и в то же время легко найти
    > не маргинальное применение в жизни.

    Ну "легко" -- это не факт, скорее "возможно разумными усилиями", я бы сказал...

     
  • 5.133, Your Anonymous (?), 17:09, 22/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    А guile в модном нынче Guix.
     
     
  • 6.142, Онаним (?), 22:51, 22/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Guix уже обогнал по популярности Nix (популярность которого, вопреки офигенности, где-то около нуля)?
     
     
  • 7.148, Andrey Mitrofanov (?), 11:28, 23/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Guix уже обогнал по популярности Nix (популярность которого, вопреки офигенности, где-то
    > около нуля)?

    Да, именно! В форуме опенета всё именно так.

     
  • 5.156, Аноним (38), 02:56, 24/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Guile вполне себе развивается. На подходе 3.0 (уже вышла бета), в котором будет JIT.
    Guix, похоже, подогрел интерес к этому языку.
     
  • 4.105, Anon4ik (?), 00:31, 22/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    А говоря про C или C++ нужно указывать например gcc или clang? Безусловно, если речь про виндоус зайдет, то тогда да, следует упомянуть реализацию, ибо это уже не совсем тот язык, который знают нормальные ребята.
    Я пишу на portable Common Lisp, работаю на 3-х реализациях: ecl, sbcl, ccl.
     
     
  • 5.107, myhand (ok), 01:02, 22/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > А говоря про C или C++ нужно указывать например gcc или clang?

    Вы не поверите сколько у gcc нестандартных расширений.  Так что да, таки нужно, в общем случае этими вещами пользуются.

     
  • 5.109, freehck (ok), 01:59, 22/10/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Безусловно, если речь про виндоус зайдет, то тогда да, следует упомянуть
    > реализацию, ибо это уже не совсем тот язык, который знают нормальные
    > ребята.

    Знаете, у CL-ей такая большая разница между реализациями, что всё же указывать конкретные не лишним будет.

     
     
  • 6.143, Онаним (?), 22:52, 22/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Знаете, у CL-ей такая большая разница между реализациями, что всё же указывать
    > конкретные не лишним будет.

    Забавно. Читал ровно обратное. Стандартизованность между реализациями и лёгкость переноса кода с одной на другую позиционируется как преимущество Common Lisp.

     
     
  • 7.149, Andrey Mitrofanov (?), 11:34, 23/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >> Знаете, у CL-ей такая большая разница между реализациями, что всё же > Забавно. Читал ровно обратное.

    Где? мы тоже почитаем!

    > кода с одной на другую позиционируется как преимущество Common Lisp.

     
  • 5.121, нах (?), 13:39, 22/10/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А говоря про C или C++ нужно указывать например gcc или clang?

    нет, потому что в clang используется "совместимый" (читай - скопипащеный) кодогенератор. Именно потому, что иначе хрен бы чего дальше хеловорд работало бы, даже на plain c. (разница в стандартах по умолчанию не в счет, тем более они и в разных версиях разные)

    >  Безусловно, если речь про виндоус зайдет, то тогда да, следует упомянуть реализацию, ибо это
    > уже не совсем тот язык, который знают нормальные ребята.

    ну то есть так и запишем - "нормальные ребята" ничего кроме gcc распоследней версии ниасилили.

     
     
  • 6.125, Michael Shigorin (ok), 14:20, 22/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >> А говоря про C или C++ нужно указывать например gcc или clang?
    > нет, потому что в clang используется "совместимый" (читай -
    > скопипащеный) кодогенератор.

    Генератор или разбиратор?  А то тех же VLA и вложенных функций там тоже нет (как и в любом не-gcc, насколько понимаю).

     
  • 6.140, meantraitor (?), 19:49, 22/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >> А говоря про C или C++ нужно указывать например gcc или clang?
    > нет, потому что в clang используется "совместимый" (читай - скопипащеный) кодогенератор. Именно
    > потому, что иначе хрен бы чего дальше хеловорд работало бы, даже на plain c. (разница в
    > стандартах по умолчанию не в счет, тем более они и в разных версиях разные)

    Подскажите, как связан кодогенератор с диалектом языка? Я всегда думал, что за это фронтенд отвечает.
    И как можно скопипастить кодогенератор, если у них IR совершенно разный?

     
     
  • 7.147, нах (?), 11:25, 23/10/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Подскажите, как связан кодогенератор с диалектом языка?

    диалект-то как раз - настраивается. (причем это то самое место, где настройки по умолчанию у clang/gcc разные, что иногда ведет к лулзам на ровном месте)

    а вот дальше начинаются чудеса, включая но неограничиваясь даже /lib/libgcc_s.so.1 - казалось бы, откуда он взялся в системе где нет и не может быть никакого gcc? ;-)

     

     ....большая нить свёрнута, показать (32)

  • 1.53, northbear (??), 12:32, 21/10/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    И главное, главное хайповый JavaScript с её first-class function, замыканиями и объектами как список пар ключ-значение. Всё это прямиком из Lisp'а...
     
     
  • 2.56, КГБ СССР (?), 13:47, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > И главное, главное хайповый JavaScript с её first-class function, замыканиями и объектами
    > как список пар ключ-значение. Всё это прямиком из Lisp'а...

    И всё это в нижних руках обезьянок, не способных понять мудрёные слова из вашего коммента.

     

  • 1.57, Аноним (57), 13:49, 21/10/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Лисп - изящный язык, на самом деле. Скобки абсолютно не мешают, если оформлять код по строгим правилам, что нужно делать вообще в любом языке. А лисповские макросы - это прям вау, я могу забабахать собственный цикл или ещё что посложнее, на что фантазии хватит
     
     
  • 2.61, КГБ СССР (?), 13:52, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну как не мешают? Если их больше четырёх рядом — это уже перебор для восприятия нормального человека.
     
     
  • 3.67, freehck (ok), 14:04, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Ну как не мешают? Если их больше четырёх рядом — это уже перебор для
    > восприятия нормального человека.

    Вот он -- детектор человека, никогда на лиспе не писавшего.

     
     
  • 4.71, КГБ СССР (?), 14:27, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> Ну как не мешают? Если их больше четырёх рядом — это уже перебор для
    >> восприятия нормального человека.
    > Вот он -- детектор человека, никогда на лиспе не писавшего.

    Делать мне больше нечего — за еду писать буковки для компьютера. Ты для напишешь. Ещё и спасибо скажешь. :)

     
  • 4.72, myhand (ok), 14:29, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нормальные люди на родном языке уже пишут с трудом.  Тоталитарное наследие кровавых коммунистов успешно прое^Wпреодолено, если вы вдруг не знали.
     
     
  • 5.76, Аноним (76), 17:29, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Коммунистам тоже не стоило выбрасывать "лишние" буквы.
     
  • 5.115, Попугай Кеша (?), 10:02, 22/10/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Поддерживаю оратора выше. Сейчас выросло поколение:
    "А зачем учить географию, если извозчик сам довезет?"

    Им скобки с трудом уже даются. Куда уж там до LISP

     
  • 3.77, Аноним (57), 18:08, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Если их больше четырёх рядом — это уже перебор для восприятия нормального человека.

    Поверьте, нисколько не перебор. Если код правильно выравнивать и соблюдать правила по скобкам (не должно быть строк с одними скобками), то всё прекрасно читается, плюс ещё текстовый редактор должен подсвечивать. На Си или JS тоже можно скобок понаставить рядом, да ещё разных видов, но никто не обвиняет сами языки - обвиняют кодеров без элементарных навыков "чистописания". Так же должно быть и здесь.

     
     
  • 4.80, КГБ СССР (?), 21:35, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Разумеется, язык программирования не виноват в том, что на нём иногда пишут обезьяны обезьяньи программы.
     

  • 1.93, ПДК (?), 22:05, 21/10/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Есть такой чувак, по имени Егор Бугаенко. Так он пропагандирует "правильное", с его точки зрения, ООП. Его код очень напоминает функциональное программирование. При этом он сам заявляет, что объекты лучше функций, поскольку кроме поведения у них есть ещё и состояние. Оценить "настоящий" ООП, который лучше функционального программирования можно тут https://www.youtube.com/watch?v=20QBvrHq6TA&t=12m57s

    Какие ваши комментарии?

     
     
  • 2.94, Аноним (25), 22:09, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Java

    Это норма. Там сразу и не понять границы.

     
     
  • 3.95, ПДК (?), 22:10, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Речь вовсе не о лямбдах. Просто посмотри ролик с указанного места.
     
  • 2.102, freehck (ok), 22:33, 21/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Какие ваши комментарии?

    Посморел до 19й минуты, не увидел ничего криминального. Лучше пишите конкретные цитаты.

     
     
  • 3.106, ПДК (?), 00:52, 22/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Матрёшка объектов, дёргающих методы друг друга как функции в функциональных ЯП.
     
     
  • 4.110, freehck (ok), 02:00, 22/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Матрёшка объектов, дёргающих методы друг друга как функции в функциональных ЯП.

    Ну да. Это хорошо и правильно. Такова специфика ООП.

     
  • 2.124, Ordu (ok), 14:20, 22/10/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    У функции тоже может быть состояние -- такая функция называется замыкание.

    ps. видео не смотрел, смотреть слишком долго. можно в текстовом варианте?

     
  • 2.146, шухер (?), 11:03, 23/10/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/

    Посмотрел код, в принципе неплохо. Ставит везде final, это одобрямс.

    Но...

    В некоторых местах неоправдано создаются лишние объекты.

    Например:

    public Response act(final Request req) throws IOException {
        final String name = new RqFormBase(req).param("name")
               .iterator().next().trim();

    На парсинг параметра он породил как минимум 2 объекта - RqFormBase и Iterator.

    Я как главный разраб за это бы наказал, читай - недопустил бы подобный код в проекте за который я отвечаю. Жава и без этого любит покушать памяти и для меня странно видеть, как люди делают вид, что этого не знают. Надо уважать железо и считаться с ним хоть в какой-то степени.

    Чем хуже это?

    final String name = req.firstParam("name").trim();

    trim() тоже лучше спрятать под капот, если он его неизбежно делает каждый раз в подобных местах.

    Итого:

    final String name = req.firstParam("name");

    vs

    final String name = new RqFormBase(req).param("name")
               .iterator().next().trim();

    Портянка ТкApp тоже на любителя. Оно вроде наглядно, но присмотревшись понимаешь, что эта лапша заставляет тебя нехило всматриваться.

    Этакий непонятый гений получается.

     

  • 1.119, Аноним (119), 12:53, 22/10/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Индустрия софтостроения начиналась с Lisp-ов, а заканчивается всякими голынгами. Кто такой сказал, что эволюция идёт по пути совершенствования и усложнения? В софтостроении всё наоборот в этом плане.
     
     
  • 2.127, Cradle (?), 14:46, 22/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    есть такое определение: "эволюция всех известных языков программироваия - это путь от фортрана к лиспу"
     
     
  • 3.129, Andrey Mitrofanov (?), 15:57, 22/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > есть такое определение: "эволюция всех известных языков программироваия - это путь от
    > фортрана к лиспу"

    Следствие/лемма м.б.?...
    https://ru.wikipedia.org/wiki/%D0%94%D0%B5%D1%81

     
     
  • 4.138, Cradle (?), 18:21, 22/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    нет, в том смысле что каждый новый язык создается как компромис между фортрановской парадигмой и каким-то набором функциональных примочек, но по мере развития доля функциональщины стабильно увеличивается. Справедливо и для функциональных языков, и для cl конечно, тоже стремятся к идеальному лиспу. Только форт как родился так и пошел в обратную сторону. Но там всё в обратную сторону, тем и живут :)
     

  • 1.135, Аноним (135), 17:41, 22/10/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Лисп -- это язык американской научно-технической элиты. Исторически специализировался для ислледований в области Искусственого Интеллекта. Хотя, сам этот язык является языком общего назначения.
     
  • 1.161, iZEN (ok), 13:12, 26/10/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Жаль, что так быстро ушёл из жизни. На нём не успели написать ничего стоящего, что бы сегодня использовалось.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру