Win32 жива, як і засоби розробки для неї, HTML, XML, DHTML, Інтернет-технології, статті

ІНСТРУМЕНТАРІЙ


В останні роки у зв’язку з бурхливим розвитком мережних технологій широкого розповсюдження набули засоби розробки, орієнтовані на розподілені багатоплатформні програми, зокрема на технології Java корпорації Sun (www.sun. Com) і. NET фірми Microsoft (www.microsoft.com). Відповідно і основну увагу виявилося зосереджено на подальшому вдосконаленні цих коштів. У той же час потреба в традиційних інструментах, орієнтованих на конкретні платформи виконання в “рідному коді”, не зникла. Даний огляд присвячений розгляду ситуації, що склалася в галузі засобів розробки ПО для поки домінуючою на настільних системах платформи Win32.

Microsoft: версії на всі смаки


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

***

 

Особливий інтерес для освоюють програмування на платформі Win32 представляють Visual Basic Express і Visual C + + Express, а також СУБД SQL Server Express.

 

***


На сьогоднішній день, мабуть, найбільш популярна версія – Visual Studio. NET 2008. Розробка додатків для платформи Win32 можлива на двох мовах – Visual C + + і Visual Basic, платформа. NET крім цього розпорядженні ще двома мовами – Visual C # і Visual J #.


Visual Studio 2008представлена ​​в чотирьох редакціях: Professional, Academic, Enterprise Developer і Enterprise Architect, перша з них – базова. Варіант Academic, як випливає з його назви, орієнтований на освітні установи. Від професійного він відрізняється головним чином спеціальними засобами, що полегшують освоєння Visual Studio 2008, А також інструментарієм для управління навчальними курсами, створення і поширення проектів-заготовок і т. п.


Два останніх варіанти призначені не для індивідуальних розробників, а для колективів. З корисних “просунутих” інструментів в них підтримуються, наприклад, корпоративні шаблони (enterprise templates) і засоби контролю версій, що дозволяють спільно працювати над проектами, використовуючи єдину базу вихідного коду і застосовуючи єдині методики та правила, прийняті в цьому колективі.


Крім того, редакція Enterprise Architect своєму розпорядженні додатковими інструментами, необхідними архітектору ПО для моделювання з використанням мови UML бізнес-процесів і підтримуючих їх додатків і баз даних, а також для створення корпоративних шаблонів, спеціалізованих файлів допомоги і т. п. Створені моделі архітектор передає програмістам, які розробляють на їх основі код програми; для цього зазвичай застосовується варіант Enterprise Developer, оскільки додаткові можливості Enterprise Architect кодувальника не потрібні.


Початківцям програмістам доступний набір засобів, об’єднаних загальною назвою Express Edition. Слід визнати, що потреба в “експресах” відчувалася вже давно: версії для професіоналів-одинаків, не кажучи вже про корпоративні редакціях, перевантажені численними інструментами, звичайно марними для програміста-аматора або для студента, нерідко ускладнюють освоєння системи (хоча б через перевантаженість користувальницького інтерфейсу) і завжди споживають додаткові ресурси ПК. Особливий інтерес для освоюють програмування на платформі Win32 представляють Visual Basic Express і Visual C + + Express, а також СУБД SQL Server Express.


У всіх інших версіях основний упор Microsoft зробила на поліпшення засобів колективної роботи. Корпоративна редакція, що носить назву Visual Studio 2005 Team System Edition, тепер передбачає рольову організацію процесу розробки ПЗ. Її модель створення ПЗ виділяє чотири категорії розробників: керівники проекту (project managers), архітектори ПЗ (software architects), кодувальники (software developers) і тестери (software testers). Ядром системи підтримки колективної роботи є Visual Studio Team Foundation Server, що надає засоби контролю версій, відстеження та управління процесом розробки, автоматизації збирання додатків і генерації звітів. Архітектори, кодувальники і тестери ПО отримали в своє розпорядження спеціалізовані інструменти: Visual Studio Team Edition for Software Architects, for Software Developers і for Software Testers. Ці інструменти тісно інтегровані з Team Foundation Server, що, як стверджує корпорація, дозволяє фахівцям працювати в колективі практично так само легко, як і поодинці: майже всю турботу про об’єднання результатів колективної творчості бере на себе Team Foundation Server.


На закінчення слід зазначити, що в Visual Studio 2008досить широко використовуються інструменти не тільки власної розробки Microsoft, а й інших компаній, насамперед головного конкурента і одночасно партнера в області інструментальних засобів – корпорації Borland Software (www.borland.com).

Borland: ставка на життєвий цикл


