LINUX.ORG.RU

Продуктивность разработки на C++.

 , ,


6

12

Уважаемые программисты!

Предлагаю порассуждать о продуктивности разработки на C++ по сравнению с так называемыми скриптовыми языками. Вот, принято считать, что языки на вроде Python позволяют работать программисту более продуктивно по сравнению с C++. И что, дескать, на C++ надо писать только узкие места и всё такое.

Мне же хочется четкого понимания. Может быть это миф? А может быть это просто инерция, потому что так вот принято считать и все тут. Вот сегодня в C++ уже не надо думать об освобождении памяти, так как есть умные указатели. Сегодня есть уже более-менее нормальные IDE для C++. Так? Так.

Так что же тогда мешает писать на C++ столь же продуктивно, как на том же Python? Какие будут рассуждения? Может быть есть какие-то реальные обоснования на этот счёт, кроме как «в конторе Y так делают, значит смысл есть, они умные, им виднее». А может быть есть какие-то рецепты по продуктивности работы на C++?

Ответ на: комментарий от azelipupenko

чёт че цель иначе сплошной whatfor

твой вожделенный http-сервер какие ттх

ведь от ттх и бюджета (времени-пространнства и бозоны Хигса)

область возможного симлекса.

по конкретней об абстракциях

посмотри статью(в acm journal 78~79 г) Седжвика по быстросорту - там очень хорошо показано все(программные) слои от выше верхнего

до асма - будь писана статья ща первая реализация по ходу статьи могла бы быть на тифоне сёрёдка на С - конец тот же самые внутрении 4 команды на которых уходит 90% работы не окончательного варианта писаны на асме цели.

anonymous
()
Ответ на: комментарий от anonymous

привет Понимай_Теда_Чена моя подсистема.

anonymous
()
Ответ на: комментарий от azelipupenko

Набравшись знаний, разработчик пытается воплотить свои задумки и мысли в код.

Первая логическая ошибка. В 99% случаев никто не будет разбираться выше нужного, а уже критерии нужного зависят от специализации. Если это лаба - тебя устроит любой вариант. Если это хелворд на пистоне - тебя устроит почти любой вариант. Другое просто не нужно.

Т.е. с одним пистоном ты не наберёшься знаний достаточных для реализации. В 9999 случаев из 10к.

А когда ты наберёшься знаний - тебе не нужно будет то, что нужно тем, у кого этих знаний нет. В частности - тот же пистон. Другое дело, если тебя жизнь занесёт в команду тех, у кого этих знаний нет. Тогда ты от них откажешься. Но в любом случае ты теряешь возможность к реализации чего-то, что требует этих знаний - т.к. никто, кроме тебя, этими знаниями не облдает.

Поэтому, чем больше у тебя будет знаний - тем больше тебе нужно будет возможностей, которые, естественно, никакой пистон, лисп и прочее пхп не предоставляют.

А по возможностям именно лоулевел взаимодействия впереди с непреодалимым отрывом - си. Кресты можно свести к си, но кресты имеют другие возможности - возможности именно по части организации кода/архитектуры. Ты можешь сделать удобный интерфейс на крестах.

Таким образом никакого выбора у тебя и нет. Это миф.

rustonelove
()
Ответ на: комментарий от rustonelove

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

Я смотрю, ты любишь поразмышлять. Но забываешь, что всё относительно, как ребёнок. Вот в Lisp есть макры, которых нет в C++. Шаблоны C++ по сравнению с макрами Lisp слишком ограничены, ну или как тут любят бросаться словами - убоги. Только ты не серчай, но это факт. Отсюда следует, что в Lisp есть возможности, которых нет в C++. В этом и относительность. Я не хотел бы устроить из этого полемику, потому что это глупо. Где там тот психолог, который мне про рационализацию рассказывал? Не ты ли это был? Так вот моя ЦНС считает спор нерациональным :-) Лол :-)

Таким образом никакого выбора у тебя и нет. Это миф.

Возможно.

azelipupenko
() автор топика

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

на самом деле можно извернуться так чтобы это было можно поддерживать: на 100% покрыть юнит-тестами. но «быстро писать на питоне» - это не тоже самое, что «быстро покрывать тестами на 100%» или «быстро модифицировать все поломаные тесты». в общем реклама как обычно врёт.

поэтому серьзёный софт на года делается на с++, джаве и т.п., а динамические язычки движутся в сторону сильной типизации: typescript, etc.

имхо современный с++ догнал по выразительности, если не перегнал, джаву и уже выглядит почти как компилируемый типизированый джаваскрипт, только лучше. врядли он когда-нибудь догонит по выращительности питон, но с++ (как и джаве) это и не нужно. суммарное время затраченое на всю разработку, а не только на write-only, не обязательно будет выше чем у питона.

anonymous
()
Ответ на: комментарий от Virtuos86

Уж больно ты на анонимуса-«смайлика» похож, КМК. Уж не серчай.

Смайлик передаёт всем большой привет :-) Говорит, что цепепе ему таки нравится, но нет так сильно, как Лисп :-) Лол :-)

azelipupenko
() автор топика
Ответ на: комментарий от azelipupenko

Я смотрю, ты любишь поразмышлять. Но забываешь, что всё относительно, как ребёнок.

О боже, да меня пытаются поймать и разоблачить. Вот это новость.

Вот в Lisp есть макры, которых нет в C++.

Есть бездарный кусок дерьмо. А жабке есть ртрефлексия, а в пистоне есть динтипизация, и что? Что то бесполезное дерьмо, что это.

Шаблоны C++ по сравнению с макрами Lisp слишком ограничены, ну или как тут любят бросаться словами - убоги.

Меня мало волнуют громкие заявления всяких экспертов, которые о своих макросах что-то слышали, но свой уровень выше лабы не подняли. Зачем ты мне ретранслируешь ахинею?

И опять же - какие-то идиотские сравнения с какими-то абстрактными и неведомыми «шаблонами». Твоя агитка лет на 15 устарела.

Отсюда следует, что в Lisp есть возможности, которых нет в C++.

Неверно. Я говорил не о каких-то там абстрактных возможностях, под которые ты можешь что угодно записать. Я говорил именно о возможностях, и написал это ниже, именно реализации.

Т.е. о возможностях напрямую влияющих на:

Набравшись знаний, разработчик пытается воплотить свои задумки и мысли в код.

Для

приемлемого качества

Естественно, в рамках объективных свойств.

В этом и относительность.

