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