Здравствуйте, tonchitos, Вы писали:
T>А если связанную с метапрограммированием? Или лучше туда не соваться, если у мя всего 2 месяца и я ничего о метапр-и не знаю?
Метапрограммирование на C++ -- это вообще сложная тема, на которую есть разные взгляды. Мой, в частности,
состоит в том, что не стоит им заниматься вовсе, т.к. не предназначен C++ в своем нынешнем виде к подобным вещам. Тем более, что для метапрограммирования нужны серьезные знания в C++ и его шаблонах. Не имея подобных знаний расчитывать на достижение какого-то положительного эффекта за два месяца (при том, что и остальную учебу никто не отменял) я бы не стал.
T>От: VladD2
T>>- По силам ли мне написать что нить приличное за пару месяцев?
V>>-Думаю, по силам. Дело в том, что тут как раз чем меньше опыта, тем мощьнее можно получить эффект. T>А почему? Просто как-то не верится... эффект вроде всегда проперционален опыту..
Стеб здесь состоит вот в чем: даже если человек имеет большие познания и солидный опыт программирования на C++, сложный шаблонный код просто-напросто превращает программу в криптотекст, в котором даже сам автор не всегда способен разобраться. Если же знаний/опыта недостаточно, то разультат окажется еще более суровым -- полученный криптотекст вообще никто не будет способен понимать.
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, FDSC, Вы писали:
FDS>Влад, извини, не понял. Что получается само собой? Шифрование исходного кода при использовании метапрограммирования?
При использовании метапрограммирования на шаблонах С++.
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, tonchitos, Вы писали:
T>Да препод тут не причем... На форуме на каком-то... Ну я ж говорила, что вообще не имею представления о шаблонном метапрограммировании.. Так что бывает..
Кстати... тогда есть возможность препода на вшивость проверить.
Берешь исходники Буста (это тебе тут раскажут где брать)... делаешь красивое введение. Мол то да се, защита интеллектуальных и авторских прав... трали вали... пасатижи... В общем, много наукобразной (не путать с наукоемкой) фигни. Далее в оставшейся части распечатываешь исходники и в конце делаешь вывод, что цель достикается отлично.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, tonchitos, Вы писали:
T>Спасибо... С той темой все понятно. )) T>Ну а какого типа тему в этой области можно брать второкурснику?
Желательно закомую. Вообще метапрограммирование, т.е. написание программ генерирующих другие программы — это очень интересная тема. Но насколько ты с ней справишся, я не знаю.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, tonchitos, Вы писали:
T>>Да препод тут не причем... На форуме на каком-то... Ну я ж говорила, что вообще не имею представления о шаблонном метапрограммировании.. Так что бывает..
VD>Кстати... тогда есть возможность препода на вшивость проверить. VD>Берешь исходники Буста (это тебе тут раскажут где брать)... делаешь красивое введение. Мол то да се, защита интеллектуальных и авторских прав... трали вали... пасатижи... В общем, много наукобразной (не путать с наукоемкой) фигни. Далее в оставшейся части распечатываешь исходники и в конце делаешь вывод, что цель достикается отлично.
Ага...чтобы он мне неуд влепил, да? Я, кстати, не сомневаюсь в квалифицированности препа — по лекциям видно. Жаль тока, что ему не до студентов...он говорит — пишите че хотите, хоть ворд переписывайте, мне все равно.. А я вообще люблю, когда мне дают задание, а я его выполняю..Как сказал один мой знакомый — придумать тему для курсовика- это уже полработы..
вот такие пироги..
Здравствуйте, tonchitos, Вы писали:
T>Ага...чтобы он мне неуд влепил, да? Я, кстати, не сомневаюсь в квалифицированности препа — по лекциям видно. Жаль тока, что ему не до студентов...он говорит — пишите че хотите, хоть ворд переписывайте, мне все равно.. А я вообще люблю, когда мне дают задание, а я его выполняю..Как сказал один мой знакомый — придумать тему для курсовика- это уже полработы..
Мой совет — учись самостоятельности, если хочешь быть действительно хорошим программистом, а не "тупым кодером", то без этого не куда. Жить за счёт решений других людей — легко, только вот ни разу не эффективно (но тут уже вопрос хочешь ли ты добиваться действительно чего-то значимого)
Правда всё это злостный оффтопик и в "О жизни"
Здравствуйте, Курилка, Вы писали:
К>Здравствуйте, tonchitos, Вы писали:
T>>Ага...чтобы он мне неуд влепил, да? Я, кстати, не сомневаюсь в квалифицированности препа — по лекциям видно. Жаль тока, что ему не до студентов...он говорит — пишите че хотите, хоть ворд переписывайте, мне все равно.. А я вообще люблю, когда мне дают задание, а я его выполняю..Как сказал один мой знакомый — придумать тему для курсовика- это уже полработы..
К>Мой совет — учись самостоятельности, если хочешь быть действительно хорошим программистом, а не "тупым кодером", то без этого не куда. Жить за счёт решений других людей — легко, только вот ни разу не эффективно (но тут уже вопрос хочешь ли ты добиваться действительно чего-то значимого) К>Правда всё это злостный оффтопик и в "О жизни"
Ох, согласна полностью...Это все лень — мерзавка..
Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>Здравствуйте, c-smile, Вы писали:
ГВ>>>Автора!!!
CS>>А морду бить не будешь?
ГВ>Да ну что ты?! Таких беречь нужно!
Ген, а Ген, а чегой-та мне некий сарказм слышится в твоем предложении?
Здравствуйте, c-smile, Вы писали:
ГВ>>Да ну что ты?! Таких беречь нужно!
CS>Ген, а Ген, а чегой-та мне некий сарказм слышится в твоем предложении?
Ну... (Вот и выдумывай следующую реплику )
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, tonchitos, Вы писали:
T>Ох, согласна полностью...Это все лень — мерзавка..
Лень это главное свойство хорошего программиста. Вобще хороший и трудолюбивый программист вещи взаимосключающие.
Ибо трудолюбивый будет сидеть и долбить код тоннами, а ленивый подумает как сделать тоже самое но без тонны кода.
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, WolfHound, Вы писали:
WH>Ибо трудолюбивый будет сидеть и долбить код тоннами, а ленивый подумает как сделать тоже самое но без тонны кода.
IMHO, лень бывает 2х типов: продуктивная и непродуктивная.
Продуктивная — когда тебе лень долбить код тоннами, или выполнять одно и то же действие как дятлу и ты пишешь шаблон/кодогенератор, скрипт, whatever.
Непродуктивная — когда тебе лень подумать, напрячься и сделать что-то, что повысит продуктивность труда в долгосрочной перспективе...
Здравствуйте, Alxndr, Вы писали:
A>Непродуктивная — когда тебе лень подумать, напрячься и сделать что-то, что повысит продуктивность труда в долгосрочной перспективе...
Это уже не лень, это просто глупость и недальновидность. Так что настоящий программист должен быть умным и ленивым
Здравствуйте, WolfHound, Вы писали:
WH>Лень это главное свойство хорошего программиста.
Не согласен. Ленивый программист — плохой программист.
WH> Вобще хороший и трудолюбивый программист вещи взаимосключающие. WH>Ибо трудолюбивый будет сидеть и долбить код тоннами, а ленивый подумает как сделать тоже самое но без тонны кода.
Не нужно путать понятие программиста и кодера. Хороший программист (ключевое слово "ХОРОШИЙ") никогда в жизни не будет бездумно писать тонны кода, это участь молодого неопытного программиста, или ЛЕНИВОГО взрослого программиста, который изза своей лени выше уровня кодера никогда не сможет поднятся. Хороший программист сможет найти оптимальное решение для поставленной задачи с учетом временных рамок, особенностей реализации и требуемых результатов. И даже если оптимальным вариантом будет написать много кода, он так и поступит, потому что экономия в объеме исходного кода это НЕ ВСЕГДА правильное и оптимальное решение.
Здравствуйте, sharcUs, Вы писали:
U>Не нужно путать понятие программиста и кодера.
Кодеры... архитекторы... это все бла-бла-бла.
Есть программисты и те кто под них косят. Так вот тех кто косит я вобще не рассматриваю.
U>И даже если оптимальным вариантом будет написать много кода, он так и поступит, потому что экономия в объеме исходного кода это НЕ ВСЕГДА правильное и оптимальное решение.
Много кода оптимальным не бывает. Доказано индусами.
Кода должно быть так мало как позволяет твой интелект и инструмент который ты используешь.
Для сокращения кода есть много приемов. От архитектурных изысков до метапрограммирования (кодогенараторов если метапрограммирования нет).
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, WolfHound, Вы писали:
WH>Кода должно быть так мало как позволяет твой интелект и инструмент который ты используешь.
Есть еще такое понятие как "экономическая целесообразность". Если тебе к завтрашнему дню нужна утилита, то, возможно, более оптимальным является "нахачить по-быстренькому" без архитектурных изысков и метапрограммирования, а возможно даже (о ужас) и с копипастом.
Так что к интеллекту и инструментам я бы добавил время и деньги.
Здравствуйте, Alxndr, Вы писали:
A>Есть еще такое понятие как "экономическая целесообразность". Если тебе к завтрашнему дню нужна утилита, то, возможно, более оптимальным является "нахачить по-быстренькому" без архитектурных изысков и метапрограммирования, а возможно даже (о ужас) и с копипастом.
How to Recognize If an Application Will Be Long Lasting
Speaking of long-lasting applications, I especially remember one particular application I was asked to build. A global data communication service provider asked me to build a preliminary help desk application to be used at their new office in Sweden. Time was tightthey needed it the next day so that they weren't sitting there with paper and pen in their high-tech office when the press came to the opening day. Because it was going to be exchanged for a company policy standard application just a few weeks later, however, they told me that building it well wasn't important.
Yep, you guessed right. The quick-and-dirty application I built was still being used in production five years later. Sure, we improved it a lot, but I couldn't convince them to change from the platform I started using to something more suitable for a mission-critical application.
(с) Applying Domain-Driven Design and Patterns... By Jimmy Nilsson
Это я к тому, что в долгосрочной перспективе экономическая целесообразность может отличаться от ее же в краткосрочной перспективе.
"Если Вы отличаетесь от меня, то это ничуть мне не вредит — Вы делаете меня богаче". Экзюпери
Здравствуйте, Mirrorer, Вы писали:
M>Это я к тому, что в долгосрочной перспективе экономическая целесообразность может отличаться от ее же в краткосрочной перспективе.
Здравствуйте, AndreiF, Вы писали:
AF>Здравствуйте, Alxndr, Вы писали:
A>>Непродуктивная — когда тебе лень подумать, напрячься и сделать что-то, что повысит продуктивность труда в долгосрочной перспективе...
AF>Это уже не лень, это просто глупость и недальновидность. Так что настоящий программист должен быть умным и ленивым
Не так. Настоящий программист должен быть написан на Лиспе с использованием концепции ленивых вычислений
Здравствуйте, Mirrorer, Вы писали:
M>Это я к тому, что в долгосрочной перспективе экономическая целесообразность может отличаться от ее же в краткосрочной перспективе.
Зато есть другой вопрос. Предположим, что тебе нужно доказать начальству, что ты предложил правильную концепцию написания некоторой системы. Ты быстренько, по концепции "тонны кода", не думая ни о чём пишешь прототип (думая будет дольше). Он работает, ты получаешь людей, время на разработку архитектуры и т.п.
Так что для того, что бы была эк. целесообразность в долгосрочной перспективе сначала нужно обеспечить тактическую победу для начала работ.