Почему "все языки делятся на две группы: Лисп и все прочие" ((ц) не помню кто)? А вот почему:
Определим пару функций:
(define (two-op a b c )
(* (+ a b) c))
(define (swap-ops , new-head)
(setq new-head (nth '(1 1 0) two-op))
(setf (nth '(1 1 0) two-op) (nth '(1 0) two-op))
(setf (nth '(1 0) two-op) new-head))
Пощупаем:
> two-op
(lambda (a
(
Read more... )
Comments 51
Писывал я когда-то самомодифицирующиеся программы на ассемблере для сверхоптимизации кода. И с тех пор понял, что за такие вещи (за редчайшим исключением) программисту нужно отрывать руки-ноги-голову.
Всё это эстетство и трюкачество. В реальной промышленной жизни для программирования важно лишь одно: минимизация ошибок программиста. Любым способом, хоть самым «тоталитарным».
Reply
А про "два" я уже высказывался в комментах к прошлому посту -- в том смысле, что "обедом по телефону" сыт не будешь. Нужен личный опыт "побега" из "синтаксической тюрьмы" и от бесконечного отупляющего старт-стопа edit-compile-debug-edit-..., чтобы оценить всю душеполезность Лиспа, а не уподобляться лисе-"виноградному критику".
Reply
Это как раз типичная попытка забить гвоздь без молотка -- изматеришься и пальцы поотшибешь, пока справишься. Таков Ваш опыт. Но стоит ли, опираясь на него, ругать тех, кто пользуется молотком, как продолжением своих рук, без мата и слезших ногтей? Т.е. проблема тут психологического свойства, по типу "не читал, но осуждаю" или "Таити, Таити... нас и тут неплохо кормят".
Reply
Reply
Reply
> зачем вообще до кого-то "достукиваться" в любой области?
В любой и до кого угодно и не надо
Reply
Мною -- впервые! На данном этапе -- последняя. Ну, не ракетчики мы :)
Reply
Reply
Reply
ФБ - функциональные блоки (используются в цифровой схемотехнике). :D
А вот Фейсбук - это Fb. :D
Reply
Reply
За скоростью можно и в Си-либу слазить, пусть жужжит, делов-то.
> Гоните, батенька. quote, unquote, quasiquotation, не? Или скажешь, что в eval они не рассматриваются как специальный случай?
Написано же: у нас. То есть у тех, кто руками расставляет скобочки, а не у маленького железного человечка, который бегает по веткам eval'овского cond и отыскивает значения :) Но даже и тот железный человечек разбирает все формы, включая "специальные", как случаи единого синтаксиса -- разница тут в семантике, а не в синтаксисе.
> Ты хотел сказать...
Не помню, чтобы мы пили на брудершафт. Красная карточка.
Reply
Полноте, батенька, переходили же на "ты" ещё в бородатом году. Впрочем, как пожелаете :)
Завалялся у меня ещё один аргумент, для прожжёных лисперов. Как насчёт того, что описанная схема относится к антипаттерну action at a distance?
Reply
Reply
Reply
И in advance: только не надо заводить тут любимую песню про "большие проекты", про "паттерны" и "шаблоны", про "скорость разработки" и т.п. -- на эти темы Вам есть где душу отвести ;)
Reply
Reply
Reply
Leave a comment