![]() |
|
Модераторы: bsa Страницы: (15) Все « Первая ... 9 10 [11] 12 13 ... Последняя »
( Перейти к первому непрочитанному сообщению ) |
![]()
|
|
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 4 Всего: 39 |
Леопольд,
>Ты хочешь что-бы я мозг сломал? Епстественно! Окей. Вот мое высказывание: >Это как раз самое дно, основа айзберга, которую многие не видят за пространными определениями о мета-программировании. >Напрямую сравнивать конечно нельзя, но шаблоны - прямое развитие и отличное усовершенствование реализации идей макросов. В отличии от макросов весьма узкоспециализированное [...] и синтаксически развитое. Ваше - ответ на первую часть того высказывания: >"копи-паст" это "кодогенерация" в самой простейшей её форме (макросы). Мета-программирование в С++ позволяет контролировать процесс кодогенерации, т.е. программирование того как надо генерировать код. [...] Внимательно смотрим на ваш комментарий и вторую часть моего высказывания. Видим, что это по сути раскрытие моих же слов. При этом потом вы делаете очень интересный вывод: >По моему, с копи-пастом ничего общего не имеет. Тоже самое что сравнивать функцию и переменную... Функция и переменная - вещи разные по свой сути. Шаблоны же с макросами имеют общую идею - копипазм, а то, что в одном случае реализация тупа как валенок, а во втором имеет мощное развитие, никто ведь и не спорит. Добавлено через 2 минуты и 56 секунд >Вроде дошло... Ты против что у меня есть свои мысли по этому поводу. Нее, я не против пофлеймить, скорее даже наоборот! Просто флейм скатывается в УГ, когда его участники начинают приводить в качестве аргументов одни и те же мысли, выраженные чуть разными словами:). -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| Леопольд |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 943 Регистрация: 17.6.2009 Репутация: 3 Всего: 13 |
Функции с переменными тоже имеют свою общую идею - операции с данными в рантайме. Шаблоны оперируют типами и статическими константами как функции оперируют переменными только на этапе компиляции. Если изначальная идея макросов и была простой копипаст, то сейчас шаблоны ушагали настолько вперёд, что сравнивать их с копипастом, тоже самое что сравнивать велосипед и самолёт, ведь оба они - средство передвижения, только один летает а у другого надо педали крутить...
Хм... Ещё что-ли как-то перефразировать... Некоторые вещи, которые можно сделать с помощью макросов, нельзя сделать с помощью шаблонов, и само собой наоборот. Это сообщение отредактировал(а) Леопольд - 13.8.2010, 14:38 -------------------- вопросов больше чем ответов |
|||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 4 Всего: 39 |
>Некоторые вещи, которые можно сделать с помощью макросов, нельзя сделать с помощью шаблонов, и само собой наоборот.
... и не одну вещь, которую можно сделать с помощью переменных, нельзя сделать с помощью функций, и само собой наоборот. Это в традиционном понимании переменной. В с++, когда за переменной стоит еще и как минимум две функции - конструктор с деструктором, - размышления об этом быстро свалятся в эзотерику или как минимум рекурсию. >Функции с переменными тоже имеют свою общую идею - операции с данными в рантайме. Идея переменной - "захват" некоторых данных или, более грубо, но понятней, ассоциация данных с их именем. Идея функции - обработка данных. >сравнивать велосипед и самолёт Ну почему, когда аргументация подходит к концу, начинают двигать мысли про сравнение запорожцев с мерседесами или велосипедов с самолетами? -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| mes |
|
||||||||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
ох как давно это было... Сейчас у переменной бывает и другое назначение ) все зависит в каком контексте Вы рассматриваете.
эх..свалили все на С++, а ведь не он виноват ))
ммм.. а почему в рантайме ? вот контр пример :
Добавлено @ 15:17 имхо лучше так : #define и template есть реализации идей макросов, у каждой из которых есть своя ниша применения. Добавлено @ 15:18 смотря в каких языках ) Это сообщение отредактировал(а) mes - 13.8.2010, 17:35 |
||||||||
|
|||||||||
| kemiisto |
|
||||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 5 Всего: 160 |
11 страниц искромётного юмора!
Вот уж действительно прав был Франсуа VI (их оказывается много было
Но прежде чем советовать, было бы неплохо... Хотя, ладно. -------------------- |
||||
|
|||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
kemiisto
Да да..не надо лишних слов, мы все знаем, что будущее за обероном |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
kemiisto, в моем последнем посте так и тянуло написать : kemiisto на вас не хватает
и да исторически так сложилось, что используем слово _переменная_ , хотя на самом деле переменная это всего лишь частный случай значения, о котором и идет речь.. Это сообщение отредактировал(а) mes - 13.8.2010, 17:34 |
|||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 4 Всего: 39 |
mes,
>ммм.. а почему в рантайме ? Это не мои слова, есличо. >эх..свалили все на С++, а ведь не он виноват )) Я просто привел пример размытости понятия "переменная", а выше предположил самую простую его трактовку. -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| Леопольд |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 943 Регистрация: 17.6.2009 Репутация: 3 Всего: 13 |
Макросы генерируют код за один проход при помощи копи-паста. Велосипедист должен крутить педали. Шаблоны генерируют код манипулируя информацией о типе и при помощи статических констант (никакого копипаста, увы нет), есть рекурсия. Самолёт приводится в движение "отталкиваясь" от воздуха. Если ты напишешь что самолёт это прямое развитие и отличное усовершенствование реализации идей велосипеда то ты будешь прав? В основе этих двух подходов к генерации кода лежат разные идеи и принципы, хотя и делают они одно и тоже - генерируют код. Но только макросы копипастят его. Для генерации качественного кода из шаблонов, нужно написать мета-программу. Можно и уравнение, к примеру, решить... Надеюсь так понятно? Это сообщение отредактировал(а) Леопольд - 13.8.2010, 17:08 -------------------- вопросов больше чем ответов |
|||
|
||||
| kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 5 Всего: 160 |
Толсто. Но незачёт. Кстати, яркий пример троллинга. Я ведь ничего пока про Оберон не говорил... Была попытка обратить твоё внимание, что аргументацию к востребованности технологии в этом треде следует считать неудачной. Какая разница начинающему за какой технологией будующее? Это просто бред какой-то. Ну никто же не говорит студентам первого курса физтеха: "Парни, забейте на классическую физику, давайте-ка сразу квантовую теорию изучать. За ней будующее." Но тут... Да .NET (в его нынешнем виде) вымрет к тому времени, когда парень будет устраиваться на работу (если будет). То есть тот .NET, который он сейчас начнёт изучать, будет меняться. И темпы изменений однозначно превысят темпы обучения. Название может и оставят... Не надо начинать с изучения господствующих технологий и языков. Не надо начинать с ООП. Это всё вредные советы. А у тебя вообще нет будущего. Ты в профессии just for money. Так, марионетка. Твоё "будущее" там, где больше колбасы на бутербродах. Сейчас вот .NET пиаришь, а завтра ... -------------------- |
|||
|
||||
| Леопольд |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 943 Регистрация: 17.6.2009 Репутация: 3 Всего: 13 |
Тяжело работалось на работе сегодня...
Добавлено через 6 минут и 2 секунды
-------------------- вопросов больше чем ответов |
||||
|
|||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 4 Всего: 39 |
>Макросы работают с текстом, велосипед ездит по земле. [тут еще много текста]
Это гениальная аналогия. Так можно притянуть любого кота за любые, даже чужие, яйца. Прошу прощение, что не могу развернуто ответить - рабочий день закончился, пора получать плотские удовольствия. За сим в разговор о велосипедах, а так же палках, веревках, костылях и самолетах, включусь на следующей неделе. И вам счастливо! -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| Леопольд |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 943 Регистрация: 17.6.2009 Репутация: 3 Всего: 13 |
Жжёшь... А вообще, если подумать, неплохой тост за здравие.
-------------------- вопросов больше чем ответов |
|||
|
||||
| Modul |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 238 Регистрация: 17.2.2006 Репутация: нет Всего: нет |
Да, база нужна и основы.
Вот ! Начинающие учите чистый С. А то без знания азов и основ потом назад сложно возвращаться. Что первично, яйцо или курица ? --------------------
I'll be back ! |
||||
|
|||||
| Леопольд |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 943 Регистрация: 17.6.2009 Репутация: 3 Всего: 13 |
Окей, уйдём от аналогий вообще... Макросы генерируют код за один проход при помощи копи-паста. Шаблоны генерируют код манипулируя информацией о типе и при помощи статических констант (никакого копипаста, увы нет), есть рекурсия.
Надеюсь так понятно? Или ещё попридираемся попусту к словам? Это сообщение отредактировал(а) Леопольд - 13.8.2010, 19:02 -------------------- вопросов больше чем ответов |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |