LINUX.ORG.RU

Рассматриваю EiffelStudio 5.4


0

0

EiffelStudio 5.4 - удобная IDE для Eiffel. Есть code complition, интегрированный отладчик и все что полагается иметь хорошей IDE. Компилятор Eiffel от ISE всем хорош, но есть один недостаток: откомпилированные им программы слишком много весят (порядка 500 Kb для "Hello world"). Сейчас использую open source компилятор SmartEiffel, который имеет горадо меньше возможностей но генерирует компактный и быстрый код.

>>> Просмотр (1280x1024, 325 Kb)



Проверено: l-xoid ()

хм, экзотика.. эйфеля не знаю, но что-то код не очень аппетитный, много похожих (на вид) действий, но нет сокращений

anonymous
()

А на чем он писан? Интерфейс симпатишный.

P.S. блин, как я люблю растровые иконочки кто бы знал.. :( по-моему то, что в линукс суют svg-шные иконки не есть гуд. Они плохо смотрятся на CRT мониторах, так как содержат антиалиаснутые контуры, а CRT монитор сам по себе мылит. Вот на TFT нормально все смотрится.

aiker ★★
()
Ответ на: комментарий от aiker

> А на чем он писан? Интерфейс симпатишный.

Насколько я помню - на Gtk 1.2. А точнее, на EiffelVision2, у которого есть и Win32-, и Gtk-бэкенды.

int19h ★★★★
()
Ответ на: комментарий от anonymous

> эйфеля не знаю, но что-то код не очень аппетитный, много похожих (на вид) действий, но нет сокращений

Оно не самое лаконичное, зато много умеет =) Представь себе сделанную по уму яву, но без упрощений (т.е., с множественным наследованием, шаблонами etc), а только с закручиванием гаек в плане строгости ООП-методологии. Вот что-то в этом роде. Ну и "Design by Contract", разумеется - визитная карточка этого дела.

http://en.wikipedia.org/wiki/Eiffel_programming_language

int19h ★★★★
()
Ответ на: комментарий от int19h

Кому нужен несвободный язык программирования... Потом, это же какая красота, с, с++, ява:

С: i+=i++ + ++i; // KEKEKE ^__^

С++, Java: if(i.member((int) some_list.iterator((String)another_list.member(i.member(j++))))!=i.member((int) some_list.iterator((String)another_list.member(i.member(j--)))))
{
/*
Something nasty
*/

}


В этом вашем, как его там, оно будет также читабельно? Так же ласкать глаз?

Shaman007 ★★★★★
()
Ответ на: комментарий от Shaman007

Шаман, такой код будет писать больной на голову пионэр. А пионэры идут в жёпу с таким кодом. Так, что, не надо грязи.

eRazor ★★★
()
Ответ на: комментарий от ananymous

язык неможет быть опенсорс, опенсорс может быть ide и/или компилятор этого языка

anonymous
()
Ответ на: комментарий от dave

> А виндовая версия умеет создавать .NET-код?

Умеет. Это был один из первых компиляторов в котором появилась поддержка .net.

asso_w
() автор топика
Ответ на: комментарий от dave

> А виндовая версия умеет создавать .NET-код?

Умеет; мало того, оно еще интегрится в VS, позволяя использовать все ее примочки: дизайнер форм etc.

Вот кстати, интересный вопроc: код, который генерит их компилятор, пойдет под Mono?

int19h ★★★★
()

Вопрос автору: зачем писать "agent on_min_change(?)", если можно обойтись "agent on_min_change"? ;)

int19h ★★★★
()
Ответ на: комментарий от int19h

Это пример из поставки EiffelStudio. Видимо для наглядности авторы решили явно перечислить открытые аргументы.

asso_w
() автор топика
Ответ на: комментарий от int19h

> Вот кстати, интересный вопроc: код, который генерит их компилятор, пойдет под Mono?

Мне этот вопрос то же интересен, но проверять лень ;)

asso_w
() автор топика
Ответ на: комментарий от eRazor

eRazor, это, конечно, была шутка юмора, но если иногда такой код вполне допустим и приемлим (Eclipse его отфарматирует и он будет прозрачно читатья), например, если то, что я сравниваю встречается только один раз. Я просто хочу сказать, что С и С++ (и Java) круты преобразованием типов, очень прозрачным. И незачем выдумывать велосипед.

Кстати, скажи мене сколько будет: int i=1; i+=i++ + ++i;

Shaman007 ★★★★★
()

Прочитал FAQ на http://eiffel.com/developers/faqs/eiffel-language.html

Уж очень красиво все расписывают... Неужели, вообще, нет никаких недостатков?

