[Java] Idea vs Eclipse

pitrik2

Глянул на What's new in JDT 3.2... Офигеть!.. Вообще уже думать негде.
офигеть, это вот это: http://www.jetbrains.com/idea/training/demos/AJAX_demo.html
а все что нового появляется в эклипсе - тащится из ИДЕИ
ИДЕЯ правда тоже не без грешка, целых одну вещи знаю которую она из эклипса утащила - в навигаторе подсветка файлов в которых есть ошибки
любители эклипса вечно ругают идею за отсутствие этого, видимо им оно надо
в идее оно не надо вообще
кстати, вот тут немного описано что делает ctrl+shift+space
http://blogs.jetbrains.com/idea/2006/06/something-more-about...
в идее четкое разделение, ctrl+space угадывает подстановку с точки зрения редактора, ctrl+shift+space с точки зрения кода
в эклипсе все это свалено в кучу, при этом не все вещи делаются
еще кстати вспомнил
понимает ли эклипс CamelHumps ?
например я пишу MVLCN и жму ctrl+space, в результе получаю MyVeryLongClassName

enochka1145

понимает ли эклипс CamelHumps ?
Ещё раз говорю - посмотри Эклипс (чем ты там месяц занимался - неужели хелп читал?). Сразу отпадёт множество идиотских вопросов.
Я не собираюсь с тобой спорить. Я согласен: всё, что ни есть хорошего в Эклипс, появилось (или появится) там из Идеи и накак иначе. Это же ужас - в Идее только планируют, в intention-ах расписывают, а в Эклипсе берут - и реализовывают. Сволочи. Пираты. Плагиаторы.

pitrik2

