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

Re: kylix 2





Dmitry Astapov wrote:

Да, придется. Особенно интересно, если реализация f написана не мной, для
изменений недоступна и совсем ни разу не объект. Я хотел своим примером
показать, как можно создать и вернуть сущность типа "функция". В твоем же
примере возвращается нечто, ни разу не являющееся функцией. А syntactic
sugar в виде перегруженного оператора "()" не делает, как не старайся,
результат нормальной функцией.

Конечно, я согласен - можно придумать свою систему шаблонов и "жить в ней",
подтверждая утверждение о том, что любая достаточно сложная программма на
C++ содержит половинчатую, глючную, не соответсвующую спецификациям
реализацию лиспа :) Речь в начале треда, помимо прочего, шла еще и про
объем кода и его читаемость/сопровождаемость.....

 VH>  Я не хочу сказать что С++ лучше чем какие-либо языки, я просто хочу сказать,
 VH> что в С++ это тоже возможно, но часто в более громоздкой форме.  К сожалению,
 VH> не все об этих возможностях С++ знают.
Именно, в гораздо более громоздой форме. Может и хорошо, что лишь немногие
об этих возможностях знают, и их используют.

Хочется подчеркнуть, что С++ создавался как язык низкого уровня, приспособленный больше для решения задач системного характера (программирования сложных систем). Это язык объектно-ориентированного программирвоания, то есть программирования - через выделение и формализацию абстрактных объектов, над которыми совершаются те или иные абстрактные действия. Для программиста С++ любое абстрактное понятие вроде "файла", "строки", "базы данных", "графического интерфейса", является объектом или классом объектов.

Суть же моей мысли, почему я взялся защищать С++, заключается в том, что С++ позволяет делать все, что может позволить любой язык программирования хотя бы только потому, что он достаточно низкоуровневый. Конечно, языки высокого уровня, вроде Python или Haskell могут что-то делать гораздо проще, чем С++, но при этом они теряют все-таки кое-что, например, скорость, объем использования ресурсов.

У меня возник (возможно каверзный) вопрос: есть ли в Haskell возможность удобного проектирования UI, в частности - GUI? Чисто функционально? Как (в общих словах) реализуются в Haskell инструменты программирования GUI - widget-ы? Удобнее ли это объектно-ориентироанного подхода, насколько и почему?

Программирование GUI - это только пример. Просто я не смог себе представить, как можно достаточно наглядно заставить pure function работать как, например, главный цикл widget-а.

--
Andrei Sosnin
http://zzx.ath.cx

 <!-- : it all depends on your vision : -->



Reply to: