Здравствуйте, FR, Вы писали:
D>>adontz говорил "В шаблонах Си++ структурная типизация." WolfHound — "В С++ типы динамически типизированы. Вот у нас есть template<class T>. И это все что у нас есть. Про тип T мы ничего не знаем пока его нам не дадут и мы не начнем компилировать данный шаблон с данным типом." Про статику никто из них не говорил.
FR>Любой C++ знает что шаблоны это статика.
А как быть с вышепроцитированными C++-никами, которые этого не знают и утверждают обратное?
FR>>>Тебе читать хотя бы Вандервуда "Шаблоны С++".
D>>Не интересно. Ты в состоянии сам логично и последовательно объяснить, почему они — статика? Вышеупомянутые персоны не гнушаются аргументировать свои утверждения, чем ты хуже?
FR>Ты не просил. Это общеизвестная вещь.
Я и книгу не просил. Но если ты хочешь, чтобы спор был аргументированный, изволь приводить аргументы сам. Итак?
FR>>>Это статический жестко типизированный язык, обобщенное программирование в нем тоже есть.
D>>И что?
FR>То что статику я знаю вполне нормально.
А generics с вариантностью и upper/lower bounds в окалме есть?
Пример lower bound на скале:
trait Animal {
def feed(...)
}
class Elephant extends Animal {
def feed(...) {
// ...
}
}
class ZooCage[A <: Animal] (a: A) {
// ....
a.feed(...)
}
new ZooCage(new Elephant)
Здесь запись [A <: Animal] означает "generic-тип A, являющийся подтипом Animal". Благодаря этому внутри generic-класса ZooCage компилятор имеет информацию о супертипе A и в состоянии проверить корректность вызова метода a.feed(). А при инстанциировании ZooCage с конкретным аргументом выполняется проверка, что A=Elephant удовлетворяет условию A <: Animal. Полный контроль, в отличие от шаблонов C++.
D>>Не придирайся к словам. Программирования — это практическая дисциплина. Теория никого не интересует.
FR>Тут это очень важно, это основное из-за чего у нас и идет весь этот спор динамика vs статика.
Ещё раз: тут все говорят исключительно о практике, теория никого не интересует. Ты уже извинился перед Владом за то, что врал, называя его теоретиком, не работавшим на динамических языках?
D>>Просьба шла от WolfHound: "Ну так где аргументы то? Есть только один: Меньше кода. Но это по сравнению с жабой меньше. А по сравнению с немерле экономии почти нет. А какие еще? Ну, хоть один."
FR>Ему отвечать бессмысленно, проверенно уже больше чем за пять лет.
Читал я многое из ваших споров. Ему, как разработчику немерла, действительно был бы интересен конструктив, в качестве посылок для определения направлений развития языка. Тебе просто нечего ему ответить. Но сейчас суть не в этом, а в том, что твой предыдущий ответ "не видел просьб, только нападки тролля" — очередное враньё. Просьбы-то, оказывается, были.
D>>>>4) когда тебя попросили привести пример заявленных тобой проблем статики, ты привёл пример шаблонов C++.
FR>>>Который вполне релевантный.
D>>Нет.
FR>Да.
Как быть с вышепроцитированными C++-никами, которые не считают шаблоны статикой? Напиши здесь пожалуйста и для них тоже аргументацию, почему ты считаешь их статикой.
FR>По твоим словам чуть выше видно что ты не писал на шаблонах C++.
FR>Троллить еще не устал, справедливый ты наш?
Очередной съезд на личности. Аргументы будут?
D>>Тогда что ты пытаешься доказать?
FR>Я ничего, пытаюсь отбиться от тролля, чистая самозащита.
Лучший способ избавиться от тролля — это перевести разговор в конструктивное русло, давать грамотные аргументы. Поскольку ты себя этим не отягощаешь, троллем выступаешь именно ты. Но я очень надеюсь, что аргументы рано или поздно наконец появятся. Итак?