Ещё раз говорю - посмотри Эклипс
открыл эклипс чтобы посмотреть как for сам появляется
сразу столкнулся с кучей проблем
1) пишу:
LinkedList list = new
в результе подчеркивается красным new, т.е. сигналит об ошибке и не предлагает никаких вариантов исправления! ctrl+space молчит как партизан
чтобы ИДЕЯ "молчала", т.е. не предлагала исправить ошибку - это нада постараться!
ну ладна, исправляем ошибку руками
стираем new, упс, подчеркивается = и опять молчит!
ну ладна, стираем и равно
УРА!
эклипс сообразил что у меня нет импорта и предложил его
как воспользоваться предложением непонятно (в ИДЕЕ появляется подсказка "нажмите alt+enter для импорта")
ну ладна, как тупые бараны кликаем мышью на ошибку, импорт сделан!
2) добавляем = new
тоесть код сейчас:
LinkedList list = new
жмем ctrl+space, получается:
LinkedList list = new LinkedList
я в шоке!
я что, сам должен скобки ставить? да еще и точку с запятой сам должен ставить?
мдяя, эклипс и вправду "за меня думает"
эххх, ладно, дописываю сам
3) добавляем следующий код
int[] array;
пишем for и жмем ctrl+space
ура! эклипс предложил проитерировать
выбираем итерацию по массиву
получаем:
for (int i = 0; i < array.length; i++) {

}
при этом подчеркнуто ошибкой array.length
эклипс предлагает решение
жмем мышкой и появляется решение: "No suggestions available"
я опять в шоке! это конечно апгрейд по сравнению с пунктом 1, он уже не молчит как партизан, но ведь и не говорит ничего
если в пункте 1 я еще както мог догадаться что тут не так, то тут ошибка менее очевидна
4) ну ладна, надо проинициализировать массив
пишем:
int[] array = new ;
жмем ctrl+space
эклипс на высоте! никаких движений
5) ну ладна, добрались таки до того с чего все началось
тестируем for для списка
то что он не предлагает for по списку, а только по итератору, это еще можно простить
но то что он выдает после ctrl+space это нечто!
for (Iterator iter = list.iterator; iter.hasNext;) {
type element = (type) iter.next;

}
я в глубоком ауте
не сомневаюсь что пункт 6 тоже будет провальным
6) добавляем строчку
list.add(new Integer(1;
итерируем по листу, в эклипсе ничего не изменилось
для сравнения привожу идею:
for(Iterator iterator = list.iterator; iterator.hasNext;) {
Integer integer = (Integer)iterator.next;

}
кстати, я был приятно удивлен что эклипс мне предложил изменить название переменной итератора
но это единственное что он предложил изменить, даже type и то мне нада будет потом в двух местах менять
ВЫВОД
да какой тут собственно может быть вывод?
в эклипсе же есть
JDT, CDT, EMF (Eclipse Modeling Framework GEF (Graphical Editor Framwork Visual Editor и многое, (реально) многое другое!
смешно

Ivan8209

> сразу столкнулся с кучей проблем
Это же ява!
> 1) пишу: LinkedList list = new
Странно, почему из синтаксиса и семантики операций не следует, что имеются в виду списки.
Кстати, а нафиг высокоуровневому программисту знать, как списки сделаны внутри?
> 3) <...> пишем for и жмем ctrl+space
Сложно написать map, fold или for-each?
А это ведь всё, без дальнейших подсказок.
> 6) добавляем строчку
> list.add(new Integer(1;
Зачем так длинно?
> ВЫВОД
> да какой тут собственно может быть вывод?
Действительно. Какой ещё может быть вывод?
---
...Я работаю антинаучным аферистом...

pitrik2

Кстати, а нафиг высокоуровневому программисту знать, как списки сделаны внутри?
надо знать только какие типы списков есть
есть ArrayList а есть LinkedList
это все еще в кнуте было описано

Ivan8209

>> Кстати, а нафиг высокоуровневому программисту знать, как списки сделаны внутри?
> надо знать только какие типы списков есть
А нафиг это надо?
> есть ArrayList а есть LinkedList
> это все еще в кнуте было описано
Кнут ещё и ассемблер описывал.
---
...Я работаю антинаучным аферистом...

Dasar

> А нафиг это надо?
от этого сейчас довольно часто зависит: программа тормозит или очень тормозит, выдает почти что надо или кору дампит

danilov

А по делу если...
Я, конечно, эклипса не знаток, но если ты то же самое проделаешь в идее, тока вместа
ctrl-space будешь жать shift-alt-reset, то она не только ничего не подскажет, но ещё
комп ни с того ни с сего будет перегружатся
Я это к чему... быть может, есть в мире другие комбинации клавиш, о которых мы и не
подозреваем...
А вообще, я пользуюсь идеей, и ничего, кроме тормозов не по делу (ну, комп слабенький)
против неё сказать не могу Но таки не стал бы так яро рычать на эклипс...

enochka1145

открыл эклипс чтобы посмотреть как for сам появляется
сразу столкнулся с кучей проблем
Реально коматозишь не по делу.
В 1) попробуй new,Ctrl+Space,Enter (ответ на фсе вопросы, помнишь?). Весь n------e--------w выписывать не обязательно.
Остальное - вечером.

Ivan8209

>> А нафиг это надо?
> от этого сейчас довольно часто зависит: программа тормозит или очень тормозит,
Если программа тормозит, то прикладники ставят более быструю машину.
"Machine cycles are cheap."
> выдает почти что надо или кору дампит
Вообще-то, это не должно зависеть от деталей реализации.
У явы всё настолько плохо со внутренностями?
---
...Я работаю антинаучным аферистом...

Marinavo_0507

> Если программа тормозит, то прикладники ставят более быструю машину.
> "Machine cycles are cheap."
Это если просто тормозит.
А если очень тормозит, то такой машыны не найти.

pitrik2

В 1) попробуй new,Ctrl+Space,Enter (ответ на фсе вопросы, помнишь?). Весь n------e--------w выписывать не обязательно.
дык я же так и делал
ААААААА
ага
обнаружил в чем дело
нада жать ctrl+space сразу после new, а я жал после пробела, т.е. после "new "
что он мне предложил после new я упал под стол от гогота
было:
LinkedList list = new
нажал ctrl+space
получил
LinkedList list = type name = new type(arguments);
НУ И ТУПОЙ ЖЕ ОН!
мдя
видимо в эклипсе нужно "по-другому" писать
обычно: я пишу код, а идея мне его дополняет
а тут: сразу надо говорить что хочешь писать, иначе эклипс потом не поймет
пишем new и жмем ctrl+space
получаем
type name = new type(arguments);
причем! все параметры можно изменить, оказывается для перехода от одного параметра к другому нужно жать не ентер а ТАБ
бесит только, что arguments надо стирать, если не хочешь парамов, идея всегда предлагает пустую строчку
вот этот пример очень хорошо показывает различие между идеей и эклипсом
идея - думает
а эклипс - нет
кстати, а почему эклипс не предлагает имен переменных? я думал что уж хотя бы это он умеет
пишу List , ctrl+space, эклипс молчит
идея: List , ctrl+space, итог: List list
балин, ты ж елки палки
предлагает! но только когда импорт сделаешь

pitrik2

Но таки не стал бы так яро рычать на эклипс...
да я не рычу, это они рычат
я токо утверждаю, что эклипсу далеко до идеи с точки зрения возможностей редактора языка Джава
а они начинают рыпаться в ответ
я вот лично знаю минусы идеи, и не рыпаюсь в ответ когда мне на них тычут
например: в идее мало бесплатных плагинов, апи открыт, а плагинов мало
например, в идее нету плагина для хибернейт 3 (в эклипсе он есть, он убогий настолько насколько можно быть убогим, но он есть)

Ivan8209

>> Если программа тормозит, то прикладники ставят более быструю машину.
>> "Machine cycles are cheap."
> Это если просто тормозит.
> А если очень тормозит, то такой машыны не найти.
Ну, что ж! Тогда придётся раскошелиться на программистов,
которые умеют думать самостоятельно, без помощи идей с еклипсами.
---
...Я работаю антинаучным аферистом...

psihodog

я токо утверждаю, что эклипсу далеко до идеи с точки зрения возможностей редактора языка Джава
мне кажется, ты не достаточно хорошо знаешь eclipse, чтобы утверждать такое

pitrik2

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

psihodog

кажись я привожу реальные примеры...
ты демонстрируешь свою полную некомпетентность в eclipse

pitrik2

ты демонстрируешь свою полную некомпетентность в eclipse
тыкни плиз хоть в одно место, где я это сделал
то что она после new подставляет мне тупой шаблон, совершенно не соображаю в каком контексте я это вызываю, это моя некомпетентность?
то что она подчеркивает ошибки, но не говорит в чем ошибки и тем более не предлагает их исправить это моя некомпетентность?

psihodog

тыкни плиз хоть в одно место, где я это сделал
да хотя бы вот это:
дык я же так и делал
ААААААА
ага
обнаружил в чем дело
нада жать ctrl+space сразу после new, а я жал после пробела, т.е. после "new "


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

pitrik2

ты без опыта использования эклипса, не читая доки, решил использовать его как идею и удивляешься, что у тебя это не получается.
вранье
внимательно прочти еще раз мой пост
нада жать ctrl+space сразу после new - это то про что говорил
так вызывается live template
к нему у меня нареканий нет
нарекания были именно с ctrl+space после new в контексте создания класса, а не для live template
да, я не знал как в эклипсе вызывается live template, но я к live template и не придирался
я придирался к code completion, и моя придирка осталась в силе, просто сказал, что там где не работает code completion можно использовать live template
в идее я тоже могу live template для этого юзать, речь же не про это

enochka1145

 
открыл эклипс чтобы посмотреть как for сам появляется
сразу столкнулся с кучей проблем
  

Приношу свои извинения от лица Eclipse-community за то, что Eclipse отличается от IDEA, и, таким образом, доставляет тебе столько хлопот. Надеюсь, к следующему релизу мы это исправим этот чудовищный недостаток.
 
1) - 2)

