K>>Откуда пошла эта мода на обмазывание шаблонами к месту и не к месту? Нет, я ничего не имею против шаблонов, если действительно надо — только приветствую. K>Многие не приветствуют потому, что не понимают.
А есть кто-то кто понимает и наоборот не использует! Поскольку понимает что код надо будет еще и поддерживать.
K>>Ну или просто может я лох, а другие умные. Наболело, в общем. K>Просто ты не осилил. В шаблонной "магии" используются простые принципы языка. ты их не знаешь, отсюда и непонимание того как оно всё работает.
Я всегда говорил. Любителей шаблонов и паттернов нужно заставить поддерживать код написанный другими такими любителями шаблонов и паттернов. Чтоб неповадно было!
З.Ы. Вот сколько не смотрю, это только русские программисты считают себя профессионалами а как до дела доходит — "нет, не хочу, не буду я поддерживать говнокод!"
WTF?!! Программист должен уметь разбираться в чужом коде и рабоатать в его рамках а не считать что работа программиста это писать код по типу "я сейчас тут напишу со всеми новомодными фичами а после меня и трава не расти."
ОК>>Чувак, только потому что в языке есть фича еще не значит что ее надо пихать куда не попадя. X>чел, ты про нечитаемые ошибки? так а кто-то разве сует в свой код нечитаемые ошибки? оО
Я про нечитаемый код а не про нечитаемые ошибки компилятора.
Здравствуйте, Олег К., Вы писали:
ОК>Я про нечитаемый код а не про нечитаемые ошибки компилятора.
ну так читай, перед тем как цитировать. хоть раз уже...
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Здравствуйте, kurchatov, Вы писали:
K>Шаблоны изначально придумывались для предоставления статического полиморфизма (Object-то нет в С++). Здесь и прирост производительности, если можно юзать шаблон вместо иерархии классов.
Да, согласен. Но тем ни менее программисты по всему миру придумывают и используют библиотеки типа Буста. Раз придумывают и используют — значит есть потребность (и немаленькая, судя по всему). А как раз это и интересно.
Здравствуйте, NeoCode, Вы писали:
NC>Раз придумывают и используют — значит есть потребность
да ты чо?! алег сказал что только он в треде оракул! окстись!
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Здравствуйте, Олег К., Вы писали:
ОК>Ты там в ветке про Сайберакса ныл про плохой код который ты решил переписать. А теперь ответь, почему ты решил, что никто не прийдет и не скажет что твой говнокод нужно переписать?
Не пойму в чём проблема если у кого-то код получится объективно лучше чем твой?
Или, например, ты разве ни разу не рефакторил свой код, потому нашёл лучший способ решения проблемы?
EP>"Это не дело вкуса, а дело инженеринга. Мне довелось поддерживать проект в который такие любители запихали [PLACEHOLDER]. Абсолютно нечитаемый и неподдерживаемый код был в тех местах."
Не тупи, а? Самое худшее что происходит в мире коммерческой разработки на плюсах это абьюзанье шаблонов.
EP>Следует ли из этого это что использование [PLACEHOLDER], делает код абсолютно не читаемым и не поддерживаемым? Нет. EP>Например, goto в кривых руках превращает код в лапшу, а в прямых — это всего лишь инструмент с определённым предназначением
Еще не видел ни одного любителя шаблонов с прямыми руками! Крикунов зато видел.
Здравствуйте, Evgeny.Panasyuk, Вы писали:
EP>Не пойму в чём проблема
проблема в том, что он читает только то, что ему удобно читать, и отвечает только на то, на что ему удобно читать. вот и снова жир стекает...
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Здравствуйте, Evgeny.Panasyuk, Вы писали:
EP>Не пойму в чём проблема
проблема в том, что он читает только то, что ему удобно читать, и задает только те вопросы, которые ему удобно задать, и отвечает только на то, на что ему удобно отвечать. вот и снова жир стекает...
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
ОК>>Чувак, вряд ли к твоему мнению можно вообще прислушиваться. Ты там в ветке про Сайберакса ныл про плохой код который ты решил переписать. А теперь ответь, почему ты решил, что никто не прийдет и не скажет что твой говнокод нужно переписать? X>чел, ты читаешь только то, что тебе удобно, мы уже это поняли
Я читаю то что я вижу!
X>про плохой код: я писал, что он плохой и по мнению самого Сайберакса. но тебе-то это не интересно, потому что неудобно
Ну разумеется! Я не сомневаюсь что Сайберакс осознает где у него хороший код а где плохой. Однако в тот код уже были вложены деньги. Поэтому нужно уметь работать с существующим кодом, чего у тебя нет.
X>про мой код: наверняка кто-то таки скажет что мой код плохой, как и говорили уже ранее. но куда мне до тебя-то, о великий!
Мой код поймет даже первокурсник. И да, я понимаю в чем разница между инженером и теми кто дрочит на язык.
Здравствуйте, Олег К., Вы писали:
EP>>"Это не дело вкуса, а дело инженеринга. Мне довелось поддерживать проект в который такие любители запихали [PLACEHOLDER]. Абсолютно нечитаемый и неподдерживаемый код был в тех местах." ОК>Не тупи, а?
Когда заканчиваются аргументы — переходишь на хамство?
ОК>Самое худшее что происходит в мире коммерческой разработки на плюсах это абьюзанье шаблонов.
Abuse шаблонов действительно имеет место быть. И особенно этим грешат те, кто только начинают использовать TMP техники, и не знают как их не использовать.
Но, такой же abuse происходит практически для каждой фичи. Например тот же "классический ООП" — раздуваются совершенно не нужные иерархии, да чего стоят только одни getters&setters в тех местах где достаточно обычной структуры.
Или, например, комментарии — казалось бы, ну что тут-то может быть? А всё туда же — неправильное использование, использование не к месту и т.п.
EP>>Следует ли из этого это что использование [PLACEHOLDER], делает код абсолютно не читаемым и не поддерживаемым? Нет. EP>>Например, goto в кривых руках превращает код в лапшу, а в прямых — это всего лишь инструмент с определённым предназначением ОК>Еще не видел ни одного любителя шаблонов с прямыми руками! Крикунов зато видел.
ОК>>Ты там в ветке про Сайберакса ныл про плохой код который ты решил переписать. А теперь ответь, почему ты решил, что никто не прийдет и не скажет что твой говнокод нужно переписать?
EP>Не пойму в чём проблема если у кого-то код получится объективно лучше чем твой?
Тут проблема вот в чем. На деле каждый считает что его код самый лучший, но ты представь что будет если каждый последущий программист будет приходить и орать "говнокод! надо переписать!"
EP>Или, например, ты разве ни разу не рефакторил свой код, потому нашёл лучший способ решения проблемы?
Постоянно это делаю. Разница только между мной и некоторыми это то что я знаю насколько тяжело бывает поддерживать боевой проект в зависимости от гениальности некоторых личностей. Ну и не дрочу на конструкции языка.
З.Ы. Абьюзанье шаблонов в мире С++ — наихудшее зло, и отрицать этот факт нельзя ну никак!
EP>Но, такой же abuse происходит практически для каждой фичи. Например тот же "классический ООП" — раздуваются совершенно не нужные иерархии, да чего стоят только одни getters&setters, в тех местах где достаточно обычной структуры.
здесь согласен. Особенно были любители паттернов, но вроде волна уже прошла (или они переключились на шаблоны? )
Здравствуйте, Олег К., Вы писали:
EP>>Не пойму в чём проблема если у кого-то код получится объективно лучше чем твой? ОК>На деле каждый считает что его код самый лучший,
Неверно.
ОК>но ты представь что будет если каждый последущий программист будет приходить и орать "говнокод! надо переписать!"
Бросаться с шашкой наголо переписывать каждый код без разбора, в котором есть какие-то проблемы — очевидно нерационально.
А вот, например, сделать заметку об объективных проблемах, рассказать автору о лучших вариантах решения (чтобы он не допускал ошибки впредь, или хотя бы знал об альтернативах) — почему бы и нет?
ОК>З.Ы. Абьюзанье шаблонов в мире С++ — наихудшее зло, и отрицать этот факт нельзя ну никак!
Это не может быть фактом хотя бы потому, что в большинстве существующего кода C++ нет никаких шаблонов, и уж тем более TMP, а проблем-то всё-равно куча
Бред какой то... шаблоны это часть языка, метапрограммирование это по большей части программирование в компайл тайм, это действитльно круто.
Что делать — нужно учиться готовить, совсем не сложно на самом деле.
То ли дело например.... оператор (или как оно в нём называется) @ в языке С# позволяющий в качестве ключевых слов объявлять переменные... вот это действительно идиотизм.
PM>>не люблю Qt X>да, это ужасное творение. но для ГУЯ приходится использовать, увы
Эм... и что в нём ужасного? Отличная библиотека, для GUI... так её и использую.
PM>>Высказывания "не используем boost потому что он слишком сложный" для меня признак низкой квалификации ведущего разработчика. Работать в такой команде — профессионально деградировать. X>угу.
Работал как то в такой, сказали что код должен быть расчитан на среднестатистического программиста и boost запретили использовать.
Но я там не долго работал.
ОК>>Самое худшее что происходит в мире коммерческой разработки на плюсах это абьюзанье шаблонов.
EP>Abuse шаблонов действительно имеет место быть. И особенно этим грешат те, кто только начинают использовать TMP техники, и не знают как их не использовать.
Нормальному инженеру вообще такое в голову не прийдет использовать!
Я, конечно же, допускаю что это может где-то понадобится но не на каждом шагу.
EP>Но, такой же abuse происходит практически для каждой фичи. Например тот же "классический ООП" — раздуваются совершенно не нужные иерархии, да чего стоят только одни getters&setters в тех местах где достаточно обычной структуры.
Нехорошо, конечно же, но жить можно. Главное чтобы код был понятен.
EP>Или, например, комментарии — казалось бы, ну что тут-то может быть? А всё туда же — неправильное использование, использование не к месту и т.п.
EP>>>Следует ли из этого это что использование [PLACEHOLDER], делает код абсолютно не читаемым и не поддерживаемым? Нет. EP>>>Например, goto в кривых руках превращает код в лапшу, а в прямых — это всего лишь инструмент с определённым предназначением ОК>>Еще не видел ни одного любителя шаблонов с прямыми руками! Крикунов зато видел.
EP>Выше по топику был пример использования Spirit
Это был малюсенький кусочек кода. Не знаю где ты его взял и кто автор, но ты бы лучше скопировал кусок кода линий так на 30-40 тысяч как минимум. И да, грамматики тоже надо дебагать.
Ну и вместо этой херни лучше уж написать небольшой парсер с рекурсивным спуском. Речь о небольших грамматиках. Для чего-то более сложного — лекс и бизон плюс что там еще нового есть.