- 1
- 2
- 3
- 4
- 5
http://govnokod.ru/20924
Запрашиваемая страница не найдена!
Возможно, её и не было никогда
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+2302
http://govnokod.ru/20924
Запрашиваемая страница не найдена!
Возможно, её и не было никогда
http://dump.bitcheese.net/files/pimarut/%D0%93%D0%BE%D0%B2%D0%BD%D0%BE%D0%BA%D0%BE%D0%B4_%2320924_%E2%80%94_C___%E2%80%94_%D0%93%D0%BE%D0%B2%D0%BD%D0%BE%D0%BA%D0%BE%D0%B4.%D1%80%D1%83.html
но бекап я сделал, так что хуй вам. Я требую продолжения банкета.
>> иллюстрация ограниченности плюсов
>> BOOST_PP_REPEAT
>
>плюсы != препроцессор
Вот в этом то и убогость плюсов, что в них для этого нет НИЧЕГО лучше, чем накопипащенность через препроцессор
>> ограниченности
>
>Как будто ограниченность -- это всегда плохо. HTTP ГОВНО ПОТОМУ ЧТО В НЁМ НЕТ ГОМОИКОН
В случае с плюсами это точно плохо. А какие могут быть гомоиконы в HTTP? Может еще и в FTP их добавить?
Для чего "для этого"? Для цикла во время препроцессинга нужны средства препроцессора? Вот это поворот!
Как вообще BOOST_PP относится к плюсам? Это набор примитивов для упоровшихся по препроцессору, их можно из сишки юзать.
Для того, чтобы повторить нечто n-ное число раз
>Для цикла во время препроцессинга нужны средства препроцессора?
Почему ж препроцессор столь убог, что в нем нельзя сделать это без копипаста?
>Как вообще BOOST_PP относится к плюсам?
Так, что он использует препроцессор, препроцессор есть в плюсах.
>Это набор примитивов для упоровшихся по препроцессору, их можно из сишки юзать.
Конечно можно, и что?
Можно же просто цикл использовать
> Конечно можно, и что?
Критиковать язык, который стремится избавиться от препроцессора всеми силами, за то, что в нём недостаточно развитый препроцессор -- немного странно, тебе не кажется?
Ну и потребность использовать BOOST_PP у меня за 4 года возникла... дайте подумать... 0 раз.
Анскильный компилятор не осилит заанроллить цикл как следует
> Критиковать язык, который стремится избавиться от препроцессора всеми силами, за то, что в нём недостаточно развитый препроцессор -- немного странно, тебе не кажется?
Ну так не получится никогда плюсам избавиться от препроцессора, потому что этот препроцессор уже намертво в него врос, да и недосовместимость с Си никто ломать не решится. Проще уж сделать более нормальный язык с нуля, а плюсы уж пусть догнивают с этим убогим препроцессором, и пусть уж они этот препроцессор в плюсах развивают, если от него избавиться нереально(а избавится от него действительно нереально не поломав вообще все и вся).
Совсем выкинуть не получится, а вот избавиться от его необходимости в большей части нового кода -- вполне.
Препроцессор нужен в основном для управления конфигурацией и для инклюдов. Первое вполне решается нормальной билд-системой и подходящим структурированием кода, второе -- модулями на уровне языка.
Я вообще не понимаю твоих доводов. Что значит лучше не придумали? Для чего лучше не придумали?
Мне для моих задач очень редко препроцессор нужен, почти всегда можно что-нибудь придумать вместо него.
Для задач кодогенерации препроцессор вообще плохо подходит, тут лучше что-нибудь более специфичное и удобное использовать. Да и вообще обычно полезно сразу на нескольких языках код генерить, protoc тому пример.
Ничего лучше не придумали, кроме как плодить накопипащенное макроговно из BOOST_PP_REPEAT чтобы что-то много раз повторить, потому что в убогом препроцессоре нет ни циклов, ни рекурсий.
> Мне для моих задач очень редко препроцессор нужен, почти всегда можно что-нибудь придумать вместо него.
Конечно можно - кодогенерация. Но тот факт, что для эффективного решения определенного круга задач надо приклеивать скотчем какие-то там костыли сбоку, он говорит как раз таки об убогости и ограниченности инструмента.
Вот например есть такая штука http://nedbatchelder.com/code/cog/ где можно встраивать куски питона в свой код, и оно туда вставляет. Пример использования:
Ну и вот еще про DSL и кодогенерацию на окамле http://www.fftw.org/fftw-paper-ieee.pdf - интересно, почему они не наваяли свой DSL на метапрограммировании через плюсошаблоны? Не потому ли, что метапрограммирование через плюсошаблоны - говно?
В плюсах нет никаких средств чтобы работать с AST на этапе компиляции, так что никакого нормального метапрограммирования нет и не предвидится. А чтобы можно было работать с AST, надо выкинуть нахуй сишно-плюсовый синтаксис и взять лисповый скобкосинтаксис или нечто подобное, и чтоб с гомоиконами. А иначе это говно
Читаем первую же строчку под логотипом:
"FFTW is a C subroutine library"
Сишная, мать его, либа. Они не использовали шаблоны потому и только потому, что не могли
Почему они свою либу писали на Си с кодогенерацией, а не на плюсах с метапрограммированием на шаблонах?
а, понятно. Я думал ты хоть немного вменяем. Ошибался
Можно, думаю, файлы сами в себя инклудить, чем не рекурсия. Не очень понятно, что с этим делать, правда.
Но вообще наезды по поводу препроцессора довольно легко решаемы. Не нравится cpp -- возьми PHP!
Да! Генерить сишный код можно и из лишпа. С помощью гомоикон!
я люблю генерировать код на perl с помощью m4
Программисьт должен писать код для реализации 802.3, причем писать его в емаксе
Всегда будут люди, которые хотят странного, что теперь? Тот факт, что для достижения странного нужно прилагать усилия -- это же скорее плюс. Это как забор с колючей проволокой, огораживающий опасное место: если припечёт, то перелезешь, зато неплохо ограждает от зевак и норкоманов.
Гёдель доказал, что какое бы конечное количество аксиом ты не взял, всегда будут утверждения, которые ты не сможешь ни доказать, ни опровергнуть.
Аналогично, сколько бы фич ты в язык не насовал, всегда будет мало. Если только не добавить фичу "добавить фичу", но тогда каждый пользователь языка вполне может начать страдать хернёй и сочинять на ровном месте долбанутую херню вроде макроса loop в CL.
А Вы - родственники?
Ры-ба моя, но ведь это правда.