Я пробую это и нахожу это очень удобным для пользователя, но я немного обеспокоен использованием такого инструмента для большого проекта. Использование инструмента для создания GUI может быть ограничительным.
Как это "ограничительно"? И как размер проекта входит в игру?
Если вы имеете в виду, что это генератор кода, и вы не понимаете код, который выходит из него полностью, тогда я полностью согласен. Генерация кода работает только в тех случаях, когда вы пишете код вручную, а генератор помогает вам сэкономить, экономя трудную работу. В этом случае вы чувствуете себя полностью уверенно в изменении и поддержке сгенерированного кода.
Поскольку наследование Eiffel позволяет очень легко создавать компоненты, в долгосрочной перспективе может быть лучше использовать наши собственные специализированные версии графических объектов, чем стандартные.
Какую специализацию вы добавляете? Я бы тщательно обдумал это, потому что это означает написание, отладку и поддержку большой иерархии классов в perpetuam. Прежде чем сделать этот шаг, будьте абсолютно уверены, что специализация необходима, стоит затрат и недоступна для любых других средств. Приложите честные усилия, чтобы определить стоимость, прежде чем принять решение.
Я бы проголосовал за написание вашего собственного генератора кода, как только вы достаточно наложили код, используя классы GUI библиотеки. Это устойчивое решение, ИМО.
ОБНОВЛЕНИЕ:
Я выучил Eiffel в аспирантуре, которая в середине 90-х годов решила, что это лучший объектно-ориентированный язык. В то время C ++ был выдающимся, но считался сложным, Java не выбралась из лабораторий Sun, а C # даже не стал проблеском в глазах Андерса. Преподаватели в этом заведении были очарованы дизайном по контракту, и это означало верность академической строгости.
Я прочитал «Создание объектно-ориентированного программного обеспечения» Мейерса. Первое издание представило DbC и сделало Майерса чем-то вроде звезды в объектно-ориентированном мире. На мой взгляд, второе издание было раздутым, что положило конец его восхождению.
Честно говоря, если вы пишете эту большую систему для работодателя, я бы посоветовал вам отказаться от Eiffel и перейти на более распространенный язык для вас и ради вас. C # может быть хорошим выбором, если вы работаете на платформе Windows; используйте Java, если у вас гетерогенная среда или вы не можете позволить себе стек Microsoft.
У SO есть все четыре отмеченных вопроса об Эйфелевой Я думаю, что объем говорит что-то. Вы можете быть правы, что популярность не всегда лучший показатель качества. Мне говорят, что бета-версия была лучшим техническим решением, чем VHS, но дело в том, что она проиграла на рынке и сегодня нигде не встречается. То же самое с Эйфелевой. Я бы бросил его на твоем месте.
ОБНОВЛЕНИЕ 2:
Очень хорошо - я не мог сказать из вашего оригинального поста, каков был ваш опыт работы с другими языками.
«Высокие ожидания качества» подразумевают, что вы уверены, что Eiffel будет поддерживать качество на уровне языка так, чтобы его нельзя было дублировать с другими языками. Я бы не согласился с этим. Качество кода больше связано с навыками и практикой разработчиков, чем с самим языком.
Дизайн по контракту полностью перепродан, ИМО. Я читал, что он часто отключается в производстве, потому что он представляет собой снижение производительности. Если это правда для вас, как еще вы ожидаете, что Eiffel будет способствовать повышению качества?
Я бы позаботился о том, чтобы клиент, для которого вы пишете это приложение, понимал все последствия, которые принесет решение пойти с Eiffel: ограниченный пул разработчиков, чтобы поддерживать его, персонал, отстраненный от использования мертвого языка и т. д. Убедитесь, что вы не перепродаете его из-за субъективного желания.