В этом есть только глупые потуги, которые не имеют отношения к реальности. Ты начал придумывать какие-то критерии, какие-то неясные «возможности», которые даже не возможности. Которые ты никак не применишь в рамках задачи, а если и применишь( ну в это как максимум можно только верить) - обосрёшься во всём остальном.

Где там тот психолог, который мне про рационализацию рассказывал? Не ты ли это был? Так вот моя ЦНС считает спор нерациональным :-) Лол :-)

Нет, то был не я. Твоя ЦНС ищет убогие оправдания путём манипуляций и подмены понятий. Тебе дали чёткие определения и в рамках их был написан текст. Ты на это насрал, придумал что-то своё и решил, что ты там кого-то поймал - нет.

Это типичное для подобных тебе поведение. Ты не способен понять суть текста - ты способен лишь вычленять ключевые слова и ретранслировать какие-то текста, которые ты где-то слышал, на тему этих ключевых слов.

Сейчас вышло именно так. Какие-то неведомые макросы из лиспа - пример такой ахинеи, которая льётся из всех щелей уже десятки лет. Ну и вот, ты услышал знакомое слово и решил повторить эту ахинею.

Ты не осилил ни понять того, что значит это слово и какие именно нужны возможности. Ни даже внятно сравнить, т.е. ретранслируешь ахинею бездумно, ведь в крестах ничего не заканчивается на шаблонах уже много лет как.

rustonelove
()

Может кто подскажет, какие учебники по С в направлении Embedded ARM, если есть такие? Извиняюсь, если вопрос немного не в тему.

sqq
()
Ответ на: комментарий от sqq

Вы задаете вопрос курильщика. Вопрос здорового человека выглядит так:

  • Идём в раздел «Developments» форума (поскольку хотите задать вопрос, связанный с программированием);
  • Создаём новый топик, указав хотя бы тег «с», может быть еще найдутся теги «arm» или «embedded», чтобы люди, подписанные на этот тег, получили уведомление о новом посте и пришли посмотреть и поделиться информацией;
  • Получаем фидбек.
Virtuos86 ★★★★★
()
Ответ на: комментарий от Virtuos86

на предыдущей странице поднимался вопрос по литературе С. Поэтому и спросил тут

sqq
()
Ответ на: комментарий от rustonelove

Меня мало волнуют громкие заявления всяких экспертов, которые о своих макросах что-то слышали, но свой уровень выше лабы не подняли. Зачем ты мне ретранслируешь ахинею?

Зачем ТЫ ретранслируешь ахинею? Шаблоны в C++ - унылое убожество. Как бы ты тут из пелёнки своей не вылазил с криками на весь интернет, но повлиять на это не получится. Увы.

И опять же - какие-то идиотские сравнения с какими-то абстрактными и неведомыми «шаблонами».

Почему неведомыми? Бери и пробуй макры.

В этом есть только глупые потуги

Ой, ой. Гляди как распелся. Переутомился, наверное. Поспи.

Ты на это насрал, придумал что-то своё и решил, что ты там кого-то поймал - нет.

Теперь я буду переживать, что я насрал, но кого-то не поймал. Лол, лолище :-)

Какие-то неведомые макросы из лиспа - пример такой ахинеи, которая льётся из всех щелей уже десятки лет. Ну и вот, ты услышал знакомое слово и решил повторить эту ахинею.

Ахинею поришь ты, ещё раз тебе говорю :-)

Ты не осилил ни понять того, что значит это слово и какие именно нужны возможности.

Ну куда уж мне до великих крестов. Кресты, кресты, ты уже помешался на своих убогих крестах. Лол :-)

azelipupenko
() автор топика
Ответ на: комментарий от azelipupenko

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

Идём далее. Балаболу так же сказали, что его по туги в сторону макрос являются попросту ахинеей. Т.к. никто этих макросов в глаза не видел, пациент никогда не выкатит ничего конкретного, кроме примеров из википедии, в защиту их.

А так же, балаболо сказали, что его агитка устарела на 10лет, т.к. метапрограммирование в крестах уже давно ими не ограничивается.

Ну и самое главное - балабол так и не выкатил ни одного пруфа в сторону своих потуг. Даже не то что в сторону того - как макросы помогут более качественно( по объективным критериям) написать хттп сервер, а просто какой жопой вообще макросы он определяет тем, что несравнимо «мощнее» того, что есть в крестах( вы тут уже должны были понять то, на чём пытается выехать эта балаболка. Он пытается ограничить оппонента рамками своей агитки сравнения макросов и шаблонов, но не сработало. Т.к. шаблонами в крестах ничего не заканчивается).

Ну куда уж мне до великих крестов. Кресты, кресты, ты уже помешался на своих убогих крестах. Лол :-)

Ну теперь пошла совсем отборная ахинея, а именно попытка записать меня в евангелисты крестов. И это бы сработало, с какими-то другими васянами, но не со мною.

Весь лор знает, что я хейтер и критик крестов и их состоятельность определял через отсутствие альтернатив в рамках построений интерфейсов. И как минимум в этой теме я уже много раз их критиковал.

Тут мы видим, как типичный трепач, пытается всё подбить под знакомые ему агитки. Полностью игнорирует основную тему как то, в чём он уже давно сел в лужу. Да и всё другое, в чём он там же потерпел неудачу.

rustonelove
()
Ответ на: комментарий от azelipupenko

Ты немного переоценил свои способности. Я тебе не Васёк-сосед с которым ты играешься в кубики и надеешься, что такие глупые попытки сработают за рамками твоего детского садика.

Ты либо пытайся писать что-то осмысленное, либо не пытайся писать вообще. Зачем ты предпринимаешь глупые попытки поймать меня? Ты реально думаешь, что ты можешь спровоцировать меня на срач шаблоны вс лисп-макросы? Ты действительно думаешь, что ты сможешь съехать с темы? Ты действительно думаешь, что ты можешь обвинить меня в какой-то слепой агитации за кресты?

Ну потренируйся ещё лет 200, а потом пытайся. Может ты пытаешься съехать на мою слабость, а именно на то, что обычно я игнорирую подобные сливы и ставлю перед собою челендж выиграть балаболку на каком угодном поле и с какими угодно правилами, куда она по 20раз сливается?

Сейчас мне особо некогда подобным заниматься, да и трут мои слишком скилловые победы на балаболками. Приходи позже за этим.

Хотя такое, как слив на ненужную мне ахинею, я никогда не терпел. Поэтому сомневаюсь, что у тебя вышло бы и выйдет сейчас. Меня абсолютно не должен волновать твой лисп и прочий мусор.

