[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Perl or Python?



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: ran@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


Reply to: