Мне нужно выбрать интересную тему для курсовика по программированию (желательно так или иначе связанную с шифрованием).
Мне предложили такую тему:
"Применение шаблонного метапрограммирования как способ шифрования исходного кода на С++."
Но я плохо представляю для чего вообще существует метапрограммирование.
Прошу совета:
— Хорошая ли это тема?
— По силам ли мне написать что нить приличное за пару месяцев?
И вообще, просьба, кто неплохо знаком с метапрограммированием, то ссылочки давайте и вкратце инфу о том, с чем мне придется иметь дело...
О себе скажу, что учусь на 2м курсе. Пишу на Visual_C++, знаю апи, мфс ща осваиваю..
— Реально ли, имея эти знания, энтузиазм и два месяца, наваять нормальный курсач?
Заранее благодарю всех.
Здравствуйте, tonchitos, Вы писали:
T>"Применение шаблонного метапрограммирования как способ шифрования исходного кода на С++."
В качестве курсовика можешь дать преподавателю код Boost.Spirit или Boost.Bind вместе с Boost.Preprocessor
Здравствуйте, tonchitos, Вы писали:
T>Мне предложили такую тему: T>"Применение шаблонного метапрограммирования как способ шифрования исходного кода на С++."
Автора!!!
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, tonchitos, Вы писали:
T> Мне нужно выбрать интересную тему для курсовика по программированию (желательно так или иначе связанную с шифрованием). T> Мне предложили такую тему: T> "Применение шаблонного метапрограммирования как способ шифрования исходного кода на С++."
Здравствуйте, tonchitos, Вы писали:
T>- По силам ли мне написать что нить приличное за пару месяцев?
Думаю, по силам. Дело в том, что тут как раз чем меньше опыта, тем мощьнее можно получить эффект.
А вообще, если ты не прикалываешся, а тебе и правда такую тему для курсача дали, то тот кто это сделал был очень веселым человеком. Ему бы в Камеди-Клаб или вместо Петросяна на телевидение. А то они совсем уж выдохлись и жанр позорят.
Если ты до сих пор не понял, то автор этого предложения эдак тонко постебался сразу над твоими знаниями и над С++, точнее того что из него пытаются извернуть пытаясь добиться того, что в нем напрямую не поддерживается.
С++ напрямую поддерживаем метапрограммирование только на уровне препроцессора. Это убого и чревато граблями. Так вот народ извернулся и попытался использовать тот факт, что система типов С++ в сочетании с особенностями воплощения кода шаблонами выраждается в полную по Тюрингу машину вычислений (иными словами эдакий встроенный язык программирования). Забавно, что этот язык является функциональным языком программирования и поддерживает хитрую концепцию паттерн-матчинг. Одако язык дико ограниченный и убогий (не выразительный). В купе с отсуствием возможности номально взаимодействовать с "внешним миром" это порождает весьма запутанные решения.
Конечно нитко не использует метапрограммирование как способ шифрования. Это получается само собой.
О том, что же такое метапрограммирование ты можешь найти ответ в википедии.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>Здравствуйте, tonchitos, Вы писали:
T>>Мне предложили такую тему: T>>"Применение шаблонного метапрограммирования как способ шифрования исходного кода на С++."
ГВ>Автора!!!
Здравствуйте, c-smile, Вы писали:
ГВ>>Автора!!!
CS>А морду бить не будешь?
Да ну что ты?! Таких беречь нужно!
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, Cyberax, Вы писали:
C>>В качестве курсовика можешь дать преподавателю код Boost.Spirit или Boost.Bind вместе с Boost.Preprocessor
VD>Ага. Только морду при этом нужно по серьезнее и описание на несколько страниц.
VD>Но вообще, препод у них молодец. Так подколть. Уважаю!
Да препод тут не причем... На форуме на каком-то... Ну я ж говорила, что вообще не имею представления о шаблонном метапрограммировании.. Так что бывает..
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, tonchitos, Вы писали:
T>>- По силам ли мне написать что нить приличное за пару месяцев?
VD>Думаю, по силам. Дело в том, что тут как раз чем меньше опыта, тем мощьнее можно получить эффект.
Спасибо... С той темой все понятно. ))
Ну а какого типа тему в этой области можно брать второкурснику?
Здравствуйте, tonchitos, Вы писали:
T>Ну а какого типа тему в этой области можно брать второкурснику?
Если связанную с шифрованием, то сильно зависит от уровня второкурсника. Начиная от самостоятельной реализации какого-нибудь криптоалгоритма до реализации какого-нибудь криптопротокола. Например, протокола аутентификации с симметричными шифрами Нидхема-Шредера (http://en.wikipedia.org/wiki/Needham-Schroeder). Нужно будет создать клиентов Алису/Боба и собственный центр распределения ключей KDC, взаимодействующих между собой через TCP/IP (или пайпы). Цель этого дела:
* разобраться с проблемой аутентификации и распределения ключей;
* разобраться с существующими крипто-библиотеками (Crypto++, Botan, Cryptlib) или CryptoAPI, если речь идет о Windows.
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, FDSC, Вы писали:
VD>>Конечно нитко не использует метапрограммирование, как способ шифрования. Это получается само собой.
FDS>Влад, извини, не понял. Что получается само собой? Шифрование исходного кода при использовании метапрограммирования?
Здравствуйте, eao197, Вы писали:
T>>Ну а какого типа тему в этой области можно брать второкурснику?
E>Если связанную с шифрованием, то сильно зависит от уровня второкурсника. Начиная от самостоятельной реализации какого-нибудь криптоалгоритма до реализации какого-нибудь криптопротокола. Например, протокола аутентификации с симметричными шифрами Нидхема-Шредера (http://en.wikipedia.org/wiki/Needham-Schroeder). Нужно будет создать клиентов Алису/Боба и собственный центр распределения ключей KDC, взаимодействующих между собой через TCP/IP (или пайпы). Цель этого дела: E>* разобраться с проблемой аутентификации и распределения ключей; E>* разобраться с существующими крипто-библиотеками (Crypto++, Botan, Cryptlib) или CryptoAPI, если речь идет о Windows.
Спасибо большое.
А если связанную с метапрограммированием? Или лучше туда не соваться, если у мя всего 2 месяца и я ничего о метапр-и не знаю?
От: VladD2
T>- По силам ли мне написать что нить приличное за пару месяцев?
V>-Думаю, по силам. Дело в том, что тут как раз чем меньше опыта, тем мощьнее можно получить эффект.
А почему? Просто как-то не верится... эффект вроде всегда проперционален опыту..