Меня должно волновать только то, что если ты придумаешь контр-пример к моим словам, но я знаю, что ты его не придумаешь. А вот как придумаешь - можешь приходить уже за конструктивом.

rustonelove
()
Ответ на: комментарий от azelipupenko

Вообщем. Ты там на меня не обижайся. Если тебе действительно интересна тема - ты можешь её инициировать в нормальном виде, а именно предоставить мне контр-примеры, т.е. то, что позволяет лиспу получить лучшие результаты.

Я тебе привёл все предпосылки к тому, что без си у тебя альтернатив нет. Кресты тебе были приведены потому, что ты их указал сам. А так же то, что в некотором виде их можно использовать как си. А если прям заморочится, то и почти как си. Причины по которым стоит заморочиться - это именно интерфейсы.

Я тебе могу привести сотни примеров почему нужен именно си. Но я этого не привёл по понятным причинам а) это само собою разумеется, ибо это свойство реальности. Всё итак на си. б) никаких нет свидетельств тому, что тебе действительно нужны эти примеры. Т.к. скорее всего ты просто хочешь украсть моё время.

Именно поэтому у тебя и спрашивают контр-примеры. Если ты думаешь иначе - ты должен привести свидетельства за своё иначе. Написав какую-то херню про макросы ты ничего не предоставил. Т.к. ты вообще никак не увязал это с контекстом.

Поэтому, если ты считаешь, что твой лисп конкуретнтоспособен. Ты выкатываешь основания этого. Допустим хочешь поболтать про макросы - пожалуйста. Выкатываешь то, каким образом эти макросы позволят тебе что-то реализовать качественнее/лучше. В рамках того же хттп-сервера. Всё просто.

И так уж и быть, ради тебя, я не буду пытаться тебя опровергнуть самым очевидным способом, а именно апелляцией к тому, что ты теряешь всё остальное.

Ведь почему кресты живы и их адепты могут оппонировать си? Правильно, потому что всегда можно используя подмену понятий свести С++ к крестам, а далее сказать, что всё то, что возможно в си - возможно и в с++.

Но у тебя такой возможности нет.

rustonelove
()
Ответ на: комментарий от azelipupenko

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

anonymous
()
Ответ на: комментарий от rustonelove

Ну что я могу сказать, слив засчитан.

Да знаю я всю эту твою примитивщину про сливы и про днищя, и про балаболок тоже знаю. Скучно. Смени уже пластинку.

вы тут уже должны были понять

Мда.

И это бы сработало, с какими-то другими васянами, но не со мною.

Ты какой-то особенный что-ли? :-) Лол :-)

Полностью игнорирует основную тему как то, в чём он уже давно сел в лужу.

В какую лужу? :-) Тему, которую создал смайлик-регистрант, заигнорил ты :-) Ты же принёс сюда кучу флейма :-) Правда, благодаря тебе, первая же тема, созданная смайликом попала в ТОП-5 :-) Хотя мне то как-то на это плевать :-) Лол :-)

azelipupenko
() автор топика
Ответ на: комментарий от rustonelove

Ты немного переоценил свои способности.

А может, ты? Впрочем, это не важно.

Ты либо пытайся писать что-то осмысленное, либо не пытайся писать вообще.

Ты вошёл в мою тему, нагенерил тонны непонятных текстов. Теперь ты хочешь положить меня на лопатки просто потому, что тебе так захотелось? Ну рискни, конечно, но у тебя хрен получится. Здесь я хозяин, а ты - царь гороховый :-) Лол :-)

azelipupenko
() автор топика
Ответ на: комментарий от rustonelove

Вообщем. Ты там на меня не обижайся.

Мне вообще фиолетово. Не переживай.

Написав какую-то херню про макросы ты ничего не предоставил. Т.к. ты вообще никак не увязал это с контекстом.

Просто ты не понял контекста. Меня здесь, в данной теме не интересует ничего, кроме продуктивности. Макры Лиспа относятся к продуктивности прямо, потому что могут избавить от бойлерплэйта.

Поэтому, если ты считаешь, что твой лисп конкуретнтоспособен.

Если бы я так считал, мне бы совсем не надо было тут регаться и устраивать дискуссии. Писал бы себе на Лиспе и тебя бы не тревожил.

Выкатываешь то, каким образом эти макросы позволят тебе что-то реализовать качественнее/лучше.

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

azelipupenko
() автор топика
Ответ на: комментарий от azelipupenko

Да знаю я всю эту твою примитивщину про сливы и про днищя, и про балаболок тоже знаю. Скучно. Смени уже пластинку.

На кого рассчитаны твои потуги? Любой, кто хоть каплю мозга имеет - понимает кто и почему слился. Я уже это определил. Ты поднял тему, на которую я ответил. Далее ты начал игнорировать ту самую тему, неся какую-то ахинею.

И я тебе в очередной раз напомнил о теме и в очередной раз ты эти напоминания, как и её(тему) любые упоминания - игнорируешь.

Ты какой-то особенный что-ли? :-) Лол :-)

Да.

В какую лужу? :-) Тему, которую создал смайлик-регистрант, заигнорил ты

Не дак говорил в рамках темы, что же ты её игноирируешь?

Ты же принёс сюда кучу флейма

Нет, я помножил твои глупые потуги на ноль. А далее ты обделался и начал нести ахинею.

Правда, благодаря тебе, первая же тема, созданная смайликом попала в ТОП-5 :-) Хотя мне то как-то на это плевать :-) Лол :-)

К тебе никакой топ отношения не имеет. Абсолютно насрать кто и почему создал тему - ты и твоя тема никто. Темя является интересной людям только тогда, когда в ней появляются те, кто не обделываешься на первой же потуги.

rustonelove
()
Ответ на: комментарий от rustonelove

На кого рассчитаны твои потуги?

У меня не бывает потуг.

И я тебе в очередной раз напомнил о теме и в очередной раз ты эти напоминания, как и её(тему) любые упоминания - игнорируешь.

Сказал же, не хочу устраивать полемику. Это моя тема и мне решать что тут обсуждать. Конкретно тебе ничем тут не обязаны.

Нет, я помножил твои глупые потуги на ноль. А далее ты обделался и начал нести ахинею.

Ну помножил и помножил. Ну и что? Ты можешь множить на нуль что хочешь. Мне это безразлично.

