Чому я викладаю Eclipse, Комерція, Різне, статті

Зміст



Кожне просування в технології розробки програмного забезпечення вимагає паралельних змін інструментів розробки. Як викладач, який навчає майбутніх розробників ПЗ, я постійно зважую педагогічні підходи щодо потреб моїх студентів в інструментах. При такому високому зростанні технологій я вважаю, що потрібно постійно бути в курсі нових інструментів розробки.


Однак, з одного боку, я розумію, що якщо викладачі коледжу не будуть застосовувати в навчанні хороші інструменти, студенти хоч і вийдуть із значним багажем теоретичних знань, ці знання буде складно застосовувати на практиці. З іншого боку, навчання студентів використанню “промислових засобів” потребує великої кількості часу. Було б все ж непогано знати напевно, які інструменти заслуговують вкладення сил. Згадайте, наприклад, інструменти CASE, поширені в 80-х. Ми витратили багато часу на їх навчання, і скільки з них використовується сьогодні?


На щастя, останнім часом ситуація для мене значно спростилася. Eclipse дуже близький до ідеального оточенню розробки програмного забезпечення та при цьому широко застосовується на підприємствах. Вам не потрібно знати все про його використання для того, щоб використовувати його ефективно. Він настільки гнучкий, наскільки ви побажаєте.


Якщо ви не знаєте, що таке Eclipse, рекомендую вам спочатку поглянути на web-ресурс Eclipse. Перше висловлювання на головній сторінці говорить про все: “Eclipse це різновид універсальної платформи інструментів – відкрита розширювана IDE для всього відразу і нічого в окремо “. Це справжній швейцарський армійський ніж для розробника. Звучить надто добре, щоб бути правдою? Більшість з нас знає, що якщо якийсь інструмент намагається вмістити в себе всю можливу функціональність, то в реальності ми не отримаємо від такого кошти практично нічого. Однак це зовсім не належить до Eclipse!


Що ж робить Eclipse настільки придатним для академічного використання? Ось кілька переваг:



Отже, розглянемо ці пункти більш докладно.


Eclipse надає узгоджений набір функцій на більшості платформ


В Вустерський політехнічному інституті ми не вивчаємо якусь певну платформу. Студенти зазвичай самостійно вибирають ту платформу, яка їм найбільше підходить. Більшість з них мають тільки один комп’ютер, і багато хто має кілька комп’ютерів. Комп’ютери в наших лабораторіях по всьому студентському містечку працюють на різних операційних системах. Це одна з причин, по якій ми хочемо уникнути вибору таких завдань, які вимагають використання будь-якої певної платформи, наприклад Microsoft ® Windows.


При призначенні на заняттях великих командних проектів я хочу, щоб студенти були огороджені від вибору платформи і концентрувалися на основному завданню. Eclipse підтримує цю мету, тому що він працює на всіх платформах, які ми використовуємо: Windows, Linux і MacOS X. Найважливіше те, що Eclipse функціонує однаково на кожній з цих платформ, тобто я можу повноцінно працювати зі студентами, не будучи експертом у вибраній ними платформі.


В дійсності, незалежно від того, яку платформу ви використовуєте, Eclipse виступає як додаток, створене для цієї платформи. При завантаженні дистрибутива Eclipse ви завантажуєте версію для вибраної вами платформи. Eclipse має окремими візуальними інструментаріями для кожної з платформ. Це дозволяє йому виглядати природно і покращує продуктивність.



Eclipse підтримує більше ніж Java


Справжні переваги використання Eclipse ви побачите тоді, коли зрозумієте, що це не просто платформа для Java-розробки. Філософія Eclipse сформована в архітектуру технології: вона забезпечує невелике ядро, що дає розробникам узгоджений спосіб розширення системних можливостей. Кожне розширення або плагін сприяє окремої функціональності в конфігурації Eclipse і може забезпечити точки розширення, які можуть використовувати інші плагіни.


Архітектура плагінів дозволяє Eclipse підтримувати безліч мов і парадигм. Прикладами плагінів є:



Недавно я розглядав директорію моїх улюблених плагінів Eclipse (www.eclipse-plugins.info/eclipse/index.jsp) І виявив в ній 51 плагін для підтримки мов. Незалежно від мови, з яким ви працюєте, є шанси, що існує відповідний плагін для Eclipse. Мови Haskell, ML, Prolog і GOO також підтримуються. Без ретельного розгляду прикладу Eclipse, представленого на рисунку 1, ви навіть не зможете сказати, з якою мовою я працював, з Java, C + +, Ruby або з будь-яким іншим з можливих.


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


Навчання моїх студентів використанню Eclipse зазвичай займає одне або кілька курсів лекцій. Це не велика ціна, яку доводиться платити за переваги, які отримують студенти і за те, що я отримую їхню роботу в єдиному форматі. Оцінювати роботу студентів набагато простіше, якщо я можу легко завантажити і запустити їх проекти.

Малюнок 1: Типовий вид Eclipse

Рисунок 1. Типовий вид Eclipse


Eclipse надає відкритий код, є безкоштовним і повністю підтримується розробниками


