- 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
но бекап я сделал, так что хуй вам. Я требую продолжения банкета.
j123123 24.08.2016 13:51 # +35
>> иллюстрация ограниченности плюсов
>> BOOST_PP_REPEAT
>
>плюсы != препроцессор
Вот в этом то и убогость плюсов, что в них для этого нет НИЧЕГО лучше, чем накопипащенность через препроцессор
>> ограниченности
>
>Как будто ограниченность -- это всегда плохо. HTTP ГОВНО ПОТОМУ ЧТО В НЁМ НЕТ ГОМОИКОН
В случае с плюсами это точно плохо. А какие могут быть гомоиконы в HTTP? Может еще и в FTP их добавить?
roman-kashitsyn 24.08.2016 13:55 # +36
Для чего "для этого"? Для цикла во время препроцессинга нужны средства препроцессора? Вот это поворот!
Как вообще BOOST_PP относится к плюсам? Это набор примитивов для упоровшихся по препроцессору, их можно из сишки юзать.
j123123 24.08.2016 14:00 # +34
Для того, чтобы повторить нечто n-ное число раз
>Для цикла во время препроцессинга нужны средства препроцессора?
Почему ж препроцессор столь убог, что в нем нельзя сделать это без копипаста?
>Как вообще BOOST_PP относится к плюсам?
Так, что он использует препроцессор, препроцессор есть в плюсах.
>Это набор примитивов для упоровшихся по препроцессору, их можно из сишки юзать.
Конечно можно, и что?
roman-kashitsyn 24.08.2016 14:06 # +34
Можно же просто цикл использовать
> Конечно можно, и что?
Критиковать язык, который стремится избавиться от препроцессора всеми силами, за то, что в нём недостаточно развитый препроцессор -- немного странно, тебе не кажется?
Ну и потребность использовать BOOST_PP у меня за 4 года возникла... дайте подумать... 0 раз.
j123123 24.08.2016 14:14 # +31
Анскильный компилятор не осилит заанроллить цикл как следует
> Критиковать язык, который стремится избавиться от препроцессора всеми силами, за то, что в нём недостаточно развитый препроцессор -- немного странно, тебе не кажется?
Ну так не получится никогда плюсам избавиться от препроцессора, потому что этот препроцессор уже намертво в него врос, да и недосовместимость с Си никто ломать не решится. Проще уж сделать более нормальный язык с нуля, а плюсы уж пусть догнивают с этим убогим препроцессором, и пусть уж они этот препроцессор в плюсах развивают, если от него избавиться нереально(а избавится от него действительно нереально не поломав вообще все и вся).
roman-kashitsyn 24.08.2016 14:22 # +34
Совсем выкинуть не получится, а вот избавиться от его необходимости в большей части нового кода -- вполне.
Препроцессор нужен в основном для управления конфигурацией и для инклюдов. Первое вполне решается нормальной билд-системой и подходящим структурированием кода, второе -- модулями на уровне языка.
Antervis 24.08.2016 20:07 # +30
j123123 24.08.2016 22:51 # +28
j123123 24.08.2016 14:02 # +29
roman-kashitsyn 24.08.2016 14:10 # +31
Я вообще не понимаю твоих доводов. Что значит лучше не придумали? Для чего лучше не придумали?
Мне для моих задач очень редко препроцессор нужен, почти всегда можно что-нибудь придумать вместо него.
Для задач кодогенерации препроцессор вообще плохо подходит, тут лучше что-нибудь более специфичное и удобное использовать. Да и вообще обычно полезно сразу на нескольких языках код генерить, protoc тому пример.
j123123 24.08.2016 14:35 # +31
Ничего лучше не придумали, кроме как плодить накопипащенное макроговно из BOOST_PP_REPEAT чтобы что-то много раз повторить, потому что в убогом препроцессоре нет ни циклов, ни рекурсий.
> Мне для моих задач очень редко препроцессор нужен, почти всегда можно что-нибудь придумать вместо него.
Конечно можно - кодогенерация. Но тот факт, что для эффективного решения определенного круга задач надо приклеивать скотчем какие-то там костыли сбоку, он говорит как раз таки об убогости и ограниченности инструмента.
Вот например есть такая штука http://nedbatchelder.com/code/cog/ где можно встраивать куски питона в свой код, и оно туда вставляет. Пример использования:
Ну и вот еще про DSL и кодогенерацию на окамле http://www.fftw.org/fftw-paper-ieee.pdf - интересно, почему они не наваяли свой DSL на метапрограммировании через плюсошаблоны? Не потому ли, что метапрограммирование через плюсошаблоны - говно?
В плюсах нет никаких средств чтобы работать с AST на этапе компиляции, так что никакого нормального метапрограммирования нет и не предвидится. А чтобы можно было работать с AST, надо выкинуть нахуй сишно-плюсовый синтаксис и взять лисповый скобкосинтаксис или нечто подобное, и чтоб с гомоиконами. А иначе это говно
dxd 24.08.2016 14:40 # +33
j123123 24.08.2016 14:46 # +29
CHayT 24.08.2016 14:48 # +31
CHayT 24.08.2016 14:46 # +32
Antervis 24.08.2016 20:00 # +32
SladkiyBagorchik 24.08.2016 20:37 # +26
j123123 24.08.2016 22:49 # +29
Antervis 25.08.2016 05:15 # +27
Читаем первую же строчку под логотипом:
"FFTW is a C subroutine library"
Сишная, мать его, либа. Они не использовали шаблоны потому и только потому, что не могли
j123123 25.08.2016 05:18 # +32
Почему они свою либу писали на Си с кодогенерацией, а не на плюсах с метапрограммированием на шаблонах?
Antervis 25.08.2016 05:20 # +28
j123123 25.08.2016 05:27 # +29
Antervis 25.08.2016 05:51 # +28
Antervis 24.08.2016 20:10 # +32
а, понятно. Я думал ты хоть немного вменяем. Ошибался
j123123 24.08.2016 22:49 # +30
CHayT 24.08.2016 23:52 # +28
Можно, думаю, файлы сами в себя инклудить, чем не рекурсия. Не очень понятно, что с этим делать, правда.
Но вообще наезды по поводу препроцессора довольно легко решаемы. Не нравится cpp -- возьми PHP!
guesto 24.08.2016 23:53 # +31
CHayT 24.08.2016 23:56 # +33
Да! Генерить сишный код можно и из лишпа. С помощью гомоикон!
guesto 24.08.2016 23:58 # +30
я люблю генерировать код на perl с помощью m4
CJIABA_kncc 25.08.2016 00:46 # +28
guesto 25.08.2016 00:53 # +28
Программисьт должен писать код для реализации 802.3, причем писать его в емаксе
SladkiyBagorchik 25.08.2016 06:58 # +30
j123123 25.08.2016 21:36 # +40
j123123 25.08.2016 05:45 # +29
dxd 24.08.2016 14:10 # +31
j123123 24.08.2016 14:47 # +29
roman-kashitsyn 24.08.2016 16:41 # +28
Всегда будут люди, которые хотят странного, что теперь? Тот факт, что для достижения странного нужно прилагать усилия -- это же скорее плюс. Это как забор с колючей проволокой, огораживающий опасное место: если припечёт, то перелезешь, зато неплохо ограждает от зевак и норкоманов.
Гёдель доказал, что какое бы конечное количество аксиом ты не взял, всегда будут утверждения, которые ты не сможешь ни доказать, ни опровергнуть.
Аналогично, сколько бы фич ты в язык не насовал, всегда будет мало. Если только не добавить фичу "добавить фичу", но тогда каждый пользователь языка вполне может начать страдать хернёй и сочинять на ровном месте долбанутую херню вроде макроса loop в CL.
SladkiyBagorchik 24.08.2016 16:47 # −45
dxd 24.08.2016 14:34 # +31
Lopata 24.08.2016 14:38 # +30
void_main 24.08.2016 14:38 # −56
А Вы - родственники?
Lopata 24.08.2016 14:40 # +32
void_main 24.08.2016 14:46 # −56
d_Artagnan 24.08.2016 17:06 # +30
guesto 24.08.2016 17:32 # −43
SladkiyBagorchik 24.08.2016 17:35 # −43
void_main 24.08.2016 14:40 # −58
Soul_re@ver 24.08.2016 14:51 # +31
Sim_salapim 24.08.2016 14:52 # −44
Ры-ба моя, но ведь это правда.
Soul_re@ver 24.08.2016 14:56 # +35
inkanus-gray 24.08.2016 14:58 # +32
CJIABA_kncc 25.08.2016 00:43 # +32
Soul_re@ver 25.08.2016 09:40 # +31
CJIABA_kncc 25.08.2016 11:49 # +31
SladkiyBagorchik 25.08.2016 12:47 # +31
cykablyad 25.08.2016 14:45 # +32
SladkiyBagorchik 25.08.2016 14:49 # +30
3_14dar 25.08.2016 02:33 # +30
SladkiyBagorchik 24.08.2016 16:17 # −46
MasterGovnokodinga 03.09.2017 21:53 # 0