Eclipse как IDE - Что Вы находите пропавшими без вести как новичком в Java?

Я думаю, что первый вопрос: какую программу было бы интересно создать? Одной из вещей, которые запустили меня с программирования как ребенок (в основной Би-би-си и затем QBasic) была простота записи графических программ. Я мог записать несколько строк кода и видеть, что моя программа немедленно чертила линию на экране.

самое близкое я видел к такой простоте, недавно pygame библиотека для Python и Обработка , ряд библиотек Java с IDE.

я предполагаю, что взламывание на веб-страницах должно было бы иначе начать: это повлекло бы за собой HTML, JavaScript (пользующийся библиотекой как jQuery), возможно, PHP или что-то вдоль тех строк.

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

16
задан Jay 23 November 2009 в 08:16
поделиться

19 ответов

В Eclipse отсутствуют:

Визуализация программного обеспечения, например, System Complexity View [Lanza 2003]

А также Lanza, Blueprint классов [Ducasse 2005]

Post Scriptum: Визуализация программного обеспечения в Eclipse: X-Ray обеспечивает представление системной сложности проектов Java, http://xray.inf.usi.ch/xray.php (через @anjaguzzi и Paul Lammertsma )

Software Visualization

А затем совместная фильтрация «другие разработчики, которые редактировали этот метод раньше, также редактировали» [Zimmermann 2005]