К тебе никакой топ отношения не имеет. Абсолютно насрать кто и почему создал тему - ты и твоя тема никто

Это ты никто.

azelipupenko
() автор топика
Ответ на: комментарий от azelipupenko

Просто ты не понял контекста. Меня здесь, в данной теме не интересует ничего, кроме продуктивности.

Да нет, ты обделался. Причина проста. Во-первых никого не интересует то, что там тебя интересует. Ты спрашиваешь ахинею, пишешь ахинею и тему существует вне твоего вопроса.

Идём далее. Ты написал что?

Уважаемые коллеги. Вот, допустим, есть задача сотворить некий софт своим умом и руками. Пусть это будет собственный HTTP-сервер. Допустим, у творца нет чётких знаний о том, как сделать этот продукт приемлемого качества, т.к. знаний в данной предметной области недостаточно. Набравшись знаний, разработчик пытается воплотить свои задумки и мысли в код. Так вот, что будет продуктивнее в этом случае - Python, C++? А может быть вообще Lisp?

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

Точно так же, как и не будет «знаний и опыта» как такового в случае, если ты пишешь на пистоне/лиспе. И ты типичное тому подтверждение.

Поэтому, в рамках твоего определения твой вопрос не имеет смысла и тебе об этом сообщили. Никакого подобного выбора у человека, который может и пишет конкурентоспособный продукт попросту нет.

Ну и шизофрения с неведомой «продуктивностью» - это только в твоей палате имеет смысла. В реальности никто про это ничего не знает - т.к. это не объективный критерий.

Макры Лиспа относятся к продуктивности прямо, потому что могут избавить от бойлерплэйта.

Потому что ты так сказал? Удачи в мечтаниях. Ну и как всегда - никого не интересует твоя мнимая «продуктивность» с нулём в конечном итоге. Интересует то, что даст продукт, а не то, что даст в итоге дерьмо.

Если бы я так считал, мне бы совсем не надо было тут регаться и устраивать дискуссии. Писал бы себе на Лиспе и тебя бы не тревожил.

А нахрен ты мне ретранслируешь какие-то агитки? Выкатывай конкретные примеры. Каким образом твои «макросы» сделают разработку хттп-сервера продуктивней.

Тогда получится, что я кого-то агитирую за Лисп, но я тут не за этим. Мне было интересно послушать мнения людей, а не читать портянки текста или терпеть чьи-либо наезды.

Ты начал оспаривать мои утверждения своими агитками, протухшими. И тебя попросили доказательств - ты тут же перданул в лужу. Никаких наездов изначально на тебя не было. Ахинею ты начал писать сам и в ответ на неё и получил наезды. За конкретные дела, и тебе я всё объяснил.

Ты же на меня наехал и получил словами по щам.

В каком месте я что-то получил? В твоих фантазиях? В это твоя проблема - ты не научился отличать свои мечты от реальности. Именно в них ты там кого-то победил, кто-то у тебя получил, кого-то поймал на «макросах» и прочее. На самом деле нет. Разочарую тебя.

Но ты не обижайся на меня. Всё хорошо.

Зачем ты пытаешься повторять за мной? Это глупо.

Я тебе пояснил мотивацию моих действий. Ты начал нести ахению - на что я и ответил. Но ахинеия вторична - мотивация первична. Я всегда, по умолчанию, считаю, что любую ахинею ты( и подобные тебе) пишите мне специально, либо не специально, но ничего более не можете. Т.е. такой некий биоробот, который может отвечать на ключевые слова знакомыми фразами.

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

Поэтому, если с тобою не второй случай, а я уверен на 95%, что это так. То всё что я пишу - я пиши не тебе. Писать что-то тому, что не способен понимать - не имеет смысла. Я это пишу те, кто думает как-то в районе тебя, аргументирует всё так же, но способен понимать.

И он почитает, попытается мне «про себя» ответить и поймёт, что ответов у него нет. А раз ответов нет - значит его представления какие-то дырявые. И уже после, человек не так сильно будет уверен в своих представлениях. Это смотивирует его пойти и разобраться.

rustonelove
()
Ответ на: комментарий от azelipupenko

У меня не бывает потуг.

Только они и бывают.

Сказал же, не хочу устраивать полемику. Это моя тема и мне решать что тут обсуждать. Конкретно тебе ничем тут не обязаны.

Не не хочешь, а не можешь. Ты - типичное трепло. Которое вначале начинает спорить, а как понимает, что запахло жареным - тут же ретируется.

И конкретно мне ты обязан. Ты обязан отвечать за то, что ты тут вещаешь. Если не обязан - ты трепло. Но ты же декларируешь себя иначе? Вот и отвечай.

Это ты никто.

Ога. Только мало веры - надо больше. Да и вообще, что за убогие потуги? С чего ты решил, что если ты ответишь «сам такой» - ты как-то меня опровергнешь, либо сделаешь мои слова менее весомыми? Это так не работает уже с класса второго начальной школы.

Меня всегда это в вас удивляло. Я постоянно слышу ретрансляцию этой ахинеи. Каким же надо быть идиотом, что-бы её ретранслировать. Эту темы «а чего добился ты?» уже обмусолили тысячу раз и вроде как приняли за полностью несостоятельную. Но трепачи до сих пытаются к ней апеллировать. Зачем?

rustonelove
()
Ответ на: комментарий от rustonelove

Меня всегда это в вас удивляло.

Меня сейчас удивляет откуда у гения столько времени, что он без устали строчит столь длинные тексты. Мне реально некогда тут с тобой обсуждать макры Лиспа, и уж я то не позволю втянуть себя в полемику по твоим правилам. Мне некогда просто. Когда будет время, можно будет пофлеймить со смайликами, поразвлекаться. А сейчас можешь быть свободен, зайди на недельке, остынь заодно.

azelipupenko
() автор топика
Ответ на: комментарий от azelipupenko

Меня сейчас удивляет откуда у гения столько времени

Сколько? 5минут?

Мне реально некогда тут с тобой обсуждать макры Лиспа, и уж я то не позволю втянуть себя в полемику по твоим правилам.

Опять какие-то жалкие потуги. Начал это ты. Слился ты. Если не хотел - зачем начинал? И по каким таким моим правилам? Начинаешь повторять за мною?

Когда будет время, можно будет пофлеймить со смайликами, поразвлекаться.

Да нет же. Срался бы кто-то другой с тобою - ты бы тут 24/7 нёс свою ахинею, как ты это делал до этого. Но - не фортануло. Ответил я.

