BlueJ — java IDE для новичков

    image
    Пару лет назад я начал изучать программирование. Учился я в сфере, вообще не связаной с IT. Поэтому все учил сам. Статьи на хабре, различные туториалы и видеоуроки. После долгого гугления, я твердо решил, что хочу изучать Java. Причина такого выбора была банальна. Я нашел отличный онлайн курс, который был мне понятен.
    Как в большинстве курсов, там использовался Eclipse IDE. Друзей-программистов, которые могли бы мне помочь, не было. И я с ужасом вспоминаю, как тяжело мне пришлось. Читая книгу и смотря уроки, я все понимал. Но почему-то, в эклипс это не запускалось. Те вещи, которые кажутся такими простыми для меня сейчас, на тот момент были непосильны. Иногда, изучая одну часть чего-либо, хочется полностью абстрагироваться от другой. На тот момент, моей задачей было понять, что такое переменная, научиться писать циклы, попробовать конструкцию if-else. А мне пришлось принимать решение, какой вид проекта я создаю. Запускать как программу или Апплет. Импортировать библиотеки и добавлять их в classpath. И тут часто встречаются моменты, которые на уроках пропускаются. А если ты совершишь маленькую ошибку, твое приложение может вообще не запуститься.

    Вывод такой, что полному новичку нелегко разобраться в полноценном IDE, таком как Eclipse, NetBeans или IDEA. Я знаю много людей, которые отбросили идею программировать после первых попыток. Не из-за того, что не понимали концепций девелопмента, а именно из-за тяжелой настройки и разных конфигурационных моментов, с которыми они столкнулись в самом начале.
    Так вот недавно, на сайте Oracle, я увидел рекламу: Bluej — Java IDE для новичков. Стало интересно, скачал, попробовал… И согласился с рекламой, что с таким IDE новичку будет, несомненно, проще изучать азы языка Java. Считайте эту статью небольшим введение в данный продукт.

    Что это такое?

    BlueJ — это бесплатная Java IDE, создана для начального обучения программированию специалистами британского Университета Кента, австралийского Университет Монаша и компании Sun Microsystems. Продукт этот совсем не новый, его разработка началась в 1999 году. В 2009 его сделали open source. Существуют три основные версии BlueJ: Windows, Mac OS X, Ubuntu. Интерфейс BlueJ переведен на много языков, включая русский.

    Как работать с BlueJ?

    Давайте создадим небольшую программку, а-ля «Hello World» для наглядной демонстрации продукта.

    1. Скачиваем BlueJ с оф. сайта. Есть версии уже с JDK, что тоже облегчит работу. Можно JDK установить отдельно.
    Запускаем IDE (у меня версия 3.1.1) и видим такую картинку.

    image

    2. Нажимаем Project-New Project и дописываем / имя вашего проекта. Я назвал Birds.

    image

    3. Жмем кнопку New Class, всплывает окно. Вводим имя класса (Zoo) в текстовое поле, выбираем тип Class и жмем ok. У нас появился прямоугольник с именем нашего класса.

    image

    4. Кликаем дважды на прямоугольник — и класс уже открыт. В готовом классе IDE сразу вставил пример кода: комментарии, поле, конструктор и метод. Мы же заменяем его так, как видно на картинке.

    image

    5. Нажимаем Compile(Внизу должно быть написано: Class compiled — no syntax errors.). Жмем Close.

    6. Кликаем правой кнопкой мышки на наш класс и выбираем наш главный метод: void showBirds(). Должно появиться окно терминала с результатом нашего кода.

    image

    Можно сразу зупускать любой static метод. Либо вначале создаем сущность нашего класса(правой кнопкой мыши new Main()), а потом правой кнопкой зыпускаем любой метод. Слово public можно пропускать. Если вы используете main(String [] args) метод, то нужно передать {} виде параметра.

    Что еще?

    Проект показывается как UML диаграмма. Можно прямо в главном окне добавить пакеты, установить наследование или указать, какой класс что использует. Можно настоить размер шрифта и разные мелочи в редакторе. А также задать комбинации клавиш. BlueJ даже имеет свои extensions.
    Я не нашел code completion, что, наверно, даже хорошо для специалистов того уровня, на который рассчитан BlueJ. Будет возможность лучше запомнить названия методов и синтаксис языка. Имеется вполне приличный дебаггер.

    Лично мне использовать BlueJ очень понравилось(под Ubuntu один раз завис, но перезапуск быстро решил проблему без потери данных). Думаю, можно смело советовать эту IDE новичкам программирования, которые решили учить Java. Для тех, кто уже знаком с программированием и просто решил выучить новый язык, это не будет оптимальным выбором. Также BlueJ может быть полезна опытным разработчикам для быстрого решения некоторых узких задач. BlueJ — это инновационный проект, и даже Microsoft однажды нагло хотела запатентовать их наработки.
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 35

      –17
      Если человек даже IDE настроить не смог, не быть ему значит программистом
      • UFO just landed and posted this here
          –4
          Вы давно смотрели к примеру настройки Intellij IDEA (я о количестве всего что можно настроить)?

          Честно? Давно) Я в студии в основном работаю. Разве эта IDE требует какой-то специальной настройки, чтобы в ней можно было запустить Hello World? А на проекты серьезней этого описываемая BlueJ вряд ли рассчитана.
          В свое время я запускал и Eclipse и NetBeans и писал в них те же Hello World, никаких проблем не было. Про студию вообще молчу.
            +1
            Вот сколько раз ставил webstorm/idea/… в настройки лезу только сменить цветовую схему.
          +1
          Ну неплохая… наверное… IDE для школы.
          Уже студентам его функционала не хватит.
            +1
            Преподаватель в университете (кстати он вроде как локализовал BlueJ на русский) рекомендовал студентам использовать именно эту IDE, он не одобрял всякие NetBeans, например, где можно накидать окошек. Только хардкор.
            Как раз-таки для студентов (опять же, зависит от студентов) мне кажется что самое то, зато когда уже работаешь с реальными проектами с IDE с большим функционалом работается полегче. Тяжело в учении, легко в бою.
              +1
              Почему-то когда я слышу, что преподаватель информатики «не одобряет» какую-то технологию, мне всегда кажется, что это скорее характеризует его, чем технологию.

              А трудности должны быть естественными, чтобы не вызывать у ученика когнитивный диссонанс и не отбивать у него интерес к предмету.
                0
                — я не очень понимаю хардкора «вручную прописывать интерфейс» для студентов… Точнее его я не понимаю вообще.
                — для заданий на тему лайотов можно установить ограничение «только на GridBagLayout» — оно резко обломает халявщиков — нет к нему утилит для «накидывания формы»
                — накиданный интерфейс от вручную закодированного отличается легко и непринуждённо
                — обучаться надо чему-то реальному. При работе в netbeans/eclipse/idea вы помимо собственно кода увидите и сможете настроить проект, архитектуру, увидите многие интересности/сложности.
                — опыт BlueJ неприменим в практической жизни.

                Извините, но положительного отношения такие «преподаватель в университете» у меня не вызывают. Они просто свою лень переносят на выбор инструмента.
                  0
                  Соглашусь с этим, обучить меня программированию преподаватель так не смог (возможно из-за моей лени), поэтому я решил пойти в другую сферу, где чувствую себя комфортнее.
                    0
                    Для школьников действительно хорошая вещь.
                    А студентам IT-сферы обязательно нужно учиться работать с настройками и понимать взаимосвязи и сложности реального мира.
                    Чтобы если из-под капота пошел дым, можно было открыть и хотя бы определить проблему, если не решить самостоятельно.
                    Потому что у ведущих специалистов ну очень мало времени на поиск причин подобных проблем. А зная причину проблему можно выдать решение на несколько секунд, особо не задумываясь.
                      0
                      Не очень понял… вы с какими-то моими тезисами не согласны? Если так — уточните пожалуйста.

                      А по поводу настроек IDE — практически не сталкиваюсь с ними (дефолтные меня устраивают почти полностью).
                +6
                Через неделю его уже не хватит. И что делать? Учить опять новый IDE?
                  +2
                  А что тут учить? 5 кнопок и 5 менюшек?
                    +2
                    Концепты. Вдруг окается что не любой статический метод можно запустить. Окажется что у классов есть пакеты и т.д.
                      +1
                      Тут вопрос мотивации новичков.
                      Если на начальном этапе убить мотивацию — программистом он уже никогда не будет.
                      Подчеркиваю — никогда. И исключения здесь только подтверждают правило.
                      Поэтому вначале завоевываем мотивацию, а потом уже показываем, что не все просто.
                      Еще бы сделали эту IDE в виде процесса знакомства с реальностью, которая постепенно, по шагам дает тебе узнать про неизвестные ранее вещи, дозируя сложность… Но это мечты, мечты. :-)

                      P.S. Учитывая, как трудно найти адекватных специалистов, лучше уж так, чем сразу отметать потенциал новичков.
                        –1
                        Я себе не представляю новичков, которые бы научились на BlueJ и пошли дальше в нормальную IDE, но не способных сразу начать с нормальной IDE. Если не смотреть на Eclipse и прочих подобных монстров — работа с хорошей IDE не сложнее, чем с BlueJ
                        0
                        А как Вы изучали IT?
                        Согласитесь, что Вы знакомились со сложностью мира постепенно.
                        И наверняка перед программированием уже несколько лет разбирались с устройством компьютеров на прикладном уровне, на уровне ОС, на уровне железа. Процессор, память, жесткий диск, BIOS, MS-DOS…
                        С такой подготовкой программирование — это просто очередной этап.
                        А когда человек пытается из прикладного уровня попасть на уровень программирования — встает непреодолимый барьер этих «невидимых» ему уровней знания.
                          +1
                          Не соглашусь — я начал знакомство на spectrum-совместимых компьютерах и Basic начал изучать до изучения архитектуры компьютера. А в какой-то момент и хекс-дебаг смотрел (и даже правил) на zs scorpion.
                    0
                    Ну не знаю, не знаю… вполне возможно, что такого рода IDE действительно хороша для совсем новеньких в программировании…

                    Хотя если, к примеру, говорить про туже Java, то есть ну просто огромнейшее количество различного рода литературы, манов, статей. Тем более, что для вопросов существует поисковик и всегда в строке гугла можно написать «create hello world project ».
                    Сейчас еще и куча курсов появилась (сам так джаву учил, по видеоурокам), есть и на русском. Чего только один Хекслет стоит (простите за пиар, но мне курс реально понравился!).

                    Так что я все понимаю, и новичок — это новичок, для него многие на первый взгляд «очевидности» совсем могут быть не очевидными, но не стоит прям так сильно «упрощать» себе жизнь, ИМХО.
                      0
                      Интересно, а где вы увидели упрощение? Человек как страус — спрятал голову в песок и всё. А то, что выход за учебные задачи будет сопровождаться адской болью — даже задумываться не хочет.
                      +2
                      Помню, как начал учить джаву. Самым сложным в Hello World было собрать запустить программу (делал все в консоли — давно это было, во времена начала диалапа в России).
                      Около 4 часов промучался, в результате нашел ответ в интернете.
                      С другой стороны IDE вроде IDEA позволили бы это сделать сразу, и базовые возможности там на самом виду. Не думаю, что сейчас такая IDE для новичков имеет смысл.
                        +1
                        Да ну?
                        Запустить программу в IDEA, когда впервые знакомишься с ее интерфейсом, не так-то просто.
                        Нужно догадаться щелкнуть правой кнопкой мыши по имени класса с методом psvm.
                        И то сработает только в том случае, если безошибочно написана сигнатура, а иначе никогда не найдешь опечатку, если она разрешена синтаксисом языка. :-)
                          0
                          Зачем все эти сложности? Сейчас не вспомню, как это делается в IDEA (не было такой потребности), но когда изучал Java работал в NetBeans — жмакаем кнопочку «start» в панели инструментов, если ранее в проекте ран-класс выбран не был — получаем список классов, содержащих корректное объявление main-метода.
                        +2
                        Я как-то работал с австралийской конторой. Java там была сбоку совсем, не в приоритете. Приставили за мной присматривать девочку-вьетнамку, которая кроме этого BlueJ, собственно, ничего не знала по теме Java _совсем_.

                        Что ж, это было печально :-) Тогда я и в первый раз об этой среде услышал, и тогда же задумался — как это я без неё в своей жизни обошёлся и никак, как мне и не только мне кажется, не пострадал :-)

                        Тяжело в учении — легко в бою должно быть. Я Java начинал на втором курсе в Vim'е и со временем лишь повышал уровень удобства среды.
                          0
                          Notepad++ — IDE для новичков. Начинать надо с него. Ну и с шелла, конечно.
                            +1
                            Geany тоже неплохая штука
                              0
                              Да ладно, я и в nano простенькие скрипты писал. :)
                              +2
                              Также BlueJ может быть полезна опытным разработчикам для быстрого решения некоторых узких задач.
                              Сомнительно.
                              Если по каким-либо причинам нельзя установить идею, то проще написать код в Far Manager/другом привычном редакторе и скомпилировать из командной строки, а не устанавливать ничего не умеющую «IDE». Это будет и быстрее и удобнее.
                                0
                                В списке возможностей bluej есть такие: можно разрабатывать и запускать Java ME проекты, создание executable JAR, интеграция Junit — ручное и автоматическое(запись) создание тест кейсов. Список этим не заканчивается. Я думаю, что James Gosling — создатель java, не зря сказал, что bluej одна из его самых любимых ide.
                                  +1
                                  На BlueJ можно написать полноценный JUnit, например.
                                  Вот и скажите после этого, что это «ничего не умеющая IDE».
                                  Вопрос подхода к разработке.
                                    0
                                    Вот вопрос вам — вы java-девелопер? Реально оцените, какой процент задач(видов работы) удастся закрыть с помощью этой IDE? В моём проекте ~10-20%.
                                  0
                                  Неплохо она поменялась за два года. Расширения добавились, сайт переоформили.
                                    0
                                    > 3… Жмем кнопку New Class, всплывает окно. Вводим имя класса (Zoo)
                                    > 4. Кликаем дважды на прямоугольник — и класс уже открыт.
                                    А почему в открытом классе написано public class Main?
                                      0
                                      Спасибо, исправил.
                                      0
                                      Я для обучения школьников основам Java и ООП использую Greenfoot — получается очень наглядно: вот тут классы и как они наследуются, а вот тут поле, на которое вытаскиваются абсолютно независимые экземпляры классов/объекты. Тоже можно вызывать методы, смотреть свойства, есть отладчик… Довольно удобно и весело.

                                      Only users with full accounts can post comments. Log in, please.