А так, мне очень понравились конструкции require и ensure. Когда пишу на C#, я их часто имитирую простыми проверками, которые могут создавать run-time исключения. Они используются исключительно только на фазе разработки и в готовом приложении всегда должны обходиться. Здорово, если эта штука заложена на уровне самого языка. Использование для этой же цели C#-овского макропроцессора смотрится на таком фоне немного как-то убого :)

dave ★★★★★
()
Ответ на: комментарий от dave

> Уж очень красиво все расписывают... Неужели, вообще, нет никаких недостатков?

Есть, конечно =) Уж больно многословно. И пре-/постусловия для фич писать задалбывает слегка... ну да впрочем это из того же разряда, что и явное приведение типов - поначалу раздражает, но в итоге скорее полезно.

Ну и библиотека классов стандартная там не шибко большая. Хотя, оно умеет работать с либами на C, и даже на C++ (классы там etc) - так что это лечится.

> А так, мне очень понравились конструкции require и ensure.

Имхо это чуть ли не основная фича Eiffel - оно называется "design by contract", DbC.

int19h ★★★★
()
Ответ на: комментарий от int19h

аа, язык который поддерживает проверку инвариантов типа.. большая редкость, несмотря на обилие ооп-языков!

anonymous
()
Ответ на: комментарий от anonymous

> аа, язык который поддерживает проверку инвариантов типа.. большая редкость, несмотря на обилие ооп-языков!

Кстати, а кто еще (кроме Sather и D)?

int19h ★★★★
()
Ответ на: комментарий от ananymous

> я бы не назвал C# опенсорсным!

Почему?

Да, и не путай опенсорс с патентными заморочками.

int19h ★★★★
()
Ответ на: комментарий от int19h

> Да, вот еще... я с доками по EV ковырялся - все никак не пойму, как там свои виджеты делать. Где копать?

Не знаю, я с EV не разбирался. Присматриваюсь к Vision из SmartEiffel, думаю что скоро ее доведут до ума. В ней с созданием собственных виджетов проблем точно не будет.

asso_w
() автор топика
Ответ на: комментарий от Shaman007

>Кстати, скажи мене сколько будет: int i=1; i+=i++ + ++i;

undefined behaviour. Что означет: форматирование винчестера, погодные катастрофы, метеоритные дожди и вообще всё что угодно.

eRazor ★★★
()
Ответ на: комментарий от ananymous

Ты слишком хорошего мнения об "опенсорнсниках". Дураков много и среди них.

anonymous
()

When I log into my Xenix system with my 110 baud teletype, both vi *and* Emacs are just too damn slow. They print useless messages like, 'C-h for help' and '"foo" File is read only'. So I use the editor that doesn't waste my VALUABLE time.

Ed, man! !man ed

ED(1) UNIX Programmer's Manual ED(1)

NAME ed - text editor

SYNOPSIS ed [ - ] [ -x ] [ name ] DESCRIPTION Ed is the standard text editor. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Computer Scientists love ed, not just because it comes first alphabetically, but because it's the standard. Everyone else loves ed because it's ED!

"Ed is the standard text editor."

And ed doesn't waste space on my Timex Sinclair. Just look:

- - -rwxr-xr-x 1 root 24 Oct 29 1929 /bin/ed - - -rwxr-xr-t 4 root 1310720 Jan 1 1970 /usr/ucb/vi - - -rwxr-xr-x 1 root 5.89824e37 Oct 22 1990 /usr/bin/emacs

Of course, on the system *I* administrate, vi is symlinked to ed. Emacs has been replaced by a shell script which 1) Generates a syslog message at level LOG_EMERG; 2) reduces the user's disk quota by 100K; and 3) RUNS ED!!!!!!

"Ed is the standard text editor."

Let's look at a typical novice's session with the mighty ed:

golem> ed

? help ? ? ? quit ? exit ? bye ? hello? ? eat flaming death ? ^C ? ^C ? ^D ?

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Note the consistent user interface and error reportage. Ed is generous enough to flag errors, yet prudent enough not to overwhelm the novice with verbosity.

"Ed is the standard text editor."

Ed, the greatest WYGIWYG editor of all.

ED IS THE TRUE PATH TO NIRVANA! ED HAS BEEN THE CHOICE OF EDUCATED AND IGNORANT ALIKE FOR CENTURIES! ED WILL NOT CORRUPT YOUR PRECIOUS BODILY FLUIDS!! ED IS THE STANDARD TEXT EDITOR! ED MAKES THE SUN SHINE AND THE BIRDS SING AND THE GRASS GREEN!!

When I use an editor, I don't want eight extra KILOBYTES of worthless help screens and cursor positioning code! I just want an EDitor!! Not a "viitor". Not a "emacsitor". Those aren't even WORDS!!!! ED! ED! ED IS THE STANDARD!!!

TEXT EDITOR.