А сейчас можешь быть свободен, зайди на недельке, остынь заодно.

Можешь быть свободен только ты. С каких пор инициатор, которого призвали отвечать за его трёп вдруг стал кого-то освобождать? Разве что себя от ответа.

Понимаешь, если бы ты хоть что-то взумительное смог ответить, а деле бы уже сослался на отсутствие времени, то это бы прокатило. А так не прокатит. В это нет оснований верить.

Ты, вася, начал меня ловить. Ты, вася, начал меня опровергать. Ты, вася, начал мне намекать на какие-то ошибки в моей логики и моёт текста. Отвечай за трёп, либо не начинай его. С какого бадуна ты вдруг решил, что можешь меня куда-то посылать и ставить мне какие-то условия?

Ты отвечаешь не мне, не для меня. Ты отвечаешь за свой трёп. И если ты за него не отвечаешь - ну дак так и говорил. Решил, что что-то могу - кукарекнул, а далее оказать так, что оказывается я ничего не могу.

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

rustonelove
()
Ответ на: комментарий от rustonelove

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

Понимаешь, твоя проблема сейчас в том, что ты всё ещё пытаешься добиться того, чтобы я таки сломался и начала тут сейчас рассказывать про Лисповые макры. Но знаешь почему этого не будет? Потому что в таком случае ты возьмёшь инициативу в свои руки. И будет по-твоему. Этого допустить, конечно же, нельзя. Это моя тема. Ты тут гость, хоть и буйный больно. Но разве это мои проблемы? :-)

azelipupenko
() автор топика
Ответ на: комментарий от rustonelove

В следующий раз будешь думать

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

azelipupenko
() автор топика
Ответ на: комментарий от azelipupenko

Понимаешь, твоя проблема сейчас в том, что ты всё ещё пытаешься добиться того, чтобы я таки сломался и начала тут сейчас рассказывать про Лисповые макры.

Неверно. Ничего с тебя я добиться не пытаюсь. Как минимум признания того, что ты пробалаболил. Твои фантазии к реальности отношения не имеют. Я уже писал, что меня твои макросы не интересует.

Меня интересует именно обоснования твоего трёпа, которого нет и не будет. А раз его не будет, то я спокойно могу контактировать слив. Ничего другого - мне не нужно.

Ну и я дал тебе шанс ответить, авось ты это можешь сделать - чтобы я тебя просто так балаболом не называл. Но ты ничего не ответил - значит я могу спокойно тебя им называть.

Потому что в таком случае ты возьмёшь инициативу в свои руки.

Каким образом? Это же твоя волна, которую ты пытался оседлать. Я тебе говорил и пытался вернуть тебя в изначальный контекст, игнорируя твои потуги про макросы.

Естественно, т.к. я не трепло, то я не могу из игнорировать полностью. Я обязан дать на них ответ.

И будет по-твоему.

Будет по моему тогда, когда ты вернёшься к изначальной теме, либо признаешь в своей несостоятельности.

Ты тут гость, хоть и буйный больно.

Я не буйный. Просто ты позволяешь себе вести себя неподобающим образом. Я не обязан за это лизать тебе жопу. Если бы ты отвечал внятно - я бы тебе отвечал культурно и спокойно.

Но разве это мои проблемы? :-)

Да, это именно твои проблемы. Ты начал пытаться со мною спорить, меня ловить и делать какие-то выводы. А после перданул в лужу. И это именно твоя проблема. А моя задача объяснить и тебе и публике то, почему именно я на это так отреагировал и почему назвал тебя балаболом.

rustonelove
()
Ответ на: комментарий от azelipupenko

В следующий раз немного полегче наезжать - получишь вожделенную дискуссию

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

Меня банят именно за это. За то, что я изобличаю всяких ламерков. Эти ламерки просто привыкли к тому, что достаточно повторить пару агиток и вот тебе уже ничего не могут ответить. Либо, если ты включил игнор и неадеквата, то с тобою никто спорить не будет.

Я же так не делаю. Я не спорю с ними, я показываю именно то - насколько клоуны являются клоунами. От этого у всяких шлангеров и болит жопа.

Им удобно жить в этом мире, когда тебя не ассоциируют с твоим бредом. Т.е. можно 20раз обосраться, нести херню и тебя никто балаболкой не назовёт. Это глупо, ведь не всегда рядом будет тот, кто сможет на очередную херню балаболки ответить - этим она и пользуется.

Но я дискредитирую не какое-то там мнение, ни какой-то там язык, ни какую-то там либу, либо легенду. Как это принято и как это делают обычно. Я именно что перехожу на личности, но на личности не в понимании трепачей, а именно это они мне пытаются приписать.

Я именно что агитирую за признание полной некомпетентности любого балабола. Т.е. ты не имеешь права вообще хоть что-то болтать в том случае, если нулёвое трепло. Именно это так и ненавистно всем этим клоунам.

И тут важно, опять же, не то - кто прав, либо не прав. Я никогда не агитировал за правоту. Я всегда агитировал за осмысленность. Если у тебя есть внятное мнение, пусть оно и неправильно, но оно есть - к тебе нет никаких претензий.

А вот если ты пустоголовый ретранслятор ахинеи, то неважно есть там правда, либо нет. Ты никакого отношения к ней не имеешь. Ты просто трепло, которое повторяет то, что услышало. Сегодня это, возможно, имеет какую-то корреляцию с реальностью, а завтра нет. И в большинстве случаев нет. А значит смысл твоих изваяний - равен нулю.

Ну и плюс то, что эти трепачи ретранслируют то, что итак на каждом заборе написано. И я итак знаю что там написано - мне для этого ретранслятор не нужен. А если не знаю - я прочитаю. И для этого мне опять какой-то трепач так же не нужен.

Пока все люди не будут мыслить так - это сообщество и дискуссии в нём - будут клоунадой пустой. Эти люди своей терпимостью и просто незаинтересованностью культивируют воспроизводство и существования подобных персонажей.

rustonelove
()
Ответ на: комментарий от azelipupenko

Поэтому, мне абсолютно насрать есть ли в твоей вере в макросы правда, либо её нет. Имеет это отношения к реальности, либо нет. Если у тебя есть чёткая позиция и логика, которой ты сможешь обосновать свою, пока что, болтовню - к тебе никак претензий у меня нет. А вот если не можешь - ты просто балабол. И абсолютно неважно - что там могут твои макросы. К тебе это не имеет никакого отношения, как и ты к ним. Ты просто ретранслируешь агитку.

