Чия IDE всіх миліше?, Різне, Програмування, статті

В останні роки ми можемо спостерігати драматичні події на ринку засобів розробки, які визначаються двома головними тенденціями. Перша – поділ платформних технологій на два табори: Microsoft . NET і Java / Open Source. При цьому кожен з них використовує власну бізнес-модель роботи на ринку: у першому випадку мова йде фактично про монопродукт Visual Studio, а в другому – є достатньо широкий спектр інструментів, що конкурують у тому числі і один з одним. Звичайно, для боротьби з “зовнішнім ворогом” Java-засоби неминуче повинні якось об’єднуватися, що й демонструють проекти Eclipse і NetBeans. Проте така інтеграція йде на користь перш за все постачальникам платформного ПО, а тим, хто спеціалізується саме на інструментах, доводиться дуже непросто (це видно на прикладі Borland – Див PC Week / RE, № 5/2006, c. 1).

Друга тенденція – розгляд процесу власне розробки ПЗ як одного з етапів управління життєвим циклом додатків (Application Lifecycle Management, ALM). Якщо раніше поняття “інструмент” майже повністю асоціювалося з інтегрованою середовищем розробки (Integrated Development Environment, IDE), що включає редактор коду, компілятор, компонувальник і відладчик, то тепер ми частіше говоримо про інструментальної системі, до складу якої входять засоби підтримки групової роботи, управління вимогами, тестування і т. д.

Таблиця 1. Найбільш часто використовувані IDE

І тим не менш IDE як і раніше є ключовим інструментом, оскільки саме на нього припадає основний обсяг роботи зі створення ПЗ, а найголовніше – саме навколо нього найчастіше будується вся ALM-система. Але які ж IDE користуються популярністю на ринку, в чому сильні та слабкі сторони представлених на ньому продуктів?

Думка Evans Data


Пошуку відповідей на ці питання було присвячене дослідження “Enterprise and SMB Development Surveys 2005 Fall”, проведене в США аналітичною компанією Evans Data (www.evansdata.com) в кінці 2005 р. У його рамках з проханням оцінити можливості десяти найбільш часто використовуваних IDE організатори звернулися до майже восьмистам професійним розробникам. Перше питання стосувалося популярності різних середовищ розробки: респондентам було потрібно перерахувати використовувані ними інструменти; при цьому можна було назвати кілька продуктів (в середньому кожен назвав два інструменти, точніше 1,98, див. табл. 1). Те, що Visual Studio зайняв перше місце в цьому переліку, – цілком очікуваний результат, але при цьому варто відзначити, що за сумою представники. NET (два продукти, 29,2%) поступаються табору Java (сім інструментів, 36,9%) навіть без урахування групи “Інші”, де. NET швидше за все не присутній.

Далі були відібрали дев’ять засобів (в дослідженні NetBeans об’єднаний з Sun Java Studio), які потім аналізувалися по 13 ключових функцій, які є у всіх основних IDE. Для кожного пункту учасники давали оцінки – “відмінно”, “дуже добре”, “досить”, “вимагає поліпшення”, “немає відповіді”, які потім оброблялися і наводилися до узагальнених числовим значенням у вигляді математичної значущості досвідчених даних. Ось що вийшло в результаті.

1. Транслятор (компілятор та / або інтерпретатор)


Лідери:Borland JBuilder – 228, Microsoft VS .NET – 215, Eclipse – 211

Це, безумовно, головний компонент IDE, заради якого і створюється власне інструмент. Borland тут підтвердила своє історичне лідерство в галузі засобів розробки, хоча її суперники відстали зовсім ненабагато. На останньому місці опинився Oracle Developer Suite (165), проте за останній час Oracle помітно підвищила увагу до своїх коштів розробки (у тому числі купивши кілька компаній, що займаються створенням інструментів), так що ситуація може незабаром змінитися.

2. Отладчик


Лідери: Borland JBuilder – 207, Microsoft VS .NET – 202, IBM WebSphere Studio – 189

