![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Давно хотел написать, всё руки не доходили. Но тут увидел, как
vak восхищается исподвыпопердностью С++ в интерпретации Scott Meyers.
Этот самый Meyers написал введение в книге Andrey Alexandrescu "Modern C++ Design", но я процитирую сейчас кусок из дефирамбов, которые помещены следующими:
Если переводить на русский и не очень стесняться в выражениях, смысл данного кунстштюка можно передать проще:
"Кодогенерация -- вчерашний день. Пробовал через жопу, какая-то хуйня получается! Хотите прочувствовать настоящие извращения? Ебитесь с темплейтами!"
В серьёзных местах темплейты запрещены административно, а если что разрешено, то строго ограничено битьём по рукам всех желающих выразить в коде свою невьебенность. В первую очередь, из-за диких расходов времени на отлов косяков. И из-за феноменальной хрупкости результатов.
Тема очень большая, но сейчас времени нет. На днях узнал, что детки с шаловливыми ручками опять поломали Perl. Попытки номер 6 им оказалось мало, так что они психоделической версии дали совсем другое имя, а для новых художеств перескочили сразу на цифру 7.
![[dreamwidth.org profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Этот самый Meyers написал введение в книге Andrey Alexandrescu "Modern C++ Design", но я процитирую сейчас кусок из дефирамбов, которые помещены следующими:
Code generators have held comparable promise for years, but my own research and practical experience have convinced me that, in the end, code generation doesn't compare. You have the round-trip problem, the not-enough-code-worth-generating problem, the inflexible-generator problem, the inscrutable-generated-code problem, and of course the I-can't-integrate-the-bloody-generated-code-with-my-own-code problem. Any one or these problems may be a showstopper; together, they make code generation an unlikely solution for most programming challenges.
Wouldn't it be great if we could realize the theoretical benefits of code generation -- quicker, easier development, reduced redundancy, fewer bugs -- without the drawbacks? What's what Andrei's approach promises. Generic components implement good designs in easy-to-use, mixable-and-matchable templates. They do pretty much what code generators do: produce boilerplate code for compiler consumption. The difference is that they do it within C++, not apart from it. The result is seamless integration with application code.
John Vlissides
IBM T.J. Watson Research
September 2000
IBM T.J. Watson Research
September 2000
Если переводить на русский и не очень стесняться в выражениях, смысл данного кунстштюка можно передать проще:
"Кодогенерация -- вчерашний день. Пробовал через жопу, какая-то хуйня получается! Хотите прочувствовать настоящие извращения? Ебитесь с темплейтами!"
В серьёзных местах темплейты запрещены административно, а если что разрешено, то строго ограничено битьём по рукам всех желающих выразить в коде свою невьебенность. В первую очередь, из-за диких расходов времени на отлов косяков. И из-за феноменальной хрупкости результатов.
Тема очень большая, но сейчас времени нет. На днях узнал, что детки с шаловливыми ручками опять поломали Perl. Попытки номер 6 им оказалось мало, так что они психоделической версии дали совсем другое имя, а для новых художеств перескочили сразу на цифру 7.
no subject
Date: 2020-06-30 02:39 pm (UTC)no subject
Date: 2020-06-30 03:14 pm (UTC)Два года назад в Берне общался с энтуиастами. По-моему, это безнадёжно.
no subject
Date: 2020-07-01 12:29 pm (UTC)no subject
Date: 2020-07-01 12:54 pm (UTC)