vit_r: default (Default)
[personal profile] vit_r
Давно хотел написать, всё руки не доходили. Но тут увидел, как [dreamwidth.org profile] vak восхищается исподвыпопердностью С++ в интерпретации Scott Meyers.

Этот самый 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



Если переводить на русский и не очень стесняться в выражениях, смысл данного кунстштюка можно передать проще:

"Кодогенерация -- вчерашний день. Пробовал через жопу, какая-то хуйня получается! Хотите прочувствовать настоящие извращения? Ебитесь с темплейтами!"

В серьёзных местах темплейты запрещены административно, а если что разрешено, то строго ограничено битьём по рукам всех желающих выразить в коде свою невьебенность. В первую очередь, из-за диких расходов времени на отлов косяков. И из-за феноменальной хрупкости результатов.

Тема очень большая, но сейчас времени нет. На днях узнал, что детки с шаловливыми ручками опять поломали Perl. Попытки номер 6 им оказалось мало, так что они психоделической версии дали совсем другое имя, а для новых художеств перескочили сразу на цифру 7.

Date: 2020-06-30 02:39 pm (UTC)
From: [personal profile] iamjaph
Про Perl. Так это все разные люди. Те, кто в 200x годах писали Perl6 (Parrot) - они переругались: главный архитектор и ведущий разработчик не могли найти общий язык. Архитектору надоело - он ушел. Без него главный еще год коммитиил, пока оно не заглохло. Через лет 5-7 женские руки подобрали то, что получилось. Собрала новую команду, но было все плохо: под NET и JVM Perl6 работал быстрей, чем под Parrot. А то, что сейчас есть с Raku - это один человек сделал виртуальную машину MoarVM под NQP (это в 2012 году).

Date: 2020-07-01 12:29 pm (UTC)
thedeemon: (Default)
From: [personal profile] thedeemon
Не цените вы искусство! Это ж художники и поэты, они так видят и самовыражаются.

Profile

vit_r: default (Default)
vit_r

August 2025

S M T W T F S
      12
3456789
10111213141516
17181920212223
24252627282930
31      

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 1st, 2025 06:34 am
Powered by Dreamwidth Studios