Скачать бесплатно книги - программирование.

Скачать бесплатно книги - программирование.


загрузка...






Программирование

Программирование

Книги, статьи, руководства и примеры

Автор: Дегтярев Михаил.

Язык программирования Eiffel (Эйфель)

Язык программированиея Eiffel является объектно-ориентированным (ОО) языком программирования, который подчеркивает, что его предназначение - производство надежного программного обеспечения. Многие находят, что его синтаксис напоминает Паскаль . Eiffel сильно статически типизированный, с автоматическим управлением памятью (как правило, реализовано в виде сбора мусора). Программирование для начинающих.
Созданный в 1987 году, Eiffel является старичком среди объектно-ориентированных языков программирования , для которого поставляются среды разработки от четырех различных поставщиков. Несмотря на эту зрелость и вообще отличную репутацию среди тех, кто знаком с языком, Эйфелю не удалось получить значительный интерес со стороны разработчиков программного обеспечения. Причины отсутствия интереса не ясны, и являются темой частых обсуждений в рамках сообщества Eiffel. Программирование для чайников.
Отличительные характеристики включают: Design by Contract , либеральное использование реализации наследования , включая множественное наследование, типы данных определяются с помощью семантики значений, и универсальных классов. Эйфель имеет единый тип данных, потому что все типы в Eiffel – это классы, здесь можно создать подклассы основных классов, таких как INTEGER как полагается для основ программирования.
Эйфель имеет перегрузку операторов , в том числе возможность определения новых операторов, но не имеет перегрузки методов..

Элегантность, простота или фашизм?
Язык Eiffel направлен на содействие ясному и элегантныму кодированию. Эйфель подчеркивает это декларативными заявлениями о процессуальном кодексе, и это устраняет необходимость книжного документирования инструкций.
Эйфель намеренно ограничил стилистические выражения, обеспечивая при этом несколько средств для хитрых трюков кодирования или кодирования, предназначенного для оптимизация кода для компилятора. Некоторые разработчики программного обеспечения чувствует себя скованными простотой Эйфеля, описывая иногда программирование на языке Eiffel, как "рабство и дисциплину".
В противоположность этому, другие считают, что простота языка не только делает код более читабельным, но и позволяет программисту сосредоточиться на важных аспектах программы без погрязания в деталях реализации. Простота Eiffel призвана способствовать простому, легко читаемому, практичному, многоразовости, надежности и правильным ответам на бизнес-проблемы. Эйфель стремится производить качественное программное обеспечения, а не какие-нибудь поделки на коленке.

Лексическая простота
Эйфель не чувствительный к регистру. И ключевые слова и идентификаторы могут быть записаны в любом сочетании верхнего и нижнего регистра. Ключевые слова MakE или make или MAKE все ссылаются на один и тот же идентификатор. Стандарты стиля кодирования, однако, как правило, предписывают использование всех заглавных букв для имен классов, все строчные для переменных и имен методов, и заглавные буквы в начале констант, с разделяющей в виде символа нижнего подчеркивания между отдельных слов.
Синтаксис Eiffel может быть разобран без ключевого слова END. Использование точки с запятой как признака окончания строки кода остается на усмотрение программиста. Ввод точки с запятой или пропуск не будет иметь никакого значения, за исключением необычных случаев объявления переменных, начиная с левой скобки. Большинство программисты решили не пользоваться точкой с запятой, за исключением случаев, когда в одной строке находится несколько разных логических действий.
Эйфель требует, чтобы разделы и статьи находились в определенном порядке.
Это философия, что выражения и заявления принципиально различны по своей природе-довершается в концепции Command-Query Separation (CQS – разделения команды и запроса). По CQS, метод запроса (функция, которая возвращает значение) не должны изменять состояние объекта, в то время как команда содержит метод изменения состояния объекта, но не будет возвращать значение. CQS настоятельно рекомендуется для программирования Eiffel, но на самом деле не вошла в жизнь системы Eiffel.
В отличие от большинства языков программирования, исходный код Эйфеля обычно не отображается моноширинным шрифтом. Рекомендованный стиль отображения - использование пропорционального шрифта. Ключевые слова выделяются полужирным шрифтом, определяемые пользователем идентификаторы и константы отображаются курсивом. Стандартный вертикальный (римская) тип используется для комментариев, операторов и знаков препинания.

Синтаксическая простота
Эйфель имеет только шесть основных исполняемых операторов:

В отличие от других ОО языках, Эйфель не позволяет хранить в переменных-членах другие объекты. Присваивание может только изменить значение переменной-члена текущего объекта, или локальные переменные текущего метода. Все изменения на другие объекты должны быть выполнены при вызове методов этого объекта. Прямой доступ к переменным-членам других объектов "только для чтения".
Итерация (цикл), в Эйфель необычно тем, что он не обеспечивает поле или переменную, которое будет шаомг цикла. Программист должен явно задавать код соответствующего счетчикав цикле. Например:

from i := 0 until i >= 10 loop
      my_array.put (0, i)
      i := i + 1
   end

Приведенный выше пример также иллюстрирует другой необычный аспект Эйфеля: нет специального синтаксиса для доступа к элементам массива. Массив просто экземпляр класса массива, а доступ осуществляется через обычные вызовы методов. Некоторые компиляторы Эйфеля предоставляют специализированную оптимизацию для доступа к массиву.
Eiffel в процедурном кодировании строго структурирован. В Eiffel отсутствует специального досрочного выхода из цикла или функции.

Не объектно-ориентированные операции
Eiffel является чисто объектно-ориентированным языком. Любое кодирования, которое должно быть "близко к машине", как и ожидается, будет сделано в C, и Эйфель предоставляет простой интерфейс для вызова C процедур, в том числе позволяющие прямо вызывать C в коде Eiffel. Эйфель как правило, достаточно тесно связаны с C, три из четырех компиляторов Eiffel производит C код, а не объектный код.

За кулисами Eiffel
Eiffel была первоначально разработана Бертран Мейер и его компания Interactive Software Engineering (ISE). Если внимательно приглядеться к работе Майера в Object Oriented Software Construction, Second Edition, то заметно, что Эйфель отличается от большинства популярных языков в нескольких направлениях.
Цель языка, библиотеки и программирование методов является создание надежных, многоразовых программных модулей. Он поддерживает множественное наследование , типизацию , полиморфизм и инкапсуляции . Наиболее важный вклад в разработку программного обеспечения является Design by Contract , в котором утверждения, предпосылки , постусловия , и инварианты класса используются для оказания помощи в обеспечении правильности программы без ущерба для эффективности.
Эйфель также предлагает множественное наследование классов. Многие люди (например, разработчики Java ) имеют возражения против множественного наследования. Осуществленное в Eiffel множественное наследование, по мнению его сторонников, успешно отвечает на эти возражения.
Разработка на Эйфеле основанные на теории ООП, с меньшим влиянием других парадигм или поддержкой унаследованного кода. Язык имеет официальную поддержку для абстрактных типов данных . В соответствии с документацией, текст программного обеспечения должен быть в состоянии воспроизвести его проектную документацию из самого исходного кода. В Эйфеле это достигается путем использования формализованных реализации абстрактного типа данных.
Eiffel Studio - это интегрированная среда разработки для Eiffel, предлагает объектно-ориентированный интерфейс для разработки программного обеспечения . Тем не менее, многие программисты не любят, потому что она очень отличается от пользовательских интерфейсов для других интегрированных сред разработки.

Технические характеристики и стандарты
Официальной спецификацией языка Eiffel является Eiffel: The Language, first edition, second printing (ETL2). Тем временем, ISE внес значительные изменения в ETL2, доступные в Интернете.
Спецификации для языка Eiffel и его основные библиотеки номинально под контролем Nonprofit International Consortium for Eiffel (NICE). Хотя NICE работал на улучшение характеристик для основных классов библиотеки, он мало что сделал с самим языком в сторону уходящую от ETL2 и добавил несколько изменений, которые уже появились в имеющихся средах разработок. В июне 2002 года ISE представило язык Eiffel Европейской ассоциации производителей компьютеров (ECMA) по стандартизации, это тот шаг, который юридически закрепляет права владения языком программирования Eiffel за NICE.





Если возник вопрос, то вы можете получить ответ: форум программистов