[Manage]

[Назад]
Режим ответа
Имя
E-mail
Тема
Сообщение
CAPTCHA   (введи текст с картинки ниже)
CAPTCHA
Файл
Внеш. ресурс   (YouTube URL)
  • Поддерживаемые типы файлов: JPG, PNG и GIF.
  • Максимально допустимый размер файла: 5 K.
  • Для картинок больше 32x32 будут созданы превью.

No.5419
Учу Scheme.

Lisp это, наверное, единственный пробел в программировании, который имею. Не то чтобы гуру, но дай мне любой популярный современный язык и «со словарем» напишу то, что нужно, под конец уже записывая код без «словаря». Последним освоил Хаскель и это было весело (писать программку для себя), хотя инструментарий у него крайне парашный.

А вот в Лисп въехать никак не мог. Слишком диковинная парадигма, интуитивно ничего не понятно, в скобочках теряюсь. Но сделал как с Хаскелем, взял читать книгу про Scheme, где разжевывается все до запятой, и вроде проясняется.

Причем с новыми веяниями GNU можно будет даже использовать его для скриптов. В отличие от Хаскеля, которым разве что аппки писать, но с его инструментарием я б и на версту к проду не подпустил *.hs.
¨ No.5431
>>5419
>Учу Scheme.
Это с минорой который?

>освоил Хаскель
Прямо целиком освоил, со всей математикой, или только как процедурщину в сахаром?

>в Лисп въехать никак не мог
Lisp переводится как "детский лепет", и авторами подразумевалось, что это будет очень простой язык. Может, конечно, они думали, что дети в будущем будут с IQ 150 минимум, но что-то не срослось.
¨ No.5436
>>5431
> минорой
Не знаю, что это. У него миллион имплементаций, я пользуюсь Guile. Впрочем, появилась идея написать что-то вроде sdkman, чтоб разные имплементации удобно устанавливать и использовать. Если затянет, то так и сделаю.

> Прямо целиком освоил, со всей математикой, или только как процедурщину в сахаром?
Не понимаю вопроса. Прочитал книжку Липовацы, где разжевываются концепции. Написал программу для себя.

Но сказать, что наизусть знаю весь язык и стандартные библиотеки — нет. Такой цели никогда и не ставлю. Мой подход к (само)образованию — освоить парадигму и запомнить, где искать материалы, если понадобится погрузиться в детали.

> Lisp переводится как "детский лепет"
А как же аббревиатура "LISt Processing" (обработка списков)? Хотя игра слов интересна, да.

> авторами подразумевалось, что это будет очень простой язык
У Scheme точно. Минимализм как парадигма.
И синтаксис у него и других Лиспов предельно простой. Сложность как раз въехать, как из такой простоты делать более сложные вещи. Усугубляется еще тем, что оно кардинально отличается от привычных С-подобных языков или даже математических нотаций. Непривычно.
¨ No.5438
> Lisp
> Хаскеля
О, опять шиз. Вместо нормального ЯП ебется с говном мамонта 10+ давности. Ни библиотек, не поддержки.
¨ No.5439
>>5436
> > Lisp переводится как "детский лепет"
> А как же аббревиатура "LISt Processing" (обработка списков)? Хотя игра слов интересна, да.
Лисп разрабатывался для искусственного интелекта, идея была в том, что ИИ-программа будет сама себя переписывать, постепенно развиваясь как ребёнок. Может такое объяснение и потом придумали, конечно.

> оно кардинально отличается от привычных С-подобных языков или даже математических нотаций. Непривычно.
Польская нотация. Не знаю почему, но популярна у теоретиков информатики. Может по историческим причинам.
¨ No.5440
>>5438
Успокойся, все уже давно знают, что лучший язык программирования это сишарп (только он в руках майкрософта). А второй лучший - Ада.
¨ No.5441
>>5440
Вообщет пехепе, но раз так то лада
¨ No.5448
>>5438
> Ни библиотек, не поддержки
У Guile с этим норм, потому что GNU сделала его основой своей дистрибьюции GNU/Linux — Guix.

А если говорить про Lisp вообще, то Common Lisp та еще махина. https://awesome-cl.com
Или можно взять Clojure и использовать библиотеки Джавы.

Но моя цель въехать в Лисп как парадигму и минималистичный Scheme лучше всего подходит. Читаю вот это: https://www.scheme.com/tspl4/

> Вместо нормального ЯП
А зачем «нормальные» ЯП учить? Сел и пишешь/исправляешь, там все интуитивно понятно.
¨ No.5449
>>5439
> Польская нотация
Да, но дело не только и не столько в ней. Я утопал в скобочках, плохо понимая, где нужно их ставить, где не нужно. Еще и проебывал закрывающие скобочки. Но книга проясняет. Вчера вот прочитал, что можно даже квадратные иногда ставить. Например, когда многократные условия используются, то есть cond, или для обозначения аргументов let.
¨ No.5453
>>5436
> Мой подход к (само)образованию — освоить парадигму и запомнить, где искать материалы, если понадобится погрузиться в детали.
Once you learned the big ideas, they thought, and this is my experience also, learning another programming language isn't a big deal; it's a chore for a weekend.
https://people.eecs.berkeley.edu/~bh/sicp.html
¨ No.5458
Почитал статеек про историю Лиспа. Вроде нигде нет про это:
> Лисп разрабатывался для искусственного интелекта, идея была в том, что ИИ-программа будет сама себя переписывать, постепенно развиваясь как ребёнок.
Интересно, где данный факт анон вычитал.
¨ No.5468
>>5458
Я и сам не помню уже. Может на лекции, может в той же википедии. Для меня это как априорное знание уже. Поискав немного, прямого утверждения не нашёл. Однако, в поддержку этого утверждения говорит следующее:

Лисп имеет доступ к синтаксическому дереву программы и, следовательно, может модифицировать свой код во время выполнения;
Самомодифицирующийся код используется в генетическом программировании;
Эволюционные алгоритмы были описанны и стали применяться в 80-х, но идею высказывал Тьюринг в 50-х;
МакКарти разрабатывал Лисп в конце 50-х, релиз - 1960.

В теории это может быть правдой.
¨ No.5469
>>5468
> модифицировать свой код во время выполнения;
Это как? Типо как пыха?
¨ No.5513
>>5469
В пыхе есть eval, так что теоретически да, но практически нет.

Удалить пост