When IBM, in its ever-present omnipotence, needed to base their "edlin" on a UNIX standard, did they mimic vi? No. Emacs? Surely you jest. They chose the most karmic editor of all. The standard.

Ed is for those who can *remember* what they are working on. If you are an idiot, you should use Emacs. If you are an Emacs, you should not be vi. If you use ED, you are on THE PATH TO REDEMPTION. THE SO-CALLED "VISUAL" EDITORS HAVE BEEN PLACED HERE BY ED TO TEMPT THE FAITHLESS. DO NOT GIVE IN!!! THE MIGHTY ED HAS SPOKEN!!!

anonymous
()

Очень прогрессивный и интересный язык, но умрет наверное, увы. Сам писал на нем мало, но быстро прочувствовал радость эфелевской реализации design by contract. Жабные пляски с assert гораздо более убоги, но тем не менее, in java we trust, может быть и появится что-нибудь в скором времени.

XuMuK
()
Ответ на: комментарий от XuMuK

> Очень прогрессивный и интересный язык, но умрет наверное, увы.

А вот я как раз думаю, что нет. Не забывай, за ним стоит контора, которая активно его развивает и проталкивает в жизнь - это, похоже, одно из основных условий выживания языка в наше трудное время. А еще, это один из немногих языков с _полноценной_ интеграцией с .NET. Так что как минимум под Win/.NET своя ниша у него останется.

int19h ★★★★
()
Ответ на: комментарий от ananymous

> потому что на C# ни один опенсорнсник ни одной программы не напишет!

Навскидку, MonoDevelop и Muine. Это то что запомнилось - наверняка уже еще наплодили.

int19h ★★★★
()

может быть в Eiffelе ОО и лучше, но не ужели не понятно что языки бес скобочнова синтаксиса обречены на использование только в академической среде :)

эти всякие begin и end это просто кошмар :)

нормальные люди используют C++, Жабу и PHP :)))
и если бы в Питоне был нормальный синтаксис то он бы вытеснил PHP :))

Sveta_F
()
Ответ на: комментарий от Sveta_F

> может быть в Eiffelе ОО и лучше, но не ужели не понятно что языки бес скобочнова синтаксиса обречены на использование только в академической среде :)

Гм... питон? академическая среда? гы =)

> эти всякие begin и end это просто кошмар :)

Найди мне в Eiffel хоть один begin.

> нормальные люди используют C++, Жабу и PHP :)))

Нормальные люди не страдают религиозными предрассудками, в том числе и касательно скобок.

> и если бы в Питоне был нормальный синтаксис то он бы вытеснил PHP :))

Не неси бред, а? У питона и пхп, мягко говоря, разная ниша.

int19h ★★★★
()
Ответ на: комментарий от int19h

Все-таки eiffel - это несерьезно. Свободных реализаций мало (точнее одна), документация скудна, автор - жадина :). Да и сам язык не представляет собой ничего особенного (DBC есть даже в perl).

anonymous
()
Ответ на: комментарий от int19h

>Найди мне в Eiffel хоть один begin.

на скриншоте :)

>Нормальные люди не страдают религиозными предрассудками, в том числе и касательно скобок.

C++, Жаба и PHP являюца мэйнстримом. И скобочный синтаксис сыграл в этом не малую роль. Если бы в этих языках вместо {} были бы begin end или табы из питона никто бы их не использовал.

>Не неси бред, а? У питона и пхп, мягко говоря, разная ниша.

У питона вобще нет ниши. Его можно использовать везде :)

Sveta_F
()
Ответ на: комментарий от ananymous

> потому что на C# ни один опенсорнсник ни одной программы не напишет!

Глупость...

Кроме уже названного Mono, есть так же Portable.NET - альтернативная проекту Mono реализация среды (framework) .NET для юнихов. Например, она входит в дистрибутивы SuSE 9.1 и Gentoo.

Ну, и, пожалуй, самое главное. Разве опенсорсники пишут только опенсорсные программы? ;) Вон, в работе того же RedHat на общественных началах принимают участие около 50 сотрудников Microsoft - тут на ЛОРе недавно была новость.

dave ★★★★★
()
Ответ на: комментарий от XuMuK

> Очень прогрессивный и интересный язык, но умрет наверное, увы. Сам писал на нем мало, но быстро прочувствовал радость эфелевской реализации design by contract.

Язык этот старше, чем Java. Потом, говорят, он распространен в Европе. Так что, хорошие шансы выжить у него, наверняка, есть :)

dave ★★★★★
()
Ответ на: комментарий от anonymous

> Все-таки eiffel - это несерьезно. Свободных реализаций мало (точнее одна)

Если "свободных" в смысле опенсорс, так и у C++ тоже одна =)

> документация скудна

По языку - очень даже хорошие доки. По либам - да, убогие... но как показывает пример Gtk - это отнюдь не непреодолимое препятствие.

