Re[36]: Что вас останавливает от изучения нового языка?
От: dimgel Россия https://github.com/dimgel
Дата: 24.04.11 14:07
Оценка:
Здравствуйте, 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>Я ничего, пытаюсь отбиться от тролля, чистая самозащита.

Лучший способ избавиться от тролля — это перевести разговор в конструктивное русло, давать грамотные аргументы. Поскольку ты себя этим не отягощаешь, троллем выступаешь именно ты. Но я очень надеюсь, что аргументы рано или поздно наконец появятся. Итак?