И сборник доступные для просмотра примеры и автозаполнение на уровне этих примеров. То есть, целевой тип данных из заданных типов входных параметров. http://doi.acm.org/10.1145/1453101.1453129

  • Prospector поддерживает разработчиков, рекомендуя последовательности вызова методов, которые дают необходимые целевой тип данных из заданных типов входных параметров. http://doi.acm.org/10.1145/1064978.1065018
  • Strathcona предоставляет примеры исходного кода и структурные конструкции. текст разрабатываемого фрагмента кода. http://lsmr.cpsc.ucalgary.ca/papers/holmes-icse-2005.pdf
  • Rascal рекомендует, как и когда вызывать методы объектов из общих библиотек, таких как Java Swing, на основе анализа существующих классов. Он использует совместную фильтрацию. http://dx.doi.org/10.1007/s10462-005-9012-8
  • И, конечно же, функция, с помощью которой я могу написать модульный тест, а затем IDE ищет в межсетях классы, которые проходят контрольная работа. Да, это можно сделать!

    • CodeGenie - это подключаемый модуль Eclipse, который позволяет писать модульные тесты, а затем использует поисковую систему исходного кода Sourcerer для поиска проходящих классов. http://doi.acm.org/10.1145/1529282.1529384
    • CodeConjurer, основанный на Merobase, также предлагает эту функцию, см. http://dx.doi.org/10.1109/MS.2008.
    17
    ответ дан 30 November 2019 в 15:44
    поделиться
    • простота
    • ясность
    • согласованность

    Я мог бы написать это гораздо подробнее, но я думаю, что eclipse слишком тяжелый и слишком ориентирован на функции, а не на простоту использования. ИМО, это касается как новичков, так и профессионалов.

    1
    ответ дан 30 November 2019 в 15:44
    поделиться

    Другая непонятная часть заключается в том, что для веб-разработки необходимо использовать отдельную версию! Ну, мне это совсем не понравилось, и я знаю, что многим это просто не нравится.

    0
    ответ дан 30 November 2019 в 15:44
    поделиться

    Я думаю, что проблема со всеми IDE для начинающих - это отключение от цепочки инструментов: как компилятор берет какой-то источник и компилирует его в байт-код, который я затем запускаю с помощью виртуальной машины с правильно настроенным путем к классам .

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

    1
    ответ дан 30 November 2019 в 15:44
    поделиться

    Интеграция VCS - обычно разработчик также плохо знаком с объединением изменений, поддержанием синхронизации рабочих копий, разрешением конфликтов и т. Д. Часто есть несколько способов добиться того же в Eclipse, и я несколько раз видел, как это вызывает путаницу (на самом деле, я видел это и с опытными разработчиками; они знают Subversion, но не Eclipse, и последний пытается `` скрыть '' 'основные операции с репозиторием).

    1
    ответ дан 30 November 2019 в 15:44
    поделиться

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

    3
    ответ дан 30 November 2019 в 15:44
    поделиться

    Как новичок, я не занимался EJB или Struts. Или даже сопоставление источников данных. Так что я думаю, что заголовок вопроса может немного ввести в заблуждение.

    Я был бы признателен за то, чтобы было встроено что-то вроде JadClipse, чтобы «смотреть на» код библиотеки, когда я нажимаю на него при отладке или что-то подобное. Но следует ОЧЕНЬ ясно дать понять, что это «восстановленный код» и не предназначен для того, чтобы его можно было взломать.

    Во-вторых, новички должны быть более осведомлены о том, что Shift-F2 предоставит им документацию API для любого класса / метод, на который они смотрят. Я знаю слишком много начинающих программистов на Java, которые изучают свои API, просто завершая код; им не хватает многих ценных советов, предоставленных авторами библиотеки.

    2
    ответ дан 30 November 2019 в 15:44
    поделиться

    «проблемы для новичков» Я видел себя (я использовал Eclipse довольно долго, но время от времени меня «удивляет») и помогал коллегам, только начинающим использовать Eclipse :

    • Он достаточно большой и сложный, чтобы поначалу многих пугать. Кажется, люди изначально считают, что netbeans проще в использовании. Один коллега укрылся с редактором VI на какое-то время ...
    • Установка плагинов может быть сложной задачей (поиск URL-адресов сайтов, осведомленность о плагинах, почему «установить» + «обновить» в меню «Справка» ???)
    • Обновления Eclipse 3.5 / Galileo все еще медленные (но намного лучше, чем раньше). Иногда трудно понять, какие плагины устанавливать, просто по их имени.
    • Любая платформа, кроме Mac - настройки в меню «Окно» кажутся нелогичными?
    • Понимание того, как аккуратно установить путь к классу проекта. Установка правильной версии JDK проекта.
    • Отсутствие или неожиданное взаимодействие между путем к классам средств сборки ant / maven и путем к классам eclipse (ant / maven clean вызывает ошибки компилятора Eclipse, когда путь к классам используется совместно и т. Д.).
    • Взгляды и (большое количество) перспектив сначала сбивают с толку / подавляют. Какие когда пригодятся? Как перетаскивать представления в нужное место или восстанавливать закрытые?
    • Для некоторых комбинаций версий JDK / Eclipse требовалось слишком много места PermGen, чем доступно по умолчанию, на диагностику уходило время.
    5
    ответ дан 30 November 2019 в 15:44
    поделиться

    Для меня большинство проблем новичков в Eclipse проистекает из одной из его сильных сторон - возможности конфигурирования и структуры плагинов.

    Когда мне нужно изменить свойство в Eclipse, мне всегда приходится тратить несколько минут на то, чтобы выяснить, чтобы изменить это. Пример: изменение редактора Java на вставку 4 пробелов вместо табуляции. Панель поиска в свойствах всегда приветствуется: -)

    Это, а также отсутствие документации для некоторых плагинов всегда развлекают меня, когда я настраиваю проект.

    РЕДАКТИРОВАТЬ: Вы всегда можете показать классы которые реализуют интерфейс с помощью ctrl-T.

    Я бы добавил, что когда у меня сложный проект, я обычно часто использую Refresh & Project-> Rebuild All * ". И я использую TortoiseSVN для манипуляции данными за пределами Eclipse, потому что во многих случаях это проще (например, некоторый рефакторинг). Однако, если я изменяю проект вне Eclipse, я * всегда выхожу из Eclipse и выполняю полное обновление и сборку, когда я перезапускаю его. В противном случае Eclipse иногда очень запутывается.

    Панель поиска в свойствах всегда приветствуется: -)

    Это и отсутствие документации для некоторых плагинов всегда развлекают меня, когда я настраиваю проект.

    РЕДАКТИРОВАТЬ: Вы всегда можете показать классы которые реализуют интерфейс с помощью ctrl-T.

    Я бы добавил, что когда у меня сложный проект, я обычно часто использую Refresh & Project-> Rebuild All * ". И я использую TortoiseSVN для манипуляции данными за пределами Eclipse, потому что во многих случаях это проще (например, некоторый рефакторинг). Однако, если я изменяю проект вне Eclipse, я * всегда выхожу из Eclipse и выполняю полное обновление и сборку, когда я перезапускаю его. В противном случае Eclipse иногда очень запутывается.

    Панель поиска в свойствах всегда приветствуется: -)

    Это, а также отсутствие документации для некоторых плагинов всегда развлекают меня, когда я настраиваю проект.

    РЕДАКТИРОВАТЬ: Вы всегда можете показать классы которые реализуют интерфейс с помощью ctrl-T.

    Я бы добавил, что когда у меня сложный проект, я обычно часто использую Refresh & Project-> Rebuild All *. И я использую TortoiseSVN для манипуляций с другими Eclipse, потому что во многих случаях это проще (например, некоторый рефакторинг). Однако, если я изменяю проект вне Eclipse, я * всегда выхожу из Eclipse и выполняю полное обновление и сборку, когда я перезапускаю его. В противном случае Eclipse иногда очень запутывается.

    РЕДАКТИРОВАТЬ: Вы всегда можете показать классы, реализующие интерфейс с помощью Ctrl-T.

    Я бы добавил, что когда у меня сложный проект, я обычно использую Refresh & Project-> Rebuild All * a lot ". И я использую TortoiseSVN для манипуляции данными вне Eclipse, потому что во многих случаях это проще (например, некоторый рефакторинг). Однако, если я изменяю проект вне Eclipse, я * всегда" выхожу из Eclipse и выполните полное обновление и сборку, когда я перезапущу его. В противном случае Eclipse иногда очень запутывается.

    РЕДАКТИРОВАТЬ: Вы всегда можете показать классы, реализующие интерфейс с помощью Ctrl-T.

    Я бы добавил, что когда у меня сложный проект, я обычно использую Refresh & Project-> Rebuild All * a lot ". И я использую TortoiseSVN для манипуляции данными за пределами Eclipse, потому что во многих случаях это проще (например, некоторый рефакторинг). Однако, если я изменяю проект вне Eclipse, я * всегда" выхожу из Eclipse и выполните полное обновление и сборку, когда я перезапущу его. В противном случае Eclipse иногда очень запутывается.

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

    потому что во многих случаях это проще (например, некоторый рефакторинг). Однако, если я модифицирую проект вне Eclipse, я * всегда выхожу из Eclipse и выполняю полное обновление и сборку при перезапуске. В противном случае Eclipse иногда очень запутывается.

    5
    ответ дан 30 November 2019 в 15:44
    поделиться

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

    Вместо этого я начал использовать netbeans. намного более интуитивно понятный и простой в использовании. проверьте там графический интерфейс ... не так много кнопок, и большую часть времени вы знаете, что делает кнопка, даже если вы не имеете ни малейшего представления о java (как это было у меня в то время).

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

    1
    ответ дан 30 November 2019 в 15:44
    поделиться

    Все мои другие проблемы с Eclipse уже были упомянуты, кроме одной: это slooooooooow. Была ли их цель доказать правоту людей, которые считают, что "Java медленная"? Я предполагаю, что это связано с тем, что «Eclipse делает все», но я перестал его использовать, потому что он тормозит каждый раз, когда я нажимаю на что-нибудь. Сменить вкладки? Отставание. Открыть настройки? Отставание. Изменить вкладки в настройках? Отставание. Это все равно, что использовать Photoshop с 32 Мб памяти.

    Ой, и это невероятно некрасиво. Хотел бы я получить его с реальной интеграцией GTK +.

    0
    ответ дан 30 November 2019 в 15:44
    поделиться

    В Eclipse отсутствует Maven Embedded в стандартном дистрибутиве, Maven поможет любому пользователю получить для своей программы все jar-файлы и улучшить управление библиотекой. Netbeans уже имеет эти инструменты. Также в eclipse отсутствуют интегрированные инструменты для развертывания hibernate, spring, xfire и tomcat с использованием maven.

    Посетите этот сайт http://maven.apache.org/

    0
    ответ дан 30 November 2019 в 15:44
    поделиться

    Eclipse не имеет визуального конструктора для компонентов Swing.

    Сравните это с Visual Studio, где:

    • щелкните «новая форма»
    • перетащите кнопки и текстовые поля на форму, переместите их, добавьте несколько меток
    • дважды щелкните кнопку, добавьте код
    • готово, одно быстрое приложение, покажите его боссу, получите оплату / продвижение по службе / кофе-брейк

    В Eclipse вам нужно либо вместо этого используйте Netbeans (т.е. не Eclipse ...), или используйте IBM SWT, или кодируйте формы Swing вручную.

    Я считаю, что было бы очень хорошо иметь в Eclipse отличный дизайнер форм wysiwyg для форм Swing.

    1
    ответ дан 30 November 2019 в 15:44
    поделиться

    Недавно я был новичком в затмении, в основном занимался Android и BlackBerry. И одна вещь, которая ускользает от меня по сей день, - это огромное количество опций и настроек и различных мест, в которых они могут быть найдены. Например, если у вас установлен плагин (скажем, плагин BlackBerry), настройку можно найти в общих настройках или параметры BlackBerry или параметры проекта.

    Это всегда охота.

    2
    ответ дан 30 November 2019 в 15:44
    поделиться

    Я обнаружил, что Visual Studio легко подобрать, я пробовал нажимать на каждую кнопку хотя бы один раз и выяснил, что все это делает. Все продумано единой командой дизайнеров на высшем уровне, и все в большей или меньшей степени соответствует стандартам.

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

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

    2
    ответ дан 30 November 2019 в 15:44
    поделиться

    Читатель мыслей, который генерирует код "на лету", так что для завершения проекта достаточно одного щелчка мыши.

    2
    ответ дан 30 November 2019 в 15:44
    поделиться

    Я думаю, что самая большая проблема, с которой я столкнулся (и все еще сталкиваюсь) с Eclipse, заключается в том, что он не особо осведомлен о стандартных технологиях, которые окружают современную разработку на Java. Если я разрабатываю приложение, оно может включать следующее:

    • Spring
    • Maven
    • JSF / Struts 2
    • Subversion
    • JUnit

    Я думаю, что Eclipse обрабатывает эти технологии на возрастающих уровнях осведомленность: (так что с JUnit все будет в порядке, он работает из коробки; Subversion требует Subclipse, и он немного сложнее, чем поддержка CVS; JSF требует установки некоторых инструментов WTP; Maven ... вам, вероятно, лучше всего настроить используйте собственные команды внешних инструментов, а не доверяйте M2Eclipse, если только он не стал значительно лучше в последнее время; и Spring, ну, как вы говорите, попробуйте щелкнуть по методу, удерживая Ctrl, и вы Я почти наверняка получу интерфейс, потому что реализация скрыта за файлом конфигурации Spring).

    Сложнее всего собрать все это вместе и проверить / скомпилировать, а затем скомпилировать / запустить тесты / проверить. Сама смена кода, наверное, проста :)

    4
    ответ дан 30 November 2019 в 15:44
    поделиться

    Вот основные недостающие функции, насколько мне известно:

    • Показывать начало '{', когда вы находитесь в конце '} 'где начало' {'находится вне области просмотра
    • Автоматически синхронизировать редактор с проводником пакетов
    • Перейти в другое представление (проводник пакетов, схема и т. д.) с помощью клавиатуры
    • Встроенный поиск, который не открывает диалоговое окно .
    • Перейти к следующему месту ошибки с помощью клавиатуры
    • Перейти к следующей / предыдущей структуре с помощью клавиатуры
    • Повышенная стабильность в целом .

    Эти функции отлично работают в IntelliJ. Особенно полезны №1 и №5.

    2
    ответ дан 30 November 2019 в 15:44
    поделиться

    Интеграция с android SDK - полная лажа. xml-макеты отображаются некорректно. Завершение кода работает плохо. IBM должна исправить этот косяк.

    0
    ответ дан 30 November 2019 в 15:44
    поделиться