четверг, 5 ноября 2009 г.

Аккуратнее с совмещением противоположностей!

Я использую язык со строгой типизацией и проверкой всего, что только можно во время компиляции. С++ - это современный высокоуровневый ассемблер. Позволяет делать все, что захочет автор. Но накладные расходы для разарботчика довольно высоки. Разработка даже простых программ затягивается и усложняется.
Возникает соблазн сделать что-нибудь просто работающее. На помощь приходят скриптовые языки и библиотеки, позволяющие использовать динамическую типизацию без необходимости писать на языке, отличном от C++. Qt предоставляет прекрасный механизм слотов и сигналов. Ими можно соединять любые объекты, унаследованные от QObject. Просто и элегантно.
Однако увлекшись замечаешь, что гибкость не дается даром. Ошибки, связанные с неправильным вызовом неправильных методов, накапливающиеся при разработке, уже не обнаруживаются компиляторо. Они ждут своего часа затаившись в коде. Обнаружить их можно только тестированием.
Из этого можно сделать вывод, что пытаясь совместить противопольжные технологии, нужно быть предельно осторожным и избегать их сильного смешения. Так, совместив динамическую и статическую типизацию можно лишиться достоинств обеих, если применять сигналы и слоты в программе на Qt сверх меры.

Комментариев нет:

Отправить комментарий