Отладчик вже давно став обов’язковим атрибутом інтегрованих середовищ розробки. Зазвичай його можливості обмежуються аналізом виконання програм на рівні вихідного коду. Група лідерів тут приблизно та ж (враховуючи, що IBM є родоначальником проекту Eclipse), на останньому місці – Macromedia Studio MX (122).

3. Редактор


Лідери: Macromedia Studio MX – 216, Microsoft VS .NET – 210, Eclipse – 194

Редактор відіграє головну роль у підвищенні продуктивності праці розробника, саме в його середовищі програміст проводить основний час в процесі написання програм. Інтелектуальні функції редактора дозволяють реалізувати в ньому кошти допомоги та відладчика. Macromedia історично робила акцент на Web-розробку і тому особливу увагу приділяла спочатку саме якості редактора. А ось Oracle знову опинилася в кінці списку з 150 балами.

4. Створення виконуваного модуля


Лідери: IBM Rational Developer – 202, Borland JBuilder – 199, Sun Java Studio – 191

Ця функція включає дві операції – компіляцію вихідного коду і компоновку (підключення всіх додаткових програмних компонентів) виконуваного модуля. Очевидно, лідерство Rational пояснюється як раз тим, що ця компанія свого часу орієнтувалася на можливість використання бібліотек функцій від самого широкого кола постачальників. А останнє місце Macromedia (145), напевно, відображає те, що компоновка була зовсім не найголовнішим етапом у створенні HTML-проектів.

5. Довідка / документація


Лідери:Macromedia Studio MX – 180, BEA WebLogic Workshop – 172, IBM Rational Developer-171

Лідерство Macromedia відображає той факт, що довідкова система відіграє особливу роль в Web-розробці – в цій галузі розвиток мови і засобів програмування відбувається дуже швидко, а займаються цим часто люди, які не мають великого досвіду.

6. Профайлер / оптимізатор


Лідери: Borland JBuilder – 183, IBM Rational Developer – 173, Sun Java Studio – 161

Ці кошти потрібні для визначення “вузьких” місць в програмному коді з точки зору його продуктивності. Раніше вони застосовувалися у вигляді автономних інструментів досить вузьким колом професійних розробників, але зараз все частіше включаються до складу IDE. Лідерство Borland, IBM / Rational і Sun показує, що їхні кошти орієнтовані на верхній рівень професіоналів. І відповідно не дивно, що замикають список наймасовіші інструменти – Visual Studio (101) і Eclipse (63).

7. Засоби моделювання та проектування


Лідери:IBM Rational Developer – 187, Macromedia Studio MX – 178, Sun Java Studio – 169

Тут ситуація приблизно така ж, як і з профайлером. Довгі роки Rational була явним лідером в області застосування UML (який і придумали її співробітники) для розробки додатків. Візуальне проектування спочатку широко використовувалося і в Web-дизайні. Знову ж останні місця Visual Studio (82) та Eclipse (55) пояснюються тим, що на масовому рівні дані кошти поки слабо затребувані. Але ситуація тут дуже швидко змінюється, і якщо взяти останні версії цих пакетів, то вони вже будуть набагато ближче до лідерів.

Таблиця 2. Рейтинг функцій IDE з урахуванням оцінок респондентів

8. Приклади додатків


Лідери: IBM Rational Developer – 168, Sun Java Studio – 158, Borland JBuilder – 155

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

9. Бібліотеки та набори функцій


Лідери: Microsoft VS .NET – 192, IBM Rational Developer – 189, IBM WebSphere Studio – 177

Ключовий елемент сучасної розробки ПЗ – наявність набору базових готових компонентів, з яких створюється додаток. Те, що сьогодні входить у поняття Framework і поки не має усталеного назви російською мовою. Пріоритет тут заслужено має Microsoft: саме вона свого часу запропонувала знаменитий набір Microsoft Foundation Classes (MFC), який послужив в якійсь мірі прообразом сьогоднішнього .NET Framework.

10. Продуктивність компілятора


Лідери: Borland JBuilder – 196, Microsoft VS .NET – 184, IBM Rational Developer – 182