> автор - жадина :)

Что ж ты его так не любишь - за то, что .NET хвалил, что ли? =)

> Да и сам язык не представляет собой ничего особенного (DBC есть даже в perl).

Чтобы говорить о "даже", надо бы привести еще парочку примеров. Желательно из компилируемых (хотя бы в байткод) языков - C++ там, жабка, и прочие того же разряда.

Да, вот еще вопрос: этот DbC в перле, оно полноценное (т.е. корректно отрабатывает объединение пре-/постусловий при наследовании), или просто красивая обертка вокруг assert?

int19h ★★★★
()
Ответ на: комментарий от Sveta_F

> на скриншоте :)

А теперь одень очки и посмотри еще раз, повнимательней...

> C++, Жаба и PHP являюца мэйнстримом. И скобочный синтаксис сыграл в этом не малую роль. Если бы в этих языках вместо {} были бы begin end или табы из питона никто бы их не использовал.

ROTFL!! Ну млин, логика у молодежи =) Люди годами писали на фортране и коболе, и всю жизнь только и мечтали о скобочках, да... Кстати мейнстрим (в винде) нынче - VB.NET, это так, к слову - как же так, без скобочек-то?

> У питона вобще нет ниши. Его можно использовать везде :)

"Язык программирования общего назначения" - это тоже ниша. Типа как "телевизор-соковыжималка" =)

int19h ★★★★
()
Ответ на: комментарий от int19h

> Если "свободных" в смысле опенсорс, так и у C++ тоже одна =)

А причем тут C++? :) а так, навскидку, кроме gcc есть еще lcc и openwatcom.

> Что ж ты его так не любишь - за то, что .NET хвалил, что ли? =)

За то, что жадина. В курсе сколько лет eiffelю?

> Чтобы говорить о "даже", надо бы привести еще парочку примеров.

http://www.gauss.muc.de/tools/dbc/dbc.lisp :)

> Желательно из компилируемых (хотя бы в байткод) языков - C++ там, жабка, и прочие того же разряда.

А что perl уже не компилируемый?

> Да, вот еще вопрос: этот DbC в перле, оно полноценное (т.е. корректно отрабатывает объединение пре-/постусловий при наследовании), или просто красивая обертка вокруг assert?

Дык посмотри.

http://search.cpan.org/~mdupont/Introspector-0.04/lib/Class/Contract.pm

anonymous
()
Ответ на: комментарий от anonymous

> А причем тут C++? :) а так, навскидку, кроме gcc есть еще lcc и openwatcom.

lcc - это не C++ компилятор =) про watcom забыл, признаюсь... но и то - насколько популярный C++, и то опенсорсные компиляторы по пальцам пересчитать. А кстати, зачем тебе больше одного? =)

> А что perl уже не компилируемый?

Нормально (в смысле, с реальным приростом скорости и прочего) - нет.

> http://www.gauss.muc.de/tools/dbc/dbc.lisp :)

"WARNING: This code is still in its very early stages and not suitable for production use."

> Дык посмотри.

Посмотрел. Действительно, все есть =) Если б еще перл кто-то использовал в тех областях, где такие штуки нужны...

int19h ★★★★
()
Ответ на: комментарий от Sveta_F

> C++, Жаба и PHP являюца мэйнстримом.

С++, жаба и пхп наследуют синтаксис си.

> И скобочный синтаксис сыграл в этом не малую роль

Ну да, телега впереди лошади..

> Если бы в этих языках вместо {} были бы begin end или табы из питона никто бы их не использовал.

begin/end конечно сосут, но и другого фуфла хватает, всё равно используют

на табы наезжать не надо, с ними очень компактный код получается (экономия линий на }, особенно на вложеных циклах).

> никто бы их не использовал

за всех говорить отучаемся, совсем несерьёзно..

anonymous
()
Ответ на: комментарий от Shaman007

>Кстати, скажи мене сколько будет: int i=1; i+=i++ + ++i;

Как говорил один мой причтель: - Сам дурак!

:)

vada ★★★★★
()
Ответ на: комментарий от anonymous

>> Что ж ты его так не любишь - за то, что .NET хвалил, что ли? =)

> За то, что жадина. В курсе сколько лет eiffelю?

Жадина-жадина... Он ещё на Бьярни в свое время бочку катил... Sather делали как аналог Eiffel'ю - открытый, только он был как ранний C++ - через препроцессор сбивался, множественного наследования нету... труп уже.

А без скобок действительно тяжело, после седения 6-ть и больше часов за монитором глазам цепляться незачто :-/

Spectr ★★★
()
Ответ на: комментарий от Spectr

> А без скобок действительно тяжело, после седения 6-ть и больше часов за монитором глазам цепляться незачто :-/

Ну так это, www.cons.org ;)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.