Ініціатива надання відкритого коду довела, що безкоштовне програмне забезпечення не обов’язково є неякісним. Як би там не було, такі компанії, як RedHat також розуміють, що дуже важливо надавати користувачам підтримку. І дійсно, Eclipse має дуже активним спільнотою, яка бажає допомагати у вирішенні будь-яких проблем. Крім того, Eclipse є базою для безлічі комерційних програмних продуктів, включаючи IBM Rational Tools, тому безліч постачальників надає додаткову підтримку.


Як стверджувалося в одній телереклама, “безкоштовно” – це хороша ціна, і це особливо вірно для академічної спільноти. IBM, Microsoft та інші компанії надають прекрасні програми, що допомагають викладачам і студентам отримувати програмне забезпечення за низькою ціною або безкоштовно. Без їхньої допомоги вартість навчання в коледжі була б ще вище. Платформа Eclipse та її безліч безкоштовних плагинов допомагають студентам робити все, що їм необхідно. Більше того, велика кількість безкоштовних плагінів дозволяють студентам без особливого ризику розширювати горизонти та використовувати нові мови та інструменти. Для мене, як для викладача, це теж важливо, тому що я постійно розшукую нові можливості для демонстрації їх студентам. На жаль, я змушений брати плату в розмірі $ 100 за курс, тому для моїй совісті краще, щоб студенти використовували саме безкоштовне ПО, і загальна вартість курсу не зростала.


Двоє з моїх студентів нещодавно закінчили великий кваліфікаційний проект (MQP), що є вимогою для отримання WPI. Метою їхнього проекту було створення такого собі “пристосування” для Eclipse, яке дозволило б здійснювати взаємодії з об’єктами створених класів без необхідності в написанні повної програми. Вони виконали чудову роботу, проте ніколи не змогли б досягти таких результатів без підтримки спільноти Eclipse. У важких ситуаціях вони залишали повідомлення у відповідних групах новин і отримували відповіді на питання. Це допомогло моїм студентам не тільки закінчити роботу, а й стати частиною групи професійних розробників. Така підтримка буде неоціненною в їх майбутній кар’єрі.



Eclipse є повністю розширюваною і настроюється платформою


Протягом багатьох років я працював з безліччю інструментів, що рекламуються як розгортаються і настроюються. Однак після їх придбання я знаходив, що їх налаштування зовсім не так проста, як було заявлено. Перший подібний досвід я набув у 1974-му році. Мені необхідно було адаптувати комп’ютер Datapoint і продавець повідомив мені, що можу зробити це за допомогою їхньої нової системи. Я замовив систему з величезним на ті часи диском в 5Мб і став чекати. Коли мені доставили замовлення, я знову звернувся до продавця з питанням. Мені відповіли, що адаптація можлива, проте фірма поки не має програмним забезпеченням для цієї мети і мені необхідно написати його. Після цього я витратив кілька тижнів у Сан Антоніо, штат Техас, дізнався багато нового про операційні системи та мовою assembler. Я був здатний розширити програмне забезпечення так, як мені було необхідно. Урок з цього один – “розширюваність” знаходиться в руках розробника.


Eclipse поза сумнівом є повністю розширюваною. Істинне задоволення працювати з настільки добре створеним програмним забезпеченням. Зараз я пишу плагін, розробка якого займе більше часу, ніж пішло в мене на виконання роботи в далекому 1974-м, однак тепер я можу виконувати набагато складніші задачі. Крім того, існує спільнота Eclipse, завжди готове прийти на допомогу, тому, як мені здається, процес розробки буде більш приємним і кінцевий продукт буде в меншій мірі схильний до помилок.


Сторінка проекту Eclipse, присвячена плагінам (див. розділ Джерела) містить 825 пропозицій, що є доказом розширюваності платформи. Як і для більшості програмного забезпечення Eclipse, установка плагінів виконується дуже просто. В останній реалізації Eclipse процес ще більш спрощений – ви можете просто вказати в Eclipse певний сайт і натиснути кнопку завантаження. На рисунку 2 показаний Майстер завантаження плагіна AspectJ Development Tools. Якщо необхідний вам плагін поки не підтримується на сайті оновлень, його можна завантажити і розпакувати у відповідну директорію самостійно. Для установки самої платформи Eclipse її потрібно просто розпакувати і, якщо у вас встановлено і налаштовано Java-оточення, ви вже готові до роботи.


Не всі плагіни Eclipse є безкоштовними. Безліч комерційних продуктів поставляються, як плагіни Eclipse або вже вбудовані в Eclipse. Приміром, останній реліз інструментів IBM Rational Tools вже встановлений в Eclipse. Сюди включено IBM Websphere, що надає безліч розширень в Eclipse. Після установки цих інструментів ви можете створювати до них розширення, також як і інші плагіни Eclipse. Подібна гнучкість повинна принести велику вигоду організаціям, які застосовують інструменти на основі Eclipse.

Рисунок 2: Майстер інсталяції плагіна AspectJ Development Tools

Рисунок 2. Майстер інсталяції плагіна AspectJ Development Tools