Швидкість компіляції дуже важлива, так як при налагодженні великих додатків в інтерактивному режимі кожен раз відбувається трансляція вихідного коду у виконуваний вид. Тут ефект досягається двома основними способами. Перший – це перекомпіляція тільки тих програмних модулів, які коректувалися з моменту попереднього запуску (але при широкому впровадженні методів інтерпретації в сучасних IDE виділити такі модулі не дуже-то просто!). Другий – це використання різних рівнів оптимізації результуючого коду (в режимі налагодження – мінімальна оптимізація, але швидка компіляція; в режимі створення остаточного варіанту додатки – вищий рівень оптимізації, але з великими часовими витратами).

11. Продуктивність результуючого програми


Лідери: Borland JBuilder – 195, Sun Java Studio – 187, Microsoft VS .NET – 186

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

Зазвичай оптимізаційні функції компілятора націлені на підвищення продуктивності виконуваного коду додатка за рахунок видалення з нього різних конструкцій, необхідних для налагодження або контролю за допустимістю значень змінних програми. Рідше (це набагато складніше!) Проводиться вибір оптимальних алгоритмів.

12. Простота використання


Лідери: Macromedia Studio MX-195, Microsoft VS .NET – 187, Borland JBuilder – 171

Інтегровані засоби розробки вже давно перетворилися на багатокомпонентні системи з дуже складним для користувача інтерфейсом. Управління власне середовищем такого інструменту, застосування різного роду налаштувань, автоматизація часто використовуваних операцій – це окремий напрямок розвитку IDE. Лідерство Macromedia та Microsoft тут цілком зрозуміло, тому що ці компанії акцентують увагу на залучення нових користувачів своїх коштів.

13. Можливість підключення засобів третіх фірм


Лідери: Eclipse – 204, IBM Rational Developer-184, Microsoft VS .NET – 146

Актуальність цього пункту для сучасних розробників не потребує особливих пояснень. Перша позиція Eclipse пояснюється досить легко – ця середу спочатку створювалася з урахуванням майбутніх розширень. Microsoft також приділяє велику увагу розширенню функцій Visual Studio, але це можна робити тільки по “мікрософтівської” правилам, ніж, мабуть, і пояснюється його велике відставання від лідера. Останнє місце Oracle Developer Suite відображає той факт, що цей інструмент будувався як самодостатнє засіб.

Інтегральна оцінка якості засобів розробки, отримана в результаті проведеного дослідження, наведена на малюнку. Лідерами стали IBM Rational Developer – 256, Borland JBuilder – 249, Sun Java Studio – 236. Те, що на перших двох місцях опинилися Rational і Borland, пояснюється досить просто. Адже тільки вони (серед інших учасників) спеціалізувалися саме на засобах розробки.

Rational завжди орієнтувалася на створення складних програмних проектів корпоративного рівня (чим і була приваблива для IBM). Продукт Rational Application Developer переміг у трьох номінаціях – “кошти моделювання та проектування “,” приклади додатків “і” створення виконуваного модуля “.

У свою чергу Borland завжди фокусувалася на випуску високопродуктивних компіляторів, а тому п’ять перших місць JBuilder саме в цих позиціях є зовсім не випадковими. Правда, Borland має намір продати на сторону свій IDE-бізнес, і це свідчить про те, що високі якості продукту ще не гарантують його ринковий успіх. До речі, можливо, корпорації Oracle було б непогано прикупити дані технології Borland, так як її Developer Suite IDE отримала не дуже схвальні оцінки від її ж власних користувачів.

Рис. 1. Загальна оцінка якості інтегрованих засобів розробки ПО

На додаток мені хотілося б представити ще один варіант інтерпретації результатів дослідження Evans Data. У табл. 2 всі тринадцять оцінюваних функцій ранжовані по середньоарифметичному показником першого і останнього місця. В якійсь мірі саме ця характеристика (ще краще – з урахуванням розкиду величин) відображає увагу, яка приділяється виробниками IDE тієї чи іншої функції інструменту, а як наслідок – і рівень затребуваності цих коштів з боку користувачів.

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

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


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

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

Ваш отзыв

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

*

*