Випустивши Turbo Pascal, фірма Borland зробила справжню революцію, вперше об’єднавши в загальну середу всі традиційні засоби для створення програм – редактор вихідного коду, компілятор, компонувальник, систему допомоги. Не змінила компанія своєму правилу надавати високоефективні інструменти і надалі, причому по більшості характеристик рішення Borland як мінімум не поступалися їх аналогам від Microsoft, хоча остання мала перевагу, одночасно розробляючи і ОС, для якої призначалися ці інструментальні засоби.


На сьогоднішній день рішення для платформи Win32 можна створювати за допомогою двох систем – Borland C + + Builder і Delphi. Останньою на даний момент версією першого з цих пакетів є Borland C + + BuilderX, призначений для написання програм на мові C + + на платформах Win32, Linux і Solaris. Відмітна його риса – інтеграція з різними компіляторами, системами управління версіями та іншими інструментами різних виробників. Так, серед власне компіляторів C + + підтримуються “рідний” Borland C + + for Windows, Microsoft Visual C + + 7.1, Sun Forte C + +, Metrowerks C + +, 32-розрядні компілятори фірми Intel і, нарешті, GNU C + +. Такий широкий вибір дозволяє розробникам використовувати найбільш відповідні в кожній конкретній ситуації кошти.


Borland Delphi – прямий спадкоємець Turbo Pascal, заснований на мові Object Pascal (втім, останній часто називають тим же ім’ям, що і саме середовище розробки, – Delphi). Версія Borland Delphi 2005 дає можливість створювати додатки на Паскалі для платформ Win32 і. NET, а також для. NET. У порівнянні з попередніми версіями в Delphi 2005 з’явилося багато нових засобів і функцій, про що PCWeek / RE уже писав (див. PC Week / RE, N 45/2004, с. 44).

***

 

Найважливішим стратегічним напрямом розвитку засобів розробки Borland стала реалізація концепції управління життєвим циклом додатків.

 

***


Найважливішим стратегічним напрямом розвитку засобів розробки корпорації стала реалізація концепції управління життєвим циклом додатків (ALM – Application Lifecycle Management). Borland випустила цілий ряд спеціалізованих інструментів, у тому числі CaliberRM для збору і формалізації вимог до розробляється ПЗ, Together для проектування додатків, Optimizeit для оцінки продуктивності додатків, StarTeam для управління змінами, що вносяться в ПЗ. Всі ці інструменти можна використовувати як окремо, так і в тісній інтеграції один з одним; крім того, вони придатні для спільного застосування не тільки з Delphi і C + + Builder, а й із засобами розробки інших фірм, у тому числі Microsoft Visual Studio.

Intel: оптимізація продуктивності


На відміну від Microsoft і Borland, корпорація Intel (www.intel.com) не має власної повнофункціональної середовища розробки додатків, тим не менш обійти увагою пропоновані нею інструменти не можна. Справа в тому, що збільшення продуктивності комп’ютерів за рахунок зростання тактової частоти практично зайшло в глухий кут, а широко рекламовані, в тому числі і фірмою Intel, багатоядерні процесори аж ніяк не є панацеєю від усіх бід * 1.По-справжньому “жадібне” на обчислювальні ресурси ПО, наприклад мультимедійні додатки, математичні пакети, системи моделювання, ігри і т. п., потребує глибокої оптимізації, і саме в цій галузі кошти, пропоновані Intel, воістину незамінні.


_____


* 1 Більше того, нічого принципово нового багатоядерність не несе: ПК з багатоядерним процесором – всього лише багатопроцесорна обчислювальна машина, які існували і 40 років тому …

***

 

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

 

***


Intel пропонує ретельно оптимізовані математичні бібліотеки, засоби розпаралелювання обчислень (threading tools) і кластеризації (cluster tools). Однак найбільш важливими є, мабуть, фірмовий компілятор мови C + + і Профілювальники Intel VTune Analyzer.


Є відоме емпіричне правило, що свідчить, що 90% часу виконання програми споживає 10% коду. Очевидно, що оптимізувати в першу чергу потрібно саме ці 10%, однак спочатку їх необхідно виявити, а заодно й з’ясувати, чому вони вимагають так багато часу. Штатні профіліровщики, що входять в інтегровані системи розробки, не завжди дозволяють визначити джерело проблем з точністю до рядка початкового тексту, часто обмежуючись лише профілюванням на рівні функцій в цілому. І жоден з них не здатний відстежувати виконання окремих машинних команд, в які скомпільований вихідний текст програми, яка розробляється на мові високого рівня. VTune вирішує ці проблеми, з його допомогою можна буквально по машинним тактам простежити, як виконується та чи інша програма і де виникають затримки.