Спасибо, повеселил. То, что ты хотел (LinkedList list = new LinkedList;) делается так:
n,Ctrl+Space,Enter,LLi,Enterтип списка, если нужноTab:
     LinkedList<Object> name = new LinkedList<Object>(arguments);
Ctrl+Enter(если тебе нужен именно list, а не linkedList, придётся ещё нажать "вниз"):
     LinkedList<Object> list = new LinkedList<Object>(arguments);
Tab,Del:
     LinkedList<Object> list = new LinkedList<Object>
 
3)

У тебя там что за Eclipse? У меня предлагает эту неинициализированную переменную проинициализировать или переименовать.
 
4)
Поздравляю! Оплачены тяжкие труды! Ты нашёл недоработку в Eclipse!
 
5)-6)
Я не понял что тебе не нравится. Поддержка foreach есть. Чем предложенный шаблон не подходит? По-моему, ты сам лажанул. Там всё можно изменить.
 
смешно

Что смешного? В Идее все эти компоненты тоже есть? Что-то не верится.

psihodog

вранье
внимательно прочти еще раз мой пост
ок. сколько времени ты пользовался эклипсом?

enochka1145

Кстати, а нафиг высокоуровневому программисту знать, как списки сделаны внутри?
Сам-то как думаешь?
list.add(new Integer(1; Зачем так длинно?

В самом деле, зачем?
Мне ещё перед тобой извиниться, что Java не такая, как Forth? Чтобы на ней программировать, надо её как минимум немного знать.

psihodog

> list.add(new Integer(1; Зачем так длинно?
В самом деле, зачем?
кстати, я тоже не понимаю, зачем.
можно было просто list.add(1);

danilov

А эклипс под jdk1.5 есть? Хочу попробовать очень, а через итераторы циклы делать не привык...

enochka1145

 
нада жать ctrl+space сразу после new, а я жал после пробела, т.е. после "new "
что он мне предложил после new я упал под стол от гогота
было:
LinkedList list = new
нажал ctrl+space
получил
LinkedList list = type name = new type(arguments);
 
1) Ты выбрал в меню "create new object" а теперь гогочешь.
2) Ты когда свой itar с Tab-ом в середине строчки напишешь, что будет?
 

НУ И ТУПОЙ ЖЕ ОН!
 

А что ты думаешь тут люди про тебя думают?
 
кстати, а почему эклипс не предлагает имен переменных? я думал что уж хотя бы это он умеет
пишу List , ctrl+space, эклипс молчит
идея: List , ctrl+space, итог: List list
балин, ты ж елки палки
предлагает! но только когда импорт сделаешь

Во-первых ты чего-то недоговариваешь, правда? Ну там про Alt+Tab.
Во-вторых, когда ты нажимаешь Ctrl+Space после типа (можно весь его набрать, а можно не весь импорт появляется автоматически. Так что не надо ля-ля.

enochka1145

например, в идее нету плагина для хибернейт 3 (в эклипсе он есть, он убогий настолько насколько можно быть убогим, но он есть)
Ты просмотрел ВСЕ плагины к Эклипсу, которые только существуют на свете?

enochka1145

тыкни плиз хоть в одно место, где я это сделал
то что она после new подставляет мне тупой шаблон, совершенно не соображаю в каком контексте я это вызываю, это моя некомпетентность?
Именно. Ты сам выбрал этот пункт - create new object.
то что она подчеркивает ошибки, но не говорит в чем ошибки и тем более не предлагает их исправить это моя некомпетентность?
Разумеется. Кликни на красный крестик или нажми Ctrl+1 (кажется; никогда не нажимал чтобы вызвать Quick Fix.

psihodog

А эклипс под jdk1.5 есть? Хочу попробовать очень, а через итераторы циклы делать не привык...
3.2 вроде под 1.5... поправьте, если я не прав.
через итераторы очень удобно.

danilov

по-моему
for(int a: values)
смотрится симпатичнее
for(;values.hasNext;){
int a = values.iterator.next;

pitrik2

ок. сколько времени ты пользовался эклипсом?
год WSAD 5
потом переехал на идею
потом месяц эклипс 3.1

pitrik2

можно было просто list.add(1);
это токо в 5 джаве можно

pitrik2

n,Ctrl+Space,Enter,LLi,Enterтип списка, если нужноTab:
мдя
по-видимому нада эклипс 3.2 тянуть
в 3.1 это не работает

psihodog

это токо в 5 джаве можно
так она уже давным давно вышла
уже шестая намечается

psihodog

+1

pitrik2

так она уже давным давно вышла, уже шестая намечается
ага, ты это работодателям объясни

danilov

Попробовал эклипс - прикольно.
есть минус - в дебиане только 3.1 а со стороны скачать влом
и плюс - в 3.1. таки поддерживается синтаксис 1.5

enochka1145

Что, в каком-то дистрибутиве Linux уже есть Eclipse? Круто! Я только про SWT в SUSE слышал.
Ну что ж, должны же в дистрибутивы Linux включать какие-то правильные вещи, а не только всякие ash, bsh, csh, ..., ksh, ..., zsh, kedit, gedit, nedit, kdevelop и прочую лабудень.

danilov

А что в каком-то нет?
Среди меня бытовало мнение, что почти все linux дистрибы имеют практически одинаковые наборы пакетов. Это не так?
В любом случае, по сравнению с идеей он просто летает.
А в нём привязки клавиш можно менять?

enochka1145

В дистрибутиве Linux будет то, что в него напихает дистрибутор.
В Эклипсе можно всё, это же open source. Берёшь (импортируешь) плагин (скажем, org.eclipse.ui.editors открываешь его plugin.xml, находишь нужный extension (например, org.eclipse.ui.bindings) и вперёд.
Другой вопрос, а нафига. Чтобы сделать как в Идее? Это бред. В эклипсе горячие клавиши подобраны не менее разумно.

bansek

Раз ты спец по эклипсу, можно я буду задавать тебе вопросы вида "как сделать в эклипсе вот это"?
Я думаю это будет полезно не только мне, а потом из таких вопросов-ответов можно будет сверстать migration guide =)

enochka1145

Задавать-то можно...
Я бы тебе книжек посоветовал, типа старенькой Contributing to Eclipse, но в Eclipse реально хороший Help
Если тебя интересует программирование плагинов под Eclipse, всё есть в Help Contents > Platform Plug-in Developer Guide > Programmer's Guide. Покрутись там, и всё поймёшь, хоть и может не сразу.
Ещё есть тематические статьи на www.eclipse.org/articles

evgen5555



но в Eclipse реально хороший Help
Это та х%йня в виде панельки справа, выдающая туевы хучи говна из гугл?

enochka1145

?
Вот как выглядит хелп для Eclipse: http://help.eclipse.org/help32/index.jsp

bansek

не
хелп помогает слабо, т.к. мне бывают нужны весьма конкретные вещи, к которым я привык в идее, а что именно искать в этом хелпе я не знаю
раздел tips & tricks уже прочитал =)

enochka1145

что именно искать в этом хелпе я не знаю
А что тебе нужно?
Оставить комментарий
Имя или ник:
Комментарий: