Компьютеры антивирусы медицина спорт Среда, 09.07.2025, 04:49
Меню сайта
Категории раздела
Мои статьи [12]
Компьютеры. [188]
Hi-Tech. [81]
Медицина. [102]
Антивирусники [61]
Энциклопедия языков программирования [61]
Интернет [30]
Софт [59]
Спорт [51]

Кнопка сайта


Статистика

HotLog

Рейтинг@Mail.ru

Каталог ссылок. Информационный портал - Старого.NET




Онлайн всего: 1
Гостей: 1
Пользователей: 0

Луганет





Украинских гривен курсы валют Прага
(RUB)//-//
Евро(EUR)//-//
Доллар США(USD)//-//
Форма входа

Главная » Статьи » Энциклопедия языков программирования

Eiffel
Язык Eiffel был разработан Бертраном Мейером (Bertrand Mayer) в 1985 году. Язык имеет ALGOL-подобный синтаксис, поддерживает множество передовых парадигм программирования, в том числе "Проектирование по контракту" (Design by Contract), основоположником которой, по сути, и является. 

Eiffel — объектно-ориентированный язык программирования с Pascal-подобным синтаксисом, разработанный Бертраном Мейером (Bertrand Meyer). Он работает в MS Windows, DOS, OS/2 и большинстве платформ UNIX. Компилятор Eiffel генерирует код C, который далее компилируется в исполняемый код с помощью компилятора C. Автор Eiffel создавал не только язык объектно-ориентированного программирование, но и инструмент проектирования программ. 

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

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

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

Одним из преимуществ Pascal-подобных синтаксисов перед С++ и ему подобными языками — в удобочитаемости текстов программ. Простота самих языков способствует этому. Язык Eiffel спроектирован с максимальным уклоном в простоту конструкций языка. Так, в нем определена лишь одна конструкция для цикла. 

При программировании на Eiffel хорошим тоном считается придерживаться определённых строгих правил оформления. Благодаря этому, исходный код читается так, как если бы это была документация. Дополнительным стимулом соблюдать правила, является строгость самих компиляторов к оформлению. Многие из них (в частности SmartEiffel) не позволяют неправильно оформлять исходные коды, находя многие отступления от стиля, отказываясь компилировать и выводя предупреждения. 

Вот некоторые правила и соглашения по оформлению исходного кода: 
в отличие от С++ в Eiffel отрицательно относятся к сокращениям 
все классы пишутся прописными буквами 
переменные пишутся строчными буквами 
константы всегда начинаются с прописной 
рекомендуется использовать немоноширинный шрифт 
служебные слова набираются жирным 
все идентификаторы — курсивом 
в начале каждого класса желательно вставлять информацию о нем: кто написал, когда, функциональность класса. Вся эта информация записывается в самом начале файла с классом 
после названия каждой процедуры на следующей строке желательно описывать результат её действия 
приятной особенностью Eiffel является необязательность точки-запятой «;» в конце каждой строки 

Элементы синтаксиса:Комментарий до конца строки -- 
Регистрозависимость нет 
Регулярное выражение идентификатора переменной [a-zA-Z][_a-zA-Z0-9]* 
Присваивание значения переменной := 
Объявление переменной variable: type 
Группировка выражений ( ... ) 
Блок foo ... end foo где foo из{ if, do, ... } 
Равенство = 
Неравенство /= 
Тождественное равенство deep_is_equal 
Тождественное неравенство deep_is_equal 
Сравнение < > <= >= three_way_comparison 
Определение функции f (p1 : type1; p2, p3 : type2; ...) : returntype is do ... end 
Вызов функции f(a, b, ...) 
Вызов функции без параметров f 
Последовательность пробел 
Если - то if condition then ... end 
Если - то - иначе if condition then ... else ... 
Цикл с предусловием from until not condition loop ... end 
Цикл for - next для диапазона целых чисел с инкрементом на 1 from i := 1 until i > 10 loop ... i := i + 1 end 

Цикл for - next для диапазона целых чисел с декрементом на 1 from i := 10 until i < 1 loop ... i := i - 1 end

Русское название: Эйфель
Дата создания: 1986
Создан под влиянием: 
Simula
Повлиял на: 
C#
D
Java
Парадигма: объектно-ориентированная 
Типизация: статическая, строгая


Категория: Энциклопедия языков программирования | Добавил: DankoIya (19.09.2009)
Просмотров: 808 | Комментарии: 1 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:




Друзья сайта
  • "Красота"
  • МСК "Лугор"
  • Северодонецк"
  • Поиск
    Пользовательского поиска




    Сними свой «Аватар»



    Как установить на один компьютер Windows Vista, XP и Linux?



    Доктор Веб нашел порнографию ВКонтакте