Здравствуйте, Lazin, Вы писали:
L>А вы не используйте mpl, fission и им подобный булшит и н придется считать crc32 компилятором. Мне лично жалко тратить время на подобное
мдя, Женя, два года тебя на форумах не видел, а ты ничуть не изменился, и все так же троллишь используемые технологии... а вроде бы должен был повзрослеть =)
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Здравствуйте, niXman, Вы писали:
X>мдя, Женя, два года тебя на форумах не видел, а ты ничуть не изменился, и все так же троллишь используемые технологии... а вроде бы должен был повзрослеть =)
Я и правда использую spirit и fusion в работе, точнее не столько использую, сколько поддерживаю код, написанный с их помощью. В проекте примерно 300K LOC и он при этом собирается минут эдак 40. Артефакты сборки получаются такие — 700Мб статических библиотек и пол гига исполняемых файлов Спасибо метопрограммированию на шаблонах за все хорошее
Причем я всерьез занимался оптимизацией сборки по размеру и по времени.
Использование обеих упомянутых библиотек в коде большого проекта сложно оправдать.
Здравствуйте, Lazin, Вы писали:
L>Я и правда использую spirit и fusion в работе, точнее не столько использую, сколько поддерживаю код, написанный с их помощью.
ты более на плюсах не пишешь? только C#?
тем не менее, есть задачи, где использование проприетарного софта недопустимо по причинам безопасности. а mono и openjdk — костыли.
L>В проекте примерно 300K LOC и он при этом собирается минут эдак 40. Артефакты сборки получаются такие — 700Мб статических библиотек и пол гига исполняемых файлов
звучит страшно. но пока не приходилось получать такие объемные бинари, хотя в текущем проекте ~130К loc, а результирующий бинарь ~23 Мб.
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Здравствуйте, niXman, Вы писали:
X>Здравствуйте, Lazin, Вы писали:
L>>Я и правда использую spirit и fusion в работе, точнее не столько использую, сколько поддерживаю код, написанный с их помощью. X>ты более на плюсах не пишешь? только C#?
Как это следует из моего комментария? Я на С# уже больше года ничего не писал. Я пишу на плюсах, каждый день, на работе + pet project. В нем, кстати, я вообще boost не использую, тем не менее, проект кроссплатформенный
X>звучит страшно. но пока не приходилось получать такие объемные бинари, хотя в текущем проекте ~130К loc, а результирующий бинарь ~23 Мб.
У нас там очень много boost.sprit грамматик. Они все живут в отдельных cpp файлах и не торчат в хэдерах, но тем не менее. Но spirit грамматики по крайней мере легко изменять, а вот в код, который юзает fusion и mpl очень сложно вносить изменения.
Здравствуйте, Lazin, Вы писали:
L>А кто велосипедит? Я просто использую другие библиотеки, например apr, она сишная и умеет все что мне нужно
хардкор, однако...
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Здравствуйте, niXman, Вы писали:
L>>А кто велосипедит? Я просто использую другие библиотеки, например apr, она сишная и умеет все что мне нужно X>хардкор, однако...
Это как раз не хардкор, хардкор, это считать, непонятно зачем, хэши от строк в процессе компиляции.
Использовать сишные либы — одно удовольствие. Очень просто понимать как работает код. Исключений там ни одна функция не кидает, нет неявных вызовов конструкторов/деструкторов/операторов преобразования типа, временных объектов тоже нет. Это очень продуктивно.
Здравствуйте, Lazin, Вы писали:
L>Это как раз не хардкор, хардкор, это считать, непонятно зачем, хэши от строк в процессе компиляции. L>Использовать сишные либы — одно удовольствие. Очень просто понимать как работает код. Исключений там ни одна функция не кидает, нет неявных вызовов конструкторов/деструкторов/операторов преобразования типа, временных объектов тоже нет. Это очень продуктивно.
думается мне, таким образом ты выражаешь протест, против чего-то... (против С++? так почему на Си не пишешь?)
в общем, мне это кажется крайне странным, чем-то вроде регресса.
к тому же, даже не могу представить, что можно написать не используя шаблонов %)
ну да ладно..
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Здравствуйте, niXman, Вы писали:
X>думается мне, таким образом ты выражаешь протест, против чего-то... (против С++? так почему на Си не пишешь?)
Какой еще протест? Я на форумах не сижу, код свой вам не показываю. На Си не пишу, так как пишу на С++, лол. Я использую классы, шаблоны, стандартную библиотеку С++ и все такое. Я не злоупотребляю возможностями языка, и не использую штуки, которые так делают. Более восьми лет использования С++ чему-то да научили.
X>в общем, мне это кажется крайне странным, чем-то вроде регресса.
Регресс, это когда у тебя есть задача — посчитать хэши для набора строк, известных во время компиляции, а ты, вместо того, чтобы написать простой, понятный и поддерживаемый код, пишешь compile time crc32, который а) нужно тестировать б) нужно поддерживать в) отличается от crc32 ф-ии, используемой в рантайме г) увеличивает время компиляции д) тянет за собой дополнительное метапрограммирование (список строк нужно хранить в чем-нибудь вроде boost::fusion::vector или хз где и обходить через какой-нибудь fusion.for_each, в общем, не то, что обычно используют в рантайме) е) нельзя дебажить. Вывод: данный подход не дает никаких преимуществ перед тупым вычислением хэшей при старте программы, одни недостатки, он контрпродуктивен и сеет в коде иррациональное зло
Ну если только автор хотел использовать эти хэши для ad-hoc генерации идентификаторов, но это тоже попахивает, ибо нет защиты от коллизий и их сложно будет детектить (дебажный код под ifdef не напишешь).
Здравствуйте, Lazin, Вы писали:
L>Отличный способ вести дискуссию.
дело в том, что мне все еще не верится, что ты это всерьез. думаю, ты просто троллишь...
посмотрел я на apr, и не увидел там ничего, что могло бы меня заставить ее юзать...
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Здравствуйте, niXman, Вы писали:
X>дело в том, что мне все еще не верится, что ты это всерьез. думаю, ты просто троллишь...
нед X>посмотрел я на apr, и не увидел там ничего, что могло бы меня заставить ее юзать...
никто тебя не заставляет
Здравствуйте, niXman, Вы писали:
X>абсурд какой-то %)
Ничего подобного. Такая точка зрения обычно является результатом длительной работы в команде в конторе на фуллтайм. Где всякие программерские изыски неприемлемы и даже вредны, потому что:
а) Не все программисты обладают одинаковой квалификацией, чтобы потом читать такой код.
б) Если человек только начал работать, ему будет гораздо сложнее входить в колею.
в) Довольно часто требуется просто решить задачу, а не решить задачу самым крутым способом доступным на текущем языке. То есть времени нет писать изыски. То, что они занимают больше времени — факт, даже судя по твоим постам на форуме (да и мой собственный опыт говорит о том же).
г) Отчитываться за такой код труднее, если начальство само не балуется таким же.
Это соответствует рабочей обстановке у многих работодателей. Это не троллинг и не абсурд — реальность как она есть.