|
2.3, Cobold (??), 12:00, 01/06/2010 [^] [^^] [^^^] [ответить]
| +/– |
первое, на вскидку - бинарники тяжеловаты, и в 6.4 во всяком случае компиляция долго длилась. Ну, и не привычно конечно, так уж получилось что современные методологии на яву заточены.
| |
|
1.2, Cobold (??), 11:57, 01/06/2010 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
расскажите, как впечатления, кто с этим работал? Я как-то одно время пытался его серьёзно освоить, но там слишком уж непривычная для наших программеров концепция, так и не понял как на нём с этими людьми что-то сделать можно было бы. Может был у кого положительный опыт?
| |
|
2.4, croster (ok), 16:08, 01/06/2010 [^] [^^] [^^^] [ответить]
| +/– |
Для начала стоит изучить проектирование по контракту - ключевая, на мой взгляд, идея Eiffel. На русском можно почитать недавно вышедший цикл статей в блоге:
http://sergeyteplyakov.blogspot.com/search/label/Design%20by%20Cont
Безусловно, стоит прочесть классическую книгу Бертрана Мейера "Объектно-ориентированное конструирование программных систем" (на русском). И более доступную книгу для студентов того же Мейера: Bertrand Meyer "Touch of Class: Learning to Program Well with Objects and Contracts" (пока только на английском, но к концу года обещают перевести на русский).
Вот краткий обзор языка:
http://eao197.narod.ru/better_language/languages/eiffel/0_overview.html
Мое личное мнение об этом языке (ИМХО) - идеальный язык для обучения программированию. И последняя книга "Touch of Class" только еще больше меня убеждает в этом мнении.
| |
|
3.6, Cobold (??), 16:36, 01/06/2010 [^] [^^] [^^^] [ответить]
| +/– |
Да, спасибо, Мейера тоже читал пару лет назад, и про ипользование BON тоже, очень заинтересовался, кое-что пробовал сам писать тоже. Полностью согласен что это идеальный язык чтобы учиться программировать правильно. Вот только это язык на мой взгляд не для одиночек, его сила в решении проблем работы в комманде и разработки очень сложных систем, и вот тут у меня как раз незадача: люди с которыми я работаю вместе уже имеют определённые знания и опыт, но пришел к ним этот опыт по сути из явы, и в институте они UML изучали а не BON, и думают они поэтому в стиле явы, рады что с юнит-тестами через пень-колоду разобрались и на большее не замахваются. Не знаю я пока как можно было-бы этих людей заинтересовать с Eiffel поработать, вот и вопрос - может у кого-нибудь есть положительный опыт реальных проектов на этом языке, не 20-летней давности, а с учётом современных реалий? Об этом было бы очень интересно почитать.
| |
|
4.10, не наш (?), 17:10, 01/06/2010 [^] [^^] [^^^] [ответить] | +/– | Любой язык можно использовать и в одиночестве , и в команде Тут скорее всего и... большой текст свёрнут, показать | |
|
5.18, Cobold (??), 17:46, 01/06/2010 [^] [^^] [^^^] [ответить]
| +/– |
>Любой язык можно использовать и в "одиночестве", и в команде.
>Тут скорее всего имеет место стадное чувство и страх что-то в одиночестве
>самому начинать.
я к счастью работал с достаточным количеством языков, чтобы не бояться стадного чувства. Как раз айфель на мой взгляд - другой случай. Но может быть конечно я в этот раз ошибаюсь.
>
>Кроме того. А почему нельзя использовать разные языки в одной команде. Ну
>да, религия не позволяет.
у уже ниже ответил
>
>Незадача заключается в том, что вместо того, чтобы самостоятельно изучить то, что
>показалось перспективным, здесь имеет место непреодолимое желание убедить других делать то
>же самое.
>Ярко выраженное стадное чувство.
ещё раз, айфель - особый случай, он был создан чтобы решать спецефические задачи, которые без наличия "стада" обычно не встречаются
>
>Может проще найти уже заинтересованных?
да, это было бы не плохо. Поищу интересный опенсорсный проект. Серьёзно.
>
>Т.е. без чужого "положительного опыта" ну просто никак.
>А разве опыта тех, кто это создал, поддерживает и развивает недостаточно?
да, опыт тех кто его создал почему-то не убеждает. Создалось впечатление что язык жив больше ради поддержки существующих проектов, ну и кое-где его студентам дают изучать. Не нашёл я на нём пока достаточно активных новых проектов.
| |
|
6.24, не наш (?), 18:10, 01/06/2010 [^] [^^] [^^^] [ответить]
| +/– |
>я к счастью работал с достаточным количеством языков, чтобы не бояться стадного чувства. Как раз айфель на мой взгляд - другой случай. Но может быть конечно я в этот раз ошибаюсь.
>ещё раз, айфель - особый случай, он был создан чтобы решать спецефические задачи, которые без наличия "стада" обычно не встречаются
Все ясно. Для вас "стадо" и "команда" примерно одно и то же. В этом и проблема.
В стаде все стремятся делать одно и то же, и смотрят друг на друга.
В команде каждый занимается своим делом и по-своему. Возможно даже на своем языке, и результаты объединяются для достижения максимальной отдачи за счет синергетического эффекта.
Так что вам скорее всего нужно просто поискать настоящую команду, а не стадо, и поучиться в ней взаимодействовать. И дело даже не в конкретном языке, а в самом мышлении.
>да, опыт тех кто его создал почему-то не убеждает.
Ну вот очередное подтверждение наличия "замкнутого круга". Вы оказывается сами не достаточно убеждены. Но при этом пытаетсь убедить других. Видимо чтобы они это сами начали, и чтобы помогли убедиться вам.
>да, это было бы не плохо. Поищу интересный опенсорсный проект. Серьёзно.
>Создалось впечатление что язык жив больше ради поддержки существующих проектов, ну и кое-где его студентам дают изучать. Не нашёл я на нём пока достаточно активных новых проектов.
В том-то и вопрос, что вы ожидаете найти. Видимо что-то похожее на то, что делается на тех языках, на которых пишут "другие", которых вам никак не удается убедить.
| |
|
7.31, Cobold (??), 18:25, 01/06/2010 [^] [^^] [^^^] [ответить]
| +/– |
>[оверквотинг удален]
>В стаде все стремятся делать одно и то же, и смотрят друг
>на друга.
>В команде каждый занимается своим делом и по-своему. Возможно даже на своем
>языке, и результаты объединяются для достижения максимальной отдачи за счет синергетического
>эффекта.
>
>Так что вам скорее всего нужно просто поискать настоящую команду, а не
>стадо, и поучиться в ней взаимодействовать. И дело даже не в
>конкретном языке, а в самом мышлении.
>
Спасибо, хорошая мысль.
>>да, опыт тех кто его создал почему-то не убеждает.
>
>Ну вот очередное подтверждение наличия "замкнутого круга". Вы оказывается сами не достаточно
>убеждены. Но при этом пытаетсь убедить других. Видимо чтобы они это
>сами начали, и чтобы помогли убедиться вам.
>
нет, это уже врядли. Но на данный момент для меня интересна общая продуктивность нашей комманды.
>
>В том-то и вопрос, что вы ожидаете найти. Видимо что-то похожее на
>то, что делается на тех языках, на которых пишут "другие", которых
>вам никак не удается убедить.
нужно подумать.
| |
|
|
|
|
|
2.5, не наш (?), 16:23, 01/06/2010 [^] [^^] [^^^] [ответить]
| +/– |
> Я как-то одно время пытался его серьёзно освоить, но там слишком уж непривычная для наших программеров концепция,
Что значит наши-ненаши?
В программировании нет наших, есть способные и неспособные. А также уровень свободы мышления от стереотипов и шаблонов.
> так и не понял как на нём с этими людьми что-то сделать можно было бы.
Так вы хотели новый язык освоить или что-то "сделать с этими людьми".
Можно например освоить язык и создать на нем ПО, которое что-то "делает с этими людьми". А не дожидаться, когда "эти люди" окажутся способными что-то "сделать", чуть более отличное от того, к чему они привыкли.
| |
|
3.7, Cobold (??), 16:59, 01/06/2010 [^] [^^] [^^^] [ответить]
| +/– |
>[оверквотинг удален]
>мышления от стереотипов и шаблонов.
>
>> так и не понял как на нём с этими людьми что-то сделать можно было бы.
>
>Так вы хотели новый язык освоить или что-то "сделать с этими людьми".
>
>Можно например освоить язык и создать на нем ПО, которое что-то "делает
>с этими людьми". А не дожидаться, когда "эти люди" окажутся способными
>что-то "сделать", чуть более отличное от того, к чему они привыкли.
>
Для начала, для чего нам это нужно: я веб-разработчик, мы делаем на php довольно сложные системы под заказ, и некоторые вещи было бы не плохо вынести в отдельный процесс и скомпилировать - кэш, спецефический поиск итд.. Для таких вещей на мой взгляд айфель подошёл бы идеально - производительность сравнима с C, а качество кода будет значительно выше. Потом, на мой взгляд, опыт "разработки по контракту" и в php не помешал бы, но для этого нужно его сначала на самом eiffel получить - сделать на нём какие-то пробные пректы и посмотреть как эта система работает, что там удобно а что нет. Вот пока и не знаю как заинтересовать коллег им заняться, это не студенты зелёные и стереотипы у них уже давно устоялись. Найти других - тоже конечно выход, но пока не реальный.
| |
|
|
5.14, Cobold (??), 17:26, 01/06/2010 [^] [^^] [^^^] [ответить]
| +/– |
> http://habrahabr.ru/blogs/development/95079/
- да ладно, я в курсе :)
На самом деле задача скорее в том чтобы приделать к проекту memcache, или самим написать демона который знает о наших объектах. На C писать такие вещи действительно глупо, на яве врядли особо что-то выиграешь. Ещё раз, это пока только идея для пилот-проекта чтобы попробовать eiffel в реальных условиях.
| |
|
4.12, Аноним (-), 17:12, 01/06/2010 [^] [^^] [^^^] [ответить]
| +/– |
Мне приходилось очень много иметь дел с Eiffel хотя бы в рамках прохождения кучи курсов в ETH Zurich. Скажем так: удобно. Такого гибкого и красивого ООП пока нет ни у кого, однако программирование по контракту больше похоже на TDD в плане организации процесса. Наверное это идеальный язык для TDD. Контракты красивы, но если использовать их как положено, то около 80% кода будут составлять именно эти однотипные соглашения.
Производительность, кстати, сравнима с С только в случае генерирования окончательного кода, но там, сюрприз, эти славные require и ensure частично отключаются, так что смысла в них маловато на самом деле.
| |
|
5.16, Cobold (??), 17:34, 01/06/2010 [^] [^^] [^^^] [ответить]
| +/– |
>Производительность, кстати, сравнима с С только в случае генерирования окончательного кода, но
>там, сюрприз, эти славные require и ensure частично отключаются, так что
>смысла в них маловато на самом деле.
да, я в курсе, я исхожу из того что в production их оставлять не очень-то разумно
| |
5.21, croster (ok), 17:58, 01/06/2010 [^] [^^] [^^^] [ответить]
| +/– |
>Производительность, кстати, сравнима с С только в случае генерирования окончательного кода, но там, сюрприз, эти славные require и ensure частично отключаются, так что смысла в них маловато на самом деле.
Это и не удивительно, ведь проверка инвариантов, пост- и предусловий требует определенных временных затрат. По оценкам, при мониторинге контрактов теряется примерно 25% скорости по сравнению с отключенными проверками.
| |
|
4.13, не наш (?), 17:16, 01/06/2010 [^] [^^] [^^^] [ответить]
| +/– |
>Для начала, для чего нам это нужно: я веб-разработчик, мы делаем на php довольно сложные системы под заказ, и некоторые вещи было бы не плохо вынести в отдельный процесс и скомпилировать - кэш, спецефический поиск итд.. Для таких вещей на мой взгляд айфель подошёл бы идеально - производительность сравнима с C, а качество кода будет значительно выше. Потом, на мой взгляд, опыт "разработки по контракту" и в php не помешал бы, но для этого нужно его сначала на самом eiffel получить - сделать на нём какие-то пробные пректы и посмотреть как эта система работает, что там удобно а что нет. Вот пока и не знаю как заинтересовать коллег им заняться, это не студенты зелёные и стереотипы у них уже давно устоялись. Найти других - тоже конечно выход, но пока не реальный.
Вы просто напоминаете сами программу, которую запрограммировали.
Что бы что-то освоить самому, нужно обязательно убедить в этом других.
Ну если вам интуиция подсказывает, что перечисленные вами технологии могут быть успешно использованы в ваших коллективных проектах, ну так и внедрите их самостоятельно. И просто интегрируйтесь с уществующим кодом на других языках.
Или вы не знаете, что такое системная интеграция?
| |
|
5.15, Cobold (??), 17:32, 01/06/2010 [^] [^^] [^^^] [ответить]
| +/– |
>
>Вы просто напоминаете сами программу, которую запрограммировали.
>Что бы что-то освоить самому, нужно обязательно убедить в этом других.
>
>Ну если вам интуиция подсказывает, что перечисленные вами технологии могут быть успешно
>использованы в ваших коллективных проектах, ну так и внедрите их самостоятельно.
>И просто интегрируйтесь с уществующим кодом на других языках.
>
>Или вы не знаете, что такое системная интеграция?
видимо боюсь оказаться в положении эзотерика, сваявшего какую-то заумь, с которой никто не хочет разбираться пока она работает, а потом её просто переписывают заново :)
| |
|
6.20, не наш (?), 17:53, 01/06/2010 [^] [^^] [^^^] [ответить]
| +/– |
>видимо боюсь оказаться в положении эзотерика, сваявшего какую-то заумь, с которой никто не хочет разбираться пока она работает, а потом её просто переписывают заново :)
А это смотря, что вам важнее.
Делать то, что работает, и осваивать для этого такие инструменты, которые более всего подходят именно вам, а не другим, и которые помогают именно вам самому достичь максимальной производительности.
Или чтобы другие разбирались, как именно работает то, что вы делаете.
Боитесь что перепишут? Но ведь если вы нашли инструмент, который даст вам большую производительность, тогда переписывать то, что вы с его помощью сделаете обойдется другим гораздо дороже.
А если вы все-таки боитесь, что вы не достигнете более высокой производительности - значит вы на самом деле сомневаетесь либо в перспективности нового направления, либо в собственных способностях. Отсюда и подсознательное желание привлечь к этому других, поскольку в одиночку вы просто боитесь рискнуть.
| |
|
7.22, Cobold (??), 18:08, 01/06/2010 [^] [^^] [^^^] [ответить]
| +/– |
>[оверквотинг удален]
>Или чтобы другие разбирались, как именно работает то, что вы делаете.
>
>Боитесь что перепишут? Но ведь если вы нашли инструмент, который даст вам
>большую производительность, тогда переписывать то, что вы с его помощью сделаете
>обойдется другим гораздо дороже.
>
>А если вы все-таки боитесь, что вы не достигнете более высокой производительности
>- значит вы на самом деле сомневаетесь либо в перспективности нового
>направления, либо в собственных способностях. Отсюда и подсознательное желание привлечь к
>этому других, поскольку в одиночку вы просто боитесь рискнуть.
А можно Вам порекомендовать другой замечательный язык, форт (forth) называется ? Я им одно время очень увлекался, преинтереснейшая вещь ;)
| |
7.23, croster (ok), 18:09, 01/06/2010 [^] [^^] [^^^] [ответить]
| +/– |
>Делать то, что работает, и осваивать для этого такие инструменты, которые более всего подходят именно вам, а не другим, и которые помогают именно вам самому достичь максимальной производительности.
Если Вы имеете ввиду производительность приложений, написанных на Eiffel, то она оценивается как высокая (трансляция кода в Си). А вот производительность самого программиста будет, скорее всего, невысокой. Eiffel прежде всего предназначен для неспешной разработки критически важного ПО. К этому есть все предпосылки: статическая типизация, проектирование по контракту, минимализм самого языка, стремление к математической строгости, отлавливание по возможности как можно большего количества ошибок на этапе компиляции.
| |
|
8.27, Cobold (??), 18:16, 01/06/2010 [^] [^^] [^^^] [ответить] | +/– | думаю что в сравнении с C и с учётом отлова типичных для него багов, которых там... текст свёрнут, показать | |
8.29, не наш (?), 18:19, 01/06/2010 [^] [^^] [^^^] [ответить] | +/– | Я разве что-то говорил о производительности приложений То есть вы здесь пыталис... текст свёрнут, показать | |
|
|
|
|
4.19, croster (ok), 17:49, 01/06/2010 [^] [^^] [^^^] [ответить]
| +/– |
Если Вы хотите попробовать проектирование по контракту, то для других языков есть соответствующие библиотеки. Например, Contract++ (http://dbcpp.sourceforge.net/) для С++. Можете попробовать написать подключаемые модули для php на C++ с помощью этой технологии.
| |
|
5.25, Cobold (??), 18:12, 01/06/2010 [^] [^^] [^^^] [ответить]
| +/– |
>Если Вы хотите попробовать проектирование по контракту, то для других языков есть
>соответствующие библиотеки. Например, Contract++ (http://dbcpp.sourceforge.net/) для С++. Можете попробовать написать подключаемые
>модули для php на C++ с помощью этой технологии.
спасибо, но вот с этого начинать я бы не стал, не опробовав как это в оригинале делается. Тогда такой вопрос: Вы пишите что процесс на TDD похож - а чувствуются ли какие-то преимущества, в сравнении с теми-же UnitTests в стиле явы?
| |
|
6.32, croster (ok), 18:27, 01/06/2010 [^] [^^] [^^^] [ответить]
| +/– |
>Вы пишите что процесс на TDD похож - а чувствуются ли какие-то преимущества, в сравнении с теми-же UnitTests в стиле явы?
Про TDD - это был не мой пост.
| |
|
7.33, Cobold (??), 18:34, 01/06/2010 [^] [^^] [^^^] [ответить]
| +/– |
>>Вы пишите что процесс на TDD похож - а чувствуются ли какие-то преимущества, в сравнении с теми-же UnitTests в стиле явы?
>
>Про TDD - это был не мой пост.
да, прошу прощения.
| |
|
|
|
|
|
|
1.8, Аноним (-), 17:06, 01/06/2010 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Ну наконец-то доделали, прошлой осенью даже помогал Мартину баги из EiffelVision, какой-то заколдованный релиз-стоппер вышел.
Сам EiffelStudio, конечно, пока убог, но небезнадежен
| |
|
2.17, croster (ok), 17:44, 01/06/2010 [^] [^^] [^^^] [ответить]
| +/– |
>Сам EiffelStudio, конечно, пока убог, но небезнадежен
Просто EiffelStudio ориентируется на поддержку возможностей языка Eiffel, а не ставит своей целью создать единую платформу для многих языков типа Netbeans или Eclipse.
| |
|
1.37, User294 (ok), 23:10, 01/06/2010 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> Вышла версия 6.6 IDE для языка Eiffel
Круто. Слово Eiffel в новости является гиперлинком на вику. А там то по этой ссылке и написано: "В Википедии нет статьи с таким названием."
Epic fail засчитан. Правда не понятно кому. Толи авторам/корректорам новости, толи вике... oO
| |
|