Компілятор Intel C + + для платформи Win32 є не просто самим “оптимизирующим” з існуючих, генеруючим більш якісний код, ніж, наприклад, Microsoft Visual C + + або Borland C + + Builder. Він враховує архітектурні особливості мікропроцесорів фірми Intel, а також забезпечує зворотний зв’язок з результатами профілювання модульна програми в VTune, що ще більше підвищує якість коду. У той же час слід зазначити, що по-справжньому якісна оптимізація програми неможлива без участі програміста (іноді зовні дрібні зміни в початковому тексті програми підвищують швидкість її роботи в тисячі разів без будь-якої оптимізації з боку компілятора), а код, що згенерував з урахуванням особливостей конкретного процесора, часто виявляється малоефективним при виконанні на процесорах інших моделей навіть одного виробника.


Принагідно зауважимо, що основний конкурент фірми Intel – корпорація AMD (www.amd.com) – не має в своєму розпорядженні власним компілятором, однак надає Профілювальники CodeAnalyst, хоча і дещо поступається за можливостями VTune, але цілком забезпечує ретельну профілювання і ручну оптимізацію програм.

Альтернативні рішення


Звичайно, вищенаведеним ПО засоби розробки для Win32 не вичерпуються. Наприклад, компанія Sybase (www.sybase.com) як засіб моделювання додатків, баз даних і бізнес-процесів випускає пакет Power Designer. Раніше вона ж пропонувала компілятор Watcom C + +, в даний час став проектом open source (www.openwatcom.com). З некомерційних інтегрованих середовищ розробки можна виділити платформу Eclipse (www.eclipse.org), написану на Java і завдяки цьому здатну функціонувати практично під будь-який ОС. Серед підтримуваних нею мов програмування є і С + + для платформи Win32. Корпорація IBM (www.ibm.com) пропонує засновану на Eclipse платформу розробки ПО Rational. Існують і інші як комерційні, так і відкриті компілятори з різних мов (C + +, COBOL, Fortran, Pascal і т. д.). Проте сфера їх застосування у великих проектах дуже обмежена.

Що краще?


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


По-перше, абсолютно очевидно, що Visual Studio 2008найбільш оперативно і повно відображає всі нововведення в ОС Windows; для цього середовища розробки в першу чергу призначені набори фірми Microsoft, такі, як DirectX SDK або Driver Development Kit (DDK). Тому немає нічого дивного, що Visual Studio – найпоширеніший інструментарій створення додатків під Windows.


По-друге, все більшу роль набувають засоби моделювання, а також підтримка безперервного життєвого циклу додатків – від збору первинних вимог до починається проекту до супроводу готового рішення в процесі промислової експлуатації, внесення доповнень та виправлень і випуску нових версій. У цій сфері особливо стрункої та продуманої виглядає концепція ALM фірми Borland. Якщо цей фактор принциповий, вельми логічним виглядає використання повного набору інструментів цієї компанії. У той же час можливі альтернативні підходи, і в першу чергу спільне використання інструментарію управління проектами від Borland і середовища розробки Visual Studio 2008– Благо обидві корпорації тісно співпрацюють в цій області (наприклад, Borland ще на початку року представила систему моделювання Together 2005 for Visual Studio. NET).


Третій фактор – якість створюваного коду. Як уже говорилося, тут лідирує інструментарій фірми Intel. У тих випадках, коли ефективність є критично важливою, представляється доцільною розробка чорнового варіанту програми за допомогою однієї з інтегрованих середовищ, а потім ретельна оптимізація за допомогою інструментів Intel. Тут, мабуть, можна віддати перевагу середовищі Borland C + + BuilderX, “Штатним” образом підтримує різні компілятори, в тому числі і від Intel.


Не останню роль відіграє можливість застосування єдиного інструментарію в різних ОС. Потенційно тут лідирують проекти open source, зокрема платформа розробки Eclipse. Однак на практиці все не так просто. Наприклад, якщо передбачається розробка тільки під Win32 і. NET, найбільш очевидним рішенням є використання Visual Studio 2008(Як варіант – Borland C + + Builder або Delphi); Якщо другий платформою буде Linux, резонно розглянути інструментарій Borland.


Нарешті, слід пам’ятати про те, що в довгостроковому плані платформа Win32 перспектив не має. Звичайно, всі провідні гравці пропонують інструментальні засоби для розробки 64-розрядних додатків, але дуже багато залежить від того, чи зуміє Windows 64 зберегти позиції, займані нині 32-розрядними версіями цієї ОС. Якщо ні, то вузькоспеціалізована Visual Studio відразу ж позбавляється значної частини своїх переваг. Проте – це справа неблизького майбутнього.

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


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

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

Ваш отзыв

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

*

*