(старая версия лекции) Лисп - прививка от посредственности

Поділитися
Вставка
  • Опубліковано 27 лис 2024
  • Лекция с улучшенным звуком: • Лисп - прививка от пос...
    Тема лекции: #Лисп #lisp
    Поправка: 07:25 Фото с А.П.Ершовым сделано в 1987м
    Презентация из видео: disk.yandex.ru...
    Файфель Б.Л.
    СГТУ, Саратов
    catstail@ya.ru

КОМЕНТАРІ • 83

  • @SSYP
    @SSYP  8 місяців тому

    Эта же лекция с нормальным звуком: ua-cam.com/video/xU7K0GI2zD0/v-deo.html
    Пока готовят следующие лекции (которые читают в т.ч. офлайн) можно
    1) послушать лекцию КОВАРНАЯ ТОЧКА ua-cam.com/video/S4vcl4q8uk8/v-deo.htmlsi=0-B1Ct86u6bulIOv
    2) посмотреть курс Python Б.Л.Файфеля
    ua-cam.com/play/PLCfM57FK6AQSfJ3H10s3xo5Ns9BFFTSms.html&si=qr0ojNn4QjPnUCtt

  • @stas_v
    @stas_v 8 місяців тому +12

    Думал гляну пару минут и пойду дальше. В итоге досмотрел до конца и жду про Ruby. Лайк-подписка разумеется. Спасибо!

  • @АндрейАндрей-ы9ъ5т
    @АндрейАндрей-ы9ъ5т 8 місяців тому +7

    Спасибо за видео! Жду продолжения!

  • @deepblueskyshine
    @deepblueskyshine 8 місяців тому +1

    Лисп очень долго держался на плаву благодоря AutoCAD от компании AutoDesk, - аш до середины первой декады нового нового тысячилетия, когда встроенный интерпретатор AutoLISP заменили компилятором C.

  • @ivanprokofyev
    @ivanprokofyev 6 місяців тому

    Превосходно!

  • @БорисФайфель
    @БорисФайфель 8 місяців тому +10

    Поправка автора: Фото с А.П. Ершовым сделано не в начале 2000-х, как сказано в видео, а в 1987 г. Приношу извинения!

    • @SSYP
      @SSYP  8 місяців тому +2

      Добавили в описание видео. Заодно добавлена карточка про А.П.Ершова на видео о его жизни.

  • @ВасилийЖданов-б7р
    @ВасилийЖданов-б7р 8 місяців тому +1

    замечательно

  • @sergatmel8242
    @sergatmel8242 8 місяців тому

    Спасибо !
    Познавательно.

  • @serb1146
    @serb1146 8 місяців тому +5

    Интересно вспомнить Lisp, хотя много лет пишу на C#...

  • @ПавелМеняйлов-й6у
    @ПавелМеняйлов-й6у 8 місяців тому +6

    Занятный язык!

    • @jimgydis
      @jimgydis 8 місяців тому +1

      Классный.

  • @andyshee3661
    @andyshee3661 8 місяців тому +4

    Лисп используется как язык сценариев в установщиках Amiga-подобных систем.

  • @mrMultipassport
    @mrMultipassport 8 місяців тому +6

    лисп язык сценариев в автокаде (там свой диалект, но это лисп), я считаю это достаточно массовое. clojure это тоже, по сути, лисп только для jvm.

    • @alexji4654
      @alexji4654 8 місяців тому

      Спасибо! Честно говоря, идея автора изучать языки ради развлечения (или развития) мне показалась спорной. Вы дали повод для просмотра ролика.

  • @mqtrade5743
    @mqtrade5743 8 місяців тому +13

    Лисп и философский камень 😂😂😂

  • @КошакКошаков-я6з
    @КошакКошаков-я6з 8 місяців тому +1

    11:40 Тогда уж Паскаль это супер язык. Пишется почти на английском и на нем можно решить абсолютно любую задачу. Начать программировать на нем может даже ребенок, а при желании даже операционку можно на нем написать.

    • @olegkomlev
      @olegkomlev 8 місяців тому +1

      После языка Паскаль Никлаус Вирт разработал языки Модула и Оберон. Это единственное семейство языков, которые развивались путем упрощения.

    • @КошакКошаков-я6з
      @КошакКошаков-я6з 8 місяців тому +1

      @@olegkomlev Согласен. Но не вижу в этом ничего плохого. Посмотрите на Джаву или плюсы, там порог вхождения довольно высок, и это влияет на популярность этих языков. Плюс к ним накрутили массу "сахара" и учебники уже не поспевают за этим, А новичкам приходится нырять в такой код с головой.
      Я, просто для примера, предпочел голанг для сервисов, но не джаву. Как вспомнишь "Eterprise Edition 'Hello world'" аж мороз по коже. На гите где-то валяется исходник.
      Хотя, как сказал один хороший человек: "Хороший программист должен начать программировать на новом языке через две недели." Может быть он немного утрирует, но дело, по моему, скорее всего не в языке, а в программисте и задаче. Лично у меня проблемы с JS. Отвык я от такой вакханалии типов...

  • @ГеннадийОловянников
    @ГеннадийОловянников 8 місяців тому +5

    Я будучи студентом тоже писал свой лисп-интерпретатор. А вот с тем что лисп очень близок к человеческому языку не согласен - в каком языке предложения вложены друг в друга? Плюс инфиксная нотация. Вот "if .. Then .. Else .." больше похоже на чел. язык. Или на пример "select .. from .. where ..".

    • @jimgydis
      @jimgydis 8 місяців тому

      (if (or informal_language high_level_language)
      (print "The programming language is human-like.")
      (print "The programming language is not human-like."))

    • @ivanprokofyev
      @ivanprokofyev 6 місяців тому

      А как ты просишь кого-то сложить два числа? )
      Сложи два и два. )

  • @berdkivi9023
    @berdkivi9023 8 місяців тому

    Желательно все ссылки, которые вы приводите в видео, давать так же в закрепленном комментарии или в тексте под самим видео.

  • @FeelUs
    @FeelUs 8 місяців тому +2

    Quote мне сразу напомнило препроцессор м4

  • @usercommon1
    @usercommon1 8 місяців тому +3

    лисп база

  • @alexei3366
    @alexei3366 8 місяців тому +1

    Будет ли видео про Emacs Lisp? Было бы здорово.

    • @БорисФайфель
      @БорисФайфель 8 місяців тому +2

      Я с огромным уважением отношусь к культуре Emacs, но пока не планирую такой материал. (Автор)

  • @strash1692
    @strash1692 8 місяців тому

    Спасибо за видео
    44:09 при объснении функции cons второй аргумент был представлен списком (2 3) без квоттирования. Это ошибка? Ведь это же не вычислимый аргумент

  • @TheRedbeardster
    @TheRedbeardster 8 місяців тому

    Поправка: Scala - не функциональный язык, это мультипарадигменный язык (можно писать как в ФП-, так и в ООП-стилях), Erlang - это немолодой язык(релиз был в 1986)

    • @БорисФайфель
      @БорисФайфель 8 місяців тому

      Для меня 1986 г. - это не очень давно... Вот 1956-й - это да.

  • @nenne303
    @nenne303 8 місяців тому +2

    Так а где найти исходники примеров?

  • @berdkivi9023
    @berdkivi9023 8 місяців тому

    что-то со звуком на видео, какие-то помехи все время слышны

    • @SSYP
      @SSYP  8 місяців тому

      Есть такое. Заменили микрофон, посмотрим, что получится.

    • @abrajmek_zalilov
      @abrajmek_zalilov 8 місяців тому

      @@SSYPэто проблема скорее всего не микрофона, а звуковой карты. Точнее говоря переполнения буфера. Готов ради проекта пожертвовать своим временем и вычистить аудио дорожку. Вам это интересно?

  • @ВасилийШумилов-о8ь
    @ВасилийШумилов-о8ь 8 місяців тому

    10:46 от человеческого языки и мышления lisp точно также далек как и ассемблер, а вот си и все его потомки более человеко совместимые так сказать

  • @Doctor.Livesey
    @Doctor.Livesey 8 місяців тому +2

    42:56 Непонятно почему между пустым списком и Nil ставится знак равенства 🤔 Пустой список можно использовать в циклах, а Nil -- нет. Может быть это специфика языка?

    • @vadimsf5976
      @vadimsf5976 8 місяців тому +3

      Потому что в Lisp и его диалектах NIL и () - разная запись одного и того же объекта. Интерпретатор Lisp понимает запись () как указатель на NIL. И NIL и () - это одновременно и атом и список.

    • @Doctor.Livesey
      @Doctor.Livesey 8 місяців тому

      @@vadimsf5976 спасибо за разъяснение

    • @Eimrine
      @Eimrine 8 місяців тому

      Пустой список в цикле использовать как пустой инстанс какого-то типа данных?

    • @Doctor.Livesey
      @Doctor.Livesey 8 місяців тому

      @@Eimrine скорее в качестве коллекции не содержащей элементов. Одно дело когда есть список, но там нет элементов. И совсем другое когда списка нет)

    • @Eimrine
      @Eimrine 8 місяців тому +1

      @@Doctor.Livesey Коллекция - это же один из элементарных типов данных, а в Лиспе из типов данных только составная конструкция из списков, указатель на которую положен в symbol. Коллекция - массив указателей на разнородные типы данных, а в Лиспе вместо массивов - список. Пустой массив - указатель по которому лежит NULL, а пустой список это и есть NULL. Когда в массиве лежит текст, то если это не Паскаль-стиль стрингов то текст должен трэйлиться Нулом; а в составных типах данных Лиспа все лишние указатели надо занулить. Теперь вам всё понятно?

  • @qwfpgjful
    @qwfpgjful 8 місяців тому +1

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

    • @jimgydis
      @jimgydis 8 місяців тому +1

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

    • @qwfpgjful
      @qwfpgjful 8 місяців тому

      @@jimgydis я знаю, стиль удобный для автоматизации. Но он не разу не для естественного языка

    • @jimgydis
      @jimgydis 8 місяців тому

      ​@@qwfpgjfulну да, не Prolog конечно. Но тоже ничего.

  • @uuuummm9
    @uuuummm9 8 місяців тому

    44:24 а почему cons не вычисляет второй аргумент? Квотировать не нужно что ли?

    • @БорисФайфель
      @БорисФайфель 8 місяців тому

      cons вычисляет оба аргумента. Из-за чего возник такой вопрос?

    • @uuuummm9
      @uuuummm9 8 місяців тому

      @@БорисФайфель ранее вроде говорилось, что список невозможно вычислить и поэтому его надо квотировать. А здесь он не квотированный.

    • @БорисФайфель
      @БорисФайфель 8 місяців тому

      Где "здесь"? Приведите код или скажите, где это в видео.@@uuuummm9

    • @СергейМакеев-ж2н
      @СергейМакеев-ж2н 8 місяців тому +1

      @@uuuummm9 А ведь ты прав. Выражение на слайде "(cons 1 (2 3))" строго говоря неправильное. Интерпретатор на него скажет, что ты попытался вызвать функцию "2", которой не существует.
      Правильно было бы именно квотировать: "(cons 1 `(2 3))"

    • @БорисФайфель
      @БорисФайфель 8 місяців тому

      @@СергейМакеев-ж2н да, на слайде опечатка. Прошу прощения!

  • @linkernick5379
    @linkernick5379 8 місяців тому +1

    Rust будет?

    • @БорисФайфель
      @БорисФайфель 8 місяців тому

      Не исключено. Мне он самому очень интересен.

  • @YazBelinskiy
    @YazBelinskiy 8 місяців тому

    Lisp значит "шепелявить", а не "лепетать"..

  • @ProcXelA
    @ProcXelA 8 місяців тому +2

    Зачем так много языков-то? Лучше бы сделали один язык. И всего делов.

    • @vitalyl1327
      @vitalyl1327 8 місяців тому +2

      Не, одного мало, а вот двух досаточно было бы. Первых двух - Фортран и Лисп.

    • @arzamas1988
      @arzamas1988 8 місяців тому +1

      Зачем куча ножей повару? Сделали бы один.

    • @ProcXelA
      @ProcXelA 8 місяців тому +1

      @@arzamas1988Так сделали же. Называется шэф-нож. Им всё и режут настоящие повара. А теперь надо сделать шэф-язык.

    • @arzamas1988
      @arzamas1988 8 місяців тому

      @@ProcXelA ну делай. Такой же простой как питон, такой же быстрый, как СИ.

    • @БорисФайфель
      @БорисФайфель 8 місяців тому +2

      Такие попытки неоднократно предпринимались. См. Алгол. Но оказались неудачными. Это противоречит человеческой сущности. И лежит на той же "полке", что и "мечта о справедливом обществе", "всеобщем равенстве" и т.п.

  • @moscow8881
    @moscow8881 8 місяців тому +1

    какой смысл изучать непопулярные языка? смысл есть только если вы бессметрны

    • @БорисФайфель
      @БорисФайфель 8 місяців тому +4

      А какой смысл вообще что-либо изучать? 😀

    • @vitalyl1327
      @vitalyl1327 8 місяців тому

      Чтоб быть в 20 раз продуктивнее лопухов, изучавших только популярные.

    • @jimgydis
      @jimgydis 8 місяців тому

      Чем уже ниша, тем выше зарплата (только тсс, это секрет).

    • @olzk4705
      @olzk4705 8 місяців тому +1

      Чтобы не писать говнокод и не нервировать коллег (непопулярное мнение)

    • @WhitelogicRussia
      @WhitelogicRussia 8 місяців тому +2

      Смысл такой же, как у чтения хороших книг, у путешествий, у общения с людьми другой культуры. Это расширяет ваш опыт, и позволяет интересней прожить жизнь. Попробуйте понять лисп - вы по-другому начнёте смотреть на программирование.