rustonelove
()
Ответ на: комментарий от rustonelove

Ну написал ты много текста. Написал сейчас, написал до этого, ещё напишешь тонны и тонны. И что? Где твой результат? Стремиться к нулю? Если кроме твоей болтовни размером в 10 экранов ничего ни видно, то как к тебе то самому относиться, как если не к балаболу?

Агитируешь за осмысленность? Ну и кто против? Агитируй. Это приносит какие-то плоды? Где результат, кроме тонн (тонн!) трёпа?

azelipupenko
() автор топика
Ответ на: комментарий от rustonelove

Мне не нужна никакая дискуссия с подобными тебе. Вы на неё просто неспособны.

Можно подумать мне нужна дискуссия с тебе подобными агитаторами за осмысленность и прописные истины. Лол.

azelipupenko
() автор топика
Ответ на: комментарий от azelipupenko

Ну написал ты много текста. Написал сейчас, написал до этого, ещё напишешь тонны и тонны. И что? Где твой результат? Стремиться к нулю? Если кроме твоей болтовни размером в 10 экранов ничего ни видно, то как к тебе то самому относиться, как если не к балаболу?

Результат есть. С чего ты решил, что вдруг всё измениться из-за того, что я один раз что-то напишу? Потихоньку всё меняется.

Агитируешь за осмысленность? Ну и кто против? Агитируй. Это приносит какие-то плоды? Где результат, кроме тонн (тонн!) трёпа?

Да, приносит. Трепачам всё сложнее и сложнее трепаться. Уровень понимания аудитории растёт. Почитай что тут было буквально несколько лет 5 назад.

rustonelove
()
Ответ на: комментарий от azelipupenko

Естественно - тебе ничего не нужно. Тебе не нужно разбираться, тебе не нужны ответы. Ты просто желаешь пастить ахинею, отвечать ахинеей и тебе нормально живётся. Только зачем ты пишешь про какую-то дискуссию, которая тебе не нужна? А если нужно - почему ты не соответствуешь?

Да и если это прописные истины - почему им никто не следует? Странно получается.

Я тебе уже сказал - хочешь разобраться - разбирайся. Пытайся как-то обосновать свою ТЗ и защитить её. Ты предвзят, а предвзятость должна иметь основания, а у тебя их, по видимому, нет.

rustonelove
()
Ответ на: комментарий от rustonelove

С чего ты решил, что вдруг всё измениться из-за того, что я один раз что-то напишу? Потихоньку всё меняется.

Так же как и ты вдруг решил, что я балабол, потому что упомянул макры Лиспа в контексте их превосходства над шаблонами цепепе, затребовав у меня обоснований, подвергнув сомнениям мой скилл в этой области. Не надо так делать. Не надо считать всех вокруг балаболами только лишь потому, что тебе не хотят что-то доказывать. Относись проще. Меня тоже не вдохновляют персонажи, которые любят просто побздеть на словах, впаривая явную ахинею, в то время как мне известны достоверные факты.

Мне не хотелось устраивать полемику тут. Но ты начал зачем-то накатывать. Тебе, видишь ли, показалось, что тебя пытаются подловить. Не правильно понял всё. Советую впредь не делать скоропалительных выводов, и не пытаться рвать на себе рубаху, доказывая, самому себе, собеседнику и бублике «некомпетентность» собеседника. Потому что в таком случае донести информацию адекватно не получится. Нет, если пофлеймить, то почему бы и нет? А если нормально поговорить, то какого хрена?

Ты всё верно говоришь насчёт интерфейсов (API), которые можно сделать в цепепе. Это достигается за счёт того, что в цепепе самый непосредственный FFI к сям из всех существующих. Просто берёшь тулчейн, компилишь и вуаля. Лисп тоже можно использовать для построения интерфейсов к сям. Да много какой язык можно использовать для интерфейсов. Но удобнее всего для этого цепепе, как ни крути. В этой связи у цепепе нет альтернатив. И не будет, как это ни печально.

azelipupenko
() автор топика
Ответ на: комментарий от rustonelove

Ты просто желаешь пастить ахинею, отвечать ахинеей и тебе нормально живётся.

Точно также можно сказать и про твою ахинею. Тебе она может казаться не ахиней, так же как и певцу без слуха всегда кажется, что он поёт не хуже Шаляпина. Но это только ему так кажется. Если такой караоке-певец поедет гастролировать, то его могут закидать помидорами, потому что он будет не петь, а издавать невнятный набор звуков. Хотя ему будет казаться, что он исключительно поёт.

Так что может быть я и несу ахинею, но я так не считаю. Так же как и в случае с тобой и твоей ахинеей. Мысль ясна, думается.

azelipupenko
() автор топика
Ответ на: комментарий от azelipupenko

Так же как и ты вдруг решил, что я балабол, потому что упомянул макры Лиспа в контексте их превосходства над шаблонами цепепе, затребовав у меня обоснований, подвергнув сомнениям мой скилл в этой области.

Неверно. Я тебе сказу сказал, что подобные возможности, которые ты выдал за плюсы лиспа - не имеют никакого отношения к тем возможностям, о которых говорил я. Это первое.

Второе, тебе сказали о том, что твоя агитка устарела. На шаблонах в крестах уже давно не заканчивается метапрограммирование.

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

Мне не хотелось устраивать полемику тут. Но ты начал зачем-то накатывать. Тебе, видишь ли, показалось, что тебя пытаются подловить. Не правильно понял всё.

Я всё правильно понял, ведь ты продолжаешь игнорировать основные обстоятельства, в рамках которые и существуют моё к тебе обвинение. Макросы вс шаблоны - тут не приделах - я об этом вообще ничего не говорил.

Я лишь сказал, что не верю тебе. Я не утверждал обратного и не утверждал вообще ничего - ты всё это сам выдумал.

Лисп тоже можно использовать для построения интерфейсов к сям.

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

Понимаешь, я бы мог относиться к твоему лиспу иначе, если бы у меня был пример человека, который смог бы обосновать его состоятельность. Пока я подобного НИГДЕ не видел. И никаких оснований думать иначе - у меня нет.

Ты можешь как угодно к этому относиться, как угодно любить свой лисп - для меня это будет пустым трёпом, пока ты мне не покажешь реальные возможности.

rustonelove
()
Ответ на: комментарий от azelipupenko

