LISP: возрождение
Oct. 8th, 2016 11:34 am...точнее, почему у LISP и multistage programming в целом есть хорошие шансы полноценно войти на арену в недалеком будущем.
Все читали чудесное "How it feels to learn JS in 2016"? (на русском, на английском)
Так вот, если присмотреться, экосистема Javascript проходит во многом через те же проблемы, которые в свое время тормознули экосистему Lisp'a:
1) нужда поддерживать похожие, но разные платформы сделала transpiling, макросы и прочие AST трансформеры нормой жизни,
2) это порождает жуткую фрагментацию из-за того, что сделать очередной несовместимый вариант чисто под себя быстрее, чем решать совместимость
3) в решение этих проблем вкладывается огромное количество денег, а решения перенести обратно в лисповую экосистему потом будет гораздо легче, и жить они там будут лучше.
Единственный нюанс будет в том, что это вряд ли будет Common Lisp, R7RS или какой там еще у нас есть стабильный feature-complete LISP стандарт. Гораздо больше мне верится в бутстрап от лиспов, в которых fexpr-семантика не испорчена premature optimization (Kernel, PicoLisp и подобное) - они банально проще и единообразнее, а производительности, как показывает тот же TypeScript, сейчас вполне хватает на компиляторы-поверх-интерпретаторов.
Все читали чудесное "How it feels to learn JS in 2016"? (на русском, на английском)
Так вот, если присмотреться, экосистема Javascript проходит во многом через те же проблемы, которые в свое время тормознули экосистему Lisp'a:
1) нужда поддерживать похожие, но разные платформы сделала transpiling, макросы и прочие AST трансформеры нормой жизни,
2) это порождает жуткую фрагментацию из-за того, что сделать очередной несовместимый вариант чисто под себя быстрее, чем решать совместимость
3) в решение этих проблем вкладывается огромное количество денег, а решения перенести обратно в лисповую экосистему потом будет гораздо легче, и жить они там будут лучше.
Единственный нюанс будет в том, что это вряд ли будет Common Lisp, R7RS или какой там еще у нас есть стабильный feature-complete LISP стандарт. Гораздо больше мне верится в бутстрап от лиспов, в которых fexpr-семантика не испорчена premature optimization (Kernel, PicoLisp и подобное) - они банально проще и единообразнее, а производительности, как показывает тот же TypeScript, сейчас вполне хватает на компиляторы-поверх-интерпретаторов.