Здравствуйте, Sinclair, Вы писали:
СГ>>А вот шаблонов нет, то есть шаблоны не увеличивают возможностей программы. S>Вот это вообще бред. Все возможности программы были внятно описаны еще до второй мировой войны. Ты с тезисом Черча знаком? Так вот никакие техники программирования, известные на данный момент, ничего не добавляют к понятию вычислимости, введенному сто лет назад.
Я и говорю — не увеличивают! А Вы в ответ — "бред, хотя, впрочем, ничто не увеличивает...". И как Вас понимать? Вы согласны с тем, что не увеличивают, и одновременно говорите, что это бред!
Вот, например, циклы — возможности программы увеличивают. Уберите из императивного языка программирования все конструкции циклов — получите инвалида. Процедуры увеличивают возможности программы — уберите из языка программирования процедуры, и лишитесь рекурсии. Уберите из языка программирования указатели (ссылки), и Вы лишитесь динамических структур данных. Уберите из языка программирования процедурные переменные (указатели на процедуры) и Вы лишитесь того что называется (динамическим) полиморфизмом. А что далеко за примерами ходить — уберите из императивного языка программирования вообще все переменные, оставьте только константы, будет не язык, а не поймешь что. А вот шаблоны, что их в язык добавь, что их от туда удали — ничего не изменится, от них только программеру мешьше по клаве ботать. Что они в языке есть, что их нет, мощность языка от этого не меняется. От этого меняется отношение программиста к языку.