Точно также можно сказать и про твою ахинею. Тебе она может казаться не ахиней, так же как и певцу без слуха всегда кажется, что он поёт не хуже Шаляпина. Но это только ему так кажется. Если такой караоке-певец поедет гастролировать, то его могут закидать помидорами, потому что он будет не петь, а издавать невнятный набор звуков. Хотя ему будет казаться, что он исключительно поёт.

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

Если их не могу найти ни я, ни кто-либо ещё( из видимых мною), то либо я видел и говорил только с какими-то глупыми людьми, либо я могу экстраполировать эти выводы на всех. Я ведь вам специально не выбираю. Это достаточно репрезентативная выборка получается.

Так что может быть я и несу ахинею, но я так не считаю. Так же как и в случае с тобой и твоей ахинеей. Мысль ясна, думается.

Я не игнорируют ничего, я не юлю, я отвечаю на все вопросы. Именно этого ты не делаешь. Я тебе уже 10раз написал о том, что мои претензии никакого отношения к теме «лисп-макросы вс с++-шаблоны» не имеют.

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

rustonelove
()
Ответ на: комментарий от rustonelove

Я тебе сказу сказал, что подобные возможности, которые ты выдал за плюсы лиспа - не имеют никакого отношения к тем возможностям, о которых говорил я.

Я тебе говорил о возможностях языка вообще в отрыве даже от HTTP-сервер, который я привёл как пример задачи и которым ты потом меня попрекал. Мол, выкатывай давай где там макры в реализации HTTP-сервера. А не покажешь - балабол.

Второе, тебе сказали о том, что твоя агитка устарела.

Нет у меня никакой агитки. У меня есть чёткое представление об убогости шаблонов цепепе и мощи лисповых макр. Давай ка вспомним твою же реализацию генерации строчки в компайл-тайме на шаблонах цепепе. Я её даже себе оставил на память. Как это дерьмо (хотя сама реализация безупречна) можно использовать дальше ЗдравствуйМира - мне не ясно. И никому не ясно, включая тебя же самого.

На шаблонах в крестах уже давно не заканчивается метапрограммирование.

На уровне самого цепепе я не знаю как ещё готовить в мета. Вот Саттер сейчас проталкивает идею метакласса (которая в лиспе уже лет 30, точно) в цепепе. Дошло до него. Вот тогда в цепепе будет уже легче с метапрограммированием. Впрочем, если ты эту тему раскроешь (что там с метапрограммированием не только на шаблонах), то буду тебе очень признателен.

На каждую мою структуру данных, либо подмодуль делать интерфейс на лиспе и далее уже ваять всё на лиспе? Такая себе затея.

Ну вот поэтому цепепе альтернатив нет. Я об этом тоже уже сказал.

пока ты мне не покажешь реальные возможности

Какие именно возможности тебя интересуют?

azelipupenko
() автор топика
Ответ на: комментарий от rustonelove

Я Я Я

Чисто субъективное восприятие. Т.е. личное.

Единственное, что я говорил - это спрашивал с тебя доказательств.

Доказательства чего? Убогости шаблонов цепепе? Или превосходства макросов Лиспа над шаблонами цепепе? Ну посмотри на свой же код генерации строчки в компайл-тайме на шаблонах цепепе и ужаснись. Тут говорить не о чем, разве что о хвалёном Тьринг-полном языке шаблонов цепепе, который самим цепепе не является, в отличии от языка макр Лиспа, которым является сам же Лисп.

azelipupenko
() автор топика
Ответ на: комментарий от azelipupenko

Я тебе говорил о возможностях языка вообще в отрыве даже от HTTP-сервер, который я привёл как пример задачи и которым ты потом меня попрекал. Мол, выкатывай давай где там макры в реализации HTTP-сервера. А не покажешь - балабол.

Ты о возможностях вообще не говорил. О них начал говорить я и я их чётко определил.

А потом ты начал мне придумывать какие-то неведомые возможности, о которых я не говорил. И я с тебя спросил - какие возможности дают твои макросы. Т.е. как они мне помогут сделать реализацию/интерфейс лучше? Я считаю, что никак. Имею на это право и я уже писал почему. Потому что я не видел реальных свидетельств макросов в лиспе.

Нет у меня никакой агитки. У меня есть чёткое представление об убогости шаблонов цепепе и мощи лисповых макр.

Я же тебе уже говорил, что метапрограммирование в цпп уже давно находится за рамками шаблонов. Есть constexpr, который развивается и впиливают много чего ещё.

Давай ка вспомним твою же реализацию генерации строчки в компайл-тайме на шаблонах цепепе. Я её даже себе оставил на память. Как это дерьмо (хотя сама реализация безупречна) можно использовать дальше ЗдравствуйМира - мне не ясно. И никому не ясно, включая тебя же самого.

Проблема тут не в шаблонах. Я же там объяснял в чём проблема.

Проблема в том, что С++ - это прикрученная поверх си логика. В си нет никакого метапрограммирование - оно там не нужно. В си нет никаких типов и прочей ахинеи. В си нет никакой памяти на уровне языка. Функций нет, аргументов нет.

Именно всё это в крестах от си и вместе с этим возникают тысячи проблем. И это основная проблема крестов - сишная основа, которая для этого не предназначена.

В языке на уровне языка нет строковых литералов. Они на уровне си и то не на уровне языка. Из-за этого все проблемы.

На уровне самого цепепе я не знаю как ещё готовить в мета.

В той строке мета было взято из gnu, ибо строкового литерала на уровне языка нет. Да, там в других реализациях кое как это было накостыленно, но из этого мало что следует.

На уровне типов пока есть только параша на макросах, но она не такая уж и убогая. На уровне самого кода есть constexpr. Много чего добавили и в сами шаблоны - те же шаблонный таймнеймы и прочее. Наконец-то добавили deduction guides. Лениво всё перечислять.

Вот Саттер сейчас проталкивает идею метакласса (которая в лиспе уже лет 30, точно) в цепепе.

Лисп - это примитивный язык. Подобное есть в каком-нибудь жаабскрипте из коробки. Ну и плюс рефлексия, которую итак все ждут.

Крестами никто не занимался много лет + этот язык не может ограничиться видимостью реализаций. Это в лиспе, жабаскрипте, либо расте можно впихнуть любое кое-как рабочее дерьмо и сказать, что «нормально».

Впрочем, если ты эту тему раскроешь (что там с метапрограммированием не только на шаблонах), то буду тебе очень признателен.

Я не могу раскрывать тему вне контекста. Придумай какой-то пример, который был бы полезен и который решался бы красиво в рамках твоих макросов.

