Хабы: Lisp, Программирование
Программисты: Разработчик, твой язык жалок, синтаксис беден и убог, как нам писать код?!?
Разработчик(языка lisp): Вот вам МАКРОС!!!
Разработчики языка Лисп(и Scheme тоже) были очень хитрые ребята, бессовестно воспользовавшись гомоиконичностью языка(т.е свойством подобия кода данным - знаменитая фраза в лиспе всё список, относится именно к этому свойству) они внедрили в язык макросы, средства синтаксической абстракции.
Таким образом в отличии от большинства ныне распространённых языков программирования(разработчики которых ночами не спят, пишут синтаксические анализаторы для всё новых и новых синтаксических форм своих языков), разработчики лиспов, обходятся минимальным набором синтаксических форм, что упрощает и ускоряет процесс интерпретации(да и компиляции тоже), а всё остальное богатство синтаксиса, передано на откуп макросам. Именно через макросы, являющиеся ортогональным средством абстрагирования, по отношению к функциональной абстракции, доступной во всех языках программирования, реализуется совершенствование и развития языков лисп. Это можно описать математической аналогией, когда в математике произошёл переход от рациональных чисел(в языке доступна только функциональная абстракция) к комплексным(в язык внедряется система синтаксической абстракции - макрос).
Читать далее