Mikhail Gusarov -> debian-russian@lists.debian.org @ Tue, 24 Mar 2009 02:57:36 +0600:
MG>>> Вот "обязательное": MG>>> char* f = ...; MG>>> int* p = (int*)f; MG>>> Хиндли-Милнер такой "типизации" не допустит. AC>>>> б) полезнее, чем duck typing MG>>> define полезнее. AC>> Не-не-не. Один пример со всеми тремя условиями. А это все AC>> теоретизирования. MG> Я в эти игры не играю. Пример a) показал строгость строже чем MG> "обязательное". Всё, эта часть доказана, не пытайся больше про неё MG> говорить. Три разных примера, каждый из которых дает "лучше" в данном пункте за счет "хуже" в двух других - это, знаешь ли, не аргумент. Не говоря уже о том, что примера ты как раз не привел ни одного. "Пример" в данном случае - это фрагмент кода, который, грубо, позволяет сравнить количество телодвижений для достижения того же результата. MG> Кроме того, я требую определить "полезнее". Применительно к duck typing - либо _заметно_ уменьшить вероятность ошибки (и таким образом сократить время разработки), либо без заметных потерь времени при разработке _заметно_ улучшить производительность результата. AC>> И эта... C - это портабельный ассемблер. Если я в сишной AC>> программе проделал вышепроцитированное приведение, это значит, что AC>> я хорошо знаю, что на _этой_ архитектуре оно работает, а равно и AC>> зачем оно мне на _этой_ архитектуре надо. И уж если оно мне AC>> понадобилось, то лишать меня этой возможности - это не хорошо, это AC>> плохо. MG> Это не имеет ни малейшего значения. Э, нет. Это ненавязчиво зажуханный тобой п. в) - борьба со старательно разложенными граблями. В C данная конкретная нестрогость нужна по делу, для экономии тактов, и если у нас компилятор с выводом типов целится в ту же нишу - он тоже должен такое позволять. А если он в эту нишу не целится, то сравнивать не с чем - в других нишах и на C так не пишут. -- Artem Chuprina RFC2822: <ran{}ran.pp.ru> Jabber: r...@jabber.ran.pp.ru Functional programming is like describing your problem to a mathematician. Imperative programming is like giving instructions to an idiot. -- arcus, #scheme on Freenode -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org