Вот тогда в цепепе будет уже легче с метапрограммированием.

Я очень сомневаюсь, что в твоём лиспе «мета» это не просто пустое название.

Какие именно возможности тебя интересуют?

Любые. Приведи пример использования макросов, чем они мощнее и прочее. На любом осмысленном примере.

rustonelove
()
Ответ на: комментарий от azelipupenko

Или превосходства макросов Лиспа над шаблонами цепепе?

Вот этого.

у посмотри на свой же код генерации строчки в компайл-тайме на шаблонах цепепе и ужаснись.

Я не вижу никакого ужаса. Да, убого, но что поделать. Да и там можно лучше.

Тут говорить не о чем, разве что о хвалёном Тьринг-полном языке шаблонов цепепе, который самим цепепе не является, в отличии от языка макр Лиспа, которым является сам же Лисп.

Понимаешь в чём штука, шаблоны да - параша. Но что поделать. Мне никто не показал ничего лучшего. Поэтому они параша в сравнение с чем-то абстрактным, а как дело доходит до реальности - я нигде внятной альтернативы не видел.

Основная проблема шаблонов в том, что типы не интегрированы в С++. Т.е. оно где-то сбоку. Но на то есть свои причины и у этого есть свои плюсы.

Покажи мне лисп. Возможно ты сможешь меня удивить т.к. пока что - я видел только всякую херню.

rustonelove
()
Ответ на: комментарий от azelipupenko

Лол. Ты еще не понял, что царь в состоянии в одиночку вывести тред как минимум в Топ-5 (если не на первое место), если его немного подкармливать. Он же как бешенная шавка из подворотни, казалось бы, облаивающая тебя уже изо всей мочи, но стоит на неё прикрикнуть, как начинает заливаться с утроенной силой.
Можно вспомнить известную цитату Марка Твена про то, что не стоит спорить с идиотами.

Если по теме макросов: я не знаю CL, но вот есть макросы в Rust, даже два вида. И я бы не сказал, что они часто нужны, и дело даже вовсе не в том, что они якобы сложные. Естественно, сложные, метапрограммирование само по себе сложное, потому что приходится делать работу, которую по идее должен делать компилятор (не тот, которым пользуешься, а сферический, более мощный). Получается, что макросы штука нужная, но киллер-фичей является только в определенного рода задачах. Я бы сказал, что философская задача макросов как инструмента — это поиск абстракций более высокого уровня, чем существующие, с тем, чтобы потом интегрировать их в сам ЯП. А клепание DSL'ей с помощью макросов... Это как сцена из «Пикника на обочине», где один персонаж и выдает это сравнение визита инопланетян и его последствий с копошением муравьев в мусоре, оставшемся после пикника — дальше додумаешь сам.

Virtuos86 ★★★★★
()
Ответ на: комментарий от rustonelove

Я же тебе уже говорил, что метапрограммирование в цпп уже давно находится за рамками шаблонов. Есть constexpr, который развивается и впиливают много чего ещё.

Без макросов метапрограммирование естественным образом невозможно. Всё остальное противоестественно и находится в заднице. Особенно шаблоны. Почему? Потому что только когда метапрограмма на языке Foo написана на Foo, только тогда метапрограммирование можно назвать естественным. constexpr в этом плане кое-что даёт, но он сильно ограничен. Тебе не доступны все возможности языка на стадии компиляции. Нельзя соединиться с БД и подтянуть необходимые данные во время работы constexpr-функции, например.

Лисп - это примитивный язык.

Да. Лисп - это вообще не язык, а концепция.

Любые. Приведи пример использования макросов, чем они мощнее и прочее. На любом осмысленном примере.

Уже привёл, в принципе. Например, есть сервер СУБД. СУБД поддерживает хранимые процедуры, которые клиент может вызывать. Но для этого их надо сначала создать в БД. На Лиспе в клиентском коде для этого можно определить макрос, который будет создавать на сервере БД хранимку, а в клиентком коде биндинг. Один раз написал такой макрос и потом определяй любые хранимки в 100500 разных мест, как-нибудь так:

(define-storable-procedure foo as
  begin
  // ...
  end)
azelipupenko
() автор топика
Ответ на: комментарий от Virtuos86

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

Нет там ничего сложного. Разработка компиляторов является такой же обыденностью, как и разработка форм для бабушки-бухгалтера ТСЖ для тех, кто занимается компиляторами.

не тот, которым пользуешься, а сферический, более мощный
А клепание DSL'ей с помощью макросов

Тут противоречие. Или я тебя не понял. Но макры - это всегда про DSL и, как следствие, про мини-компилятор.

azelipupenko
() автор топика
Ответ на: комментарий от azelipupenko

Без макросов метапрограммирование естественным образом невозможно. Всё остальное противоестественно и находится в заднице. Особенно шаблоны. Почему? Потому что только когда метапрограмма на языке Foo написана на Foo, только тогда метапрограммирование можно назвать естественным. constexpr в этом плане кое-что даёт, но он сильно ограничен.

Слишком невнятно. Что есть язык? Чем он ограничен?

Тебе не доступны все возможности языка на стадии компиляции. Нельзя соединиться с БД и подтянуть необходимые данные во время работы constexpr-функции, например.

Потому что в твоём кулл-языке нет никакой компиляции. Это жаваскрипт.

Уже привёл, в принципе. Например, есть сервер СУБД. СУБД поддерживает хранимые процедуры, которые клиент может вызывать.

Опять мир пхп. Всё это делается на пхп.

Но для этого их надо сначала создать в БД. На Лиспе в клиентском коде для этого можно определить макрос, который будет создавать на сервере БД хранимку, а в клиентком коде биндинг. Один раз написал такой макрос и потом определяй любые хранимки в 100500 разных мест, как-нибудь так:

Понимаешь - в этом все лиспо-балаболы. У них всё можно, но ничего нету.

Мало того, что ты описал какую-то неведомую херню. Какую хранилку, какие процедуры, чего вызывать.

Если ты хочешь о чём-то поговорить - ты пишешь пример. Если примеров нет - не о чём вообще говорить. Я таких сказок невнятных слушал тысячи и именно это я тебе в пример и приводил.

Ах ну и да, Компиляция с побочными эффектами - это сильно.

Ну хорошо, я даже с тобою поиграюсь:

(define-storable-procedure foo as
  begin
  // ...
  end)

Что делает эта лапша? Определяет глобал foo? Что делает он?

rustonelove
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.