Eclipse є повністю настроюваної платформою. Її архітектура дозволяє настроювати кожен плагін. Навіть після використання Eclipse протягом кількох років, я переконаний, що до цих пір не відкрив всі його можливі конфігурації, проте знайшов достатньо для того, щоб відчувати себе упевненим при роботі в його оточенні.


Налаштування Eclipse здійснюється у вікні Preferences, як показано на Малюнку 3. Як ви бачите, я змінив деякі настройки Java-компілятора. Ви можете інтерпретувати кілька типів Java-порушень різними способами, а панель Compiler у вікні Preferences дозволить вам вирішити, що є помилкою, що попередженням, а що допустимо. Новий Java-редактор дозволяє згортати необхідні частини коду або переглядати тільки той метод, над яким ви зараз працюєте.


Я виявив, що дуже легко вказати стиль кодування, визначивши його у властивостях Eclipse, а потім використовувати цей стиль спільно з іншими розробниками. За допомогою простого поєднання клавіш (SHIFT-CTL-F для систем Windows) код буде автоматично відформатований відповідно до заданого вами стилем.

Малюнок 3: Вікно властивостей Eclipse

Рисунок 3. Вікно властивостей Eclipse

Конфігуровані Eclipse нагадує конфігуровані Emacs. Якщо ви є користувачем Emacs, ви, швидше за все, побажаєте додати власні макроси і гарячі клавіші для визначення вашого стилю кодування. Eclipse дозволяє це зробити.



Eclipse повністю підходить для роботи на підприємствах


Корпорація IBM розробляла Eclipse як патентовану платформу, проте в 2004-му році IBM допомогла сформувати некомерційний фонд Eclipse для здійснення нагляду за подальшою розробкою технології. Тепер рада директорів Eclipse схвалює нові підпроекти, а фонд залучає комерційні організації, академічні та дослідницькі організації, групи стандартів і так далі для того, щоб проект Eclipse завжди знаходився на передньому краї індустрії інструментів розробки. Це означає, що ви можете покластися на Eclipse як на життєздатний, придатний для розробки на підприємствах інструмент осяжного майбутнього.


Коли я представляю Eclipse моїм студентам, я знаю, що цей час буде витрачено з користю. Eclipse це щось, що вони зможуть використовувати у своїй подальшій роботі, тому що він вже використовується безліччю організацій. Якщо їх організації ще не використовують Eclipse, студенти зможуть представити його самі. Перш за все, Eclipse має функції, які знадобляться для створення високоякісного програмного забезпечення. Я постійно привожу моїм студентам приклади процесів та інструментів, і Eclipse виразно ілюструє всі переваги хороших інструментів.


На моїх заняттях з розробки програмного забезпечення студенти вивчають в якості мінімуму наступні теми:



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



Підведення підсумків


Не всі студенти вивчають Eclipse. Деякі з них залишаються вірні текстовим редакторам начебто Textpad ® та виконання програм з командного рядка. Між тим, більшість моїх студентів, які вивчили Eclipse, йдуть з найкращим розумінням всієї потужності використання хороших інструментів розробки і зі зростаючою впевненістю у власній здатності працювати більш ефективно у великих проектах розробки програмного забезпечення.


Далі я привожу два коментарі, зроблені моїми студентами щодо досвіду роботи з Eclipse в моєму останньому проекті розробки:


Студент 1: Раніше я думав, що інструменти на зразок Eclipse виконують за вас занадто багато роботи і роблять з вас ледачого програміста. Коли я побачив наскільки більше можна зробити з таким інструментом, що беруть на себе тривіальні завдання з написання коду, я з подивом став дивитися на інших програмістів, які уникають використання інструментів на зразок Eclipse. Узгоджене форматування, інтуїтивна налагодження, вбудована підтримка CVS і JUnit, короткі викладу та ієрархії класів і пакетів, а також наявність до всього цього інтерфейсів GUI – все це роблять Eclipse великою підмогою в роботі.


Студент 2: Вивчення використання просунутого GUI-інтерфейсу, такого як Eclipse, для розробки програмного забезпечення було просто чудовим. Він дозволяє позбутися від великої рутинної і тривіальної роботи, надаючи більше часу для обдумування основного коду і важливих алгоритмів.


Звичайно ж, студенти часто стикаються з проблемами, але це буває при використанні будь-яких продуктів. У деяких використання візуального редактора призводить до збою Eclipse. Деякі знаходять Eclipse повільним і перенасиченим функціями, які їм не потрібні6 . Але багато хто все ж змінили свою точку зору. Велика частина досвіду є позитивною і реальною.


Навіть ті студенти, які поки не полюбили Eclipse, але вивчили реальне програмне забезпечення і усвідомили високий рівень якості, я сподіваюся, зможуть зрозуміти всі переваги цього продукту до кінця навчання. Вони побачили, як проектувати і реалізовувати надійний продукт і зрозуміли, наскільки корисними можуть бути інструменти. Якщо ви ще не пробували Eclipse – рекомендую вам це зробити, не пошкодуєте!


Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*