Головна »Статті з програмування». NET – Всі статті », ASP, Програмування, статті

Не так давно
Microsoft в черговий раз змусила здригнутися
програмістів у всьому світі, оголосивши про початок нової ери розвитку мов
програмування. . NET Framework – ось те, що ми ще довго будемо
вивчати, те, що стане фундаментом для наших нових програм, то, що
буде хвилювати розуми кращих програмістів в наступні роки. Враховуючи це,
Microsoft вирішила піти на другу в своїй
історії авантюру після створення Visual Basic і
представила нову мову програмування VB.NET.
Що ж таке VB. NET? Що буде з величезною
армією програмістів, які писали свої програми на мові
Visual Basic, Витримала шість версій? Ось про
це ми і поговоримо в цій статті.

Історія створення Visual
Basic

Мова програмування
Basic був створений в 1964 році двома
професорами з Dartmouth College – Джоном
Кенема і Томасом Куртц для навчання студентів навичкам
програмування. Мова вийшов настільки простим і зрозумілим, що через
деякий час його почали застосовувати і в інших навчальних закладах. В
1975 році, з приходом перших мікрокомп'ютерів, естафету
Basic взяли Білл Гейтс і Пол Аллен,
засновники Microsoft. Саме вони створили нову
версію Basic для перших комп'ютерів «Альтаїр»
(MITS Altairs), Здатну працювати в 4Кб
оперативної пам'яті. Згодом саме ця версія і перетворилася в один
з найбільш популярних мов програмування у світі.

На шляху до вершини слави у
Basic було безліч труднощів, які він
завжди з честю долав, і коли з'явилися перші персональні
комп'ютери IBM PC, Саме він став стандартом в
програмуванні, але вже у вигляді GW-Basic.
Потім був Turbo Basic, QuickBasic, Basic PDS,
але завжди при розробці нової версії мови зберігалася сумісність з
колишніми версіями і програма, написана для практично перше
Basic, Цілком (з незначними змінами)
могла б працювати і в наступних версіях цієї мови.

Але настали нові
часи, і на початку 90-х з'являється операційна система
Microsoft Windows з новим графічним
інтерфейсом користувача (GUI). Життя
програмістів перетворилася на пекло. Щоб створити просту програму,
доводилося писати кілька сторінок коду: створювати меню та вікна, міняти
шрифти, очищати пам'ять, «малювати» кнопки і т.д. Однак переваги
нового інтерфейсу були настільки незаперечні, що вже третя версія цієї
операційної системи стала фактичним стандартом для персонального
комп'ютера.

У цей час у надрах
Microsoft велося кілька паралельних
проектів зі створення нової мови програмування для
Windows.

І ось у травні 1991 року світ
побачив один з таких проектів – нова мова, названий
Visual Basic. Система програмування, створена розробниками
Visual Basic, Дозволяла «відсторонитися» від
найскладнішої внутрішньої структури Windows і
створювати програми з «кубиків», як у дитячому конструкторі. Меню,
вікна, списки, кнопки, поля введення тексту та інші елементи інтерфейсу
Windows додавалися до програми за допомогою
найпростіших операцій drag&drop.
Свою першу програму VB-Програмісти
створювали вже через кілька хвилин після початку вивчення цієї мови!
Більше того, Visual Basic дозволяв
розробникам створювати нові об'єкти-«кубики», які також могли
використовуватися в програмах нарівні зі стандартними.

І хоча багато
З-програмісти тихо посміювалися над спробами
Microsoft зробити простий і зрозумілий інструмент розробки
Windows-Програм, Visual
Basic почав свій переможний хід по світу, і ніщо не могло
зупинити цей процес. Останні бар'єри впали в 1994 році з випуском
Visual Basic for Applications. Саме в цей
час, після включення VBA до складу
Microsoft Office, Basic
починає перетворюватися в один з основних стандартів програмування для
Windows.

Потім були нові версії,
які незмінно покращували і розширювали мову, приносячи із собою нові
можливості: OLE, DAO,
JET, 32-бітова архітектура і т.д. Останні
версії мови були настільки вдалими, що з їх допомогою можна було
створювати додатки практично будь-якої складності: підтримка
callback-Функцій, справжній компіляторДух Basic –
подієво-кероване програмування

Коли створювався
Visual Basic, Його розробники вибрали схему
роботи програм, засновану на події
.NET Framework

13 лютого 2002,
упевнений, увійде в історію сучасного програмування як день створення
нової технології програмування, день перевороту в світі розробки
Windows-Додатків. Саме в цей день на
конференції VSLive в Сан-Франциско компанія Microsoft представила
платформу. NET Framework і нову версію Visual Studio.

Важливість події
не можна недооцінювати. Visual Studio.NET – це не просто чергова версія
популярного пакета розробки додатків для Windows. «Visual
Studio.NET і. NET Framework відносяться до числа найважливіших продуктів,
коли-небудь випускалися Microsoft
, – Заявив Гейтс в своєму
виступі, – це найрозвиненіші засоби розробки за всю історію
існування Microsoft»
.

За своєю суттю. NET
Framework – це середовище виконання для додатків нового покоління,
яка може бути встановлена ​​в будь-які версії Windows, починаючи з Windows
98 (Windows 95 офіційно більше не
підтримується), і забезпечує віртуальну систему виконання (Virtual
Execution System) для додатків, створених, наприклад, за допомогою
Visual Studio.NET.
Особливість програм для. NET Framework полягає в тому, що це не
інструкції процесорів Intel, а інструкції для віртуальної машини на
мовою Microsoft Intermediate Language (MSIL).

Але це ми вже, здається,
проходили і в Visual Basic, І у віртуальній
машині Java, Тому. NET Framework замість
інтерпретатора MSIL містить його JIT-компілятор. Цікаво, що
JIT-компілятор не виконує компіляцію всього MSIL-коду при першому
зверненні до програми. Замість цього кожен метод компілюється при
першому зверненні до нього, і, таким чином, невживаний код не
компілюється. Відкомпільований код зберігається в пам'яті, і наступні
звернення до програми виконують вже відкомпільований код. Тому, при
першому запуску.NET-Програми помітна
деяка затримка, що досягає 3-4 секунд; це, мабуть, один з
найістотніших недоліків платформи.NET.
Проте Microsoft також надає спеціальний компілятор CLR Native
Image Generator (NGEN), який виконує компіляцію всього MSIL-коду та
зберігає результат на диску.

Формат виконуваних файлів
. NET Framework розширює специфікацію PE (Portable Executable), так що
на новій платформі будуть вже інші exe- І
dll-Файли. Microsoft
також обіцяє, що середовище розробки Visual Studio.NET
завжди буде відкрита для сторонніх виробників інструментальних
коштів за допомогою технології Open Tools Platform
Зміни в Visual Basic.NET

Середовище розробки

Огляд змін
Basic почнемо, мабуть, з середи розробки.
Якщо чесно, то мені більше подобалася IDE 6-й
версії Visual Studio, Але це, звичайно,
суб'єктивна точка зору. По-перше, відразу хочу порадувати всіх
шанувальників уніфікації та стандартизації, оскільки всі мови
програмування з Visual Studio.NET,
мають одну загальну середовище розробки
Типи даних і
змінні

Мабуть, з часів
переходу на Visual Basic не було таких
глобальних змін в типах даних і роботі змінних.
VB. NET більше не підтримує ключове слово
Deftype в проектах, немає типів даних Variant і
Currency, з'явилися нові типи Char,
Short і Object (Не
смійтеся, це дійсно новий тип). Більше того, тип даних
Integer тепер 4-х байтним (як був
Long), А тип даних Long
має розмір 8 байт. На практиці це означає, що якщо раніше при
оголошенні функцій API ви використовували тип
Long, То тепер потрібно використовувати
Integer. Навіщо це зроблено? Існують плани
(Вже й проекти) зі створення 64-х бітної операційної системи (тільки не
говорите, що ви нічого про це не чули), так от там дуже навіть
придасться новий Long. Аналогом старого
Integer стає новий тип даних
Short, А замість Variant
нам пропонують використовувати тип Object,
який тепер повністю переймає властивості старого
Variant. І останнє, в новій мові також відсутній ключове
слово Any, Яке використовувалося при
оголошенні типів даних і призначалося для відключення контролю типів.
Чесно кажучи, я розумію Microsoft і
підтримую ці зміни, які в майбутньому допоможуть нам при переході до
64-х бітної архітектури.

Крім вже вищеописаних
відмінностей, в VB. NET з'явилося кілька інших
незначних змін. Наприклад, якщо раніше при операціях з даними
типу Variant результат був більше, ніж міг
містити вихідний тип даних, то результат перетворювався до Double;
тепер при роботі з схожим типом Object такий
результат перетвориться до 64-bit Long.

Інші істотні зміни при роботі з
даними пов'язані зі змінами їх оголошення. Якщо раніше ви, оголошуючи
змінну так:

Dim
I, J As Integer

отримували
I – Variant, А
J – Integer, То
тепер обидві змінні будуть мати тип даних Integer.
Ну і, звичайно, якщо ви не вказуєте тип змінної, то вона буде мати
тип даних Object. Більше того, тепер при
оголошенні рядки ви не можете вказати її довжину, тобто всі рядки в
VB. NET мають змінну довжину. В принципі, до
цього все і йшло, тому що навіть у старому VB всі
строкові функції працювали тільки з рядками змінної довжини і
VB, Непомітно для нас, сам справляв
відповідні перетворення, природно жертвуючи при цьому швидкістю.

Ну і на закуску, ось ще кілька суттєвих
відмінностей в оголошенні і роботі змінних:

·       
змінні в функції і процедури по-замовчуванню передаються
за значенням (ByVal), А не за посиланням (ByRef),
як раніше;

·       
змінена область видимості змінних при оголошенні по
тексту програми. Якщо раніше, оголосивши змінну в тілі циклу
For, Ви могли використовувати її і далі, то
тепер ця змінна буде недоступна поза цього циклу;

·       
індексація масивів змінена і тепер починається тільки з
0, оголошення Dim(10) ініціалізує масив з
11 елементів
Функції, оператори –
нова стратегія

Поглянувши на список функцій
і операторів нової мови, можна зробити один приємний висновок: вони
практично ті ж. Тобто більше 90% коштів мови VB
6 були перенесені в нову версію. Однак відмінності все ж є. Наприклад,
ви більше не знайдете функцій, що закінчуються на $ і
B, Які повертали відповідно рядкові та виконавчі дані.
Ні функцій Date, Time. Ви також не зможете
більше використовувати оператори Circle, Line і Pset, як немає і
On … GoSub, On … GoTo,
Initialize, скасовані за непотрібністю IsEmpty,
Let, Set і сімейство інструкцій Option
і Property [Get][Let][Set]. Змін багато,
але на перший погляд це все одно Basic з його
операторами, функціями та інструкціями, так що якщо ви добре знаєте
синтаксис VB 6, вважайте, що і синтаксис
VB. NET вам також добре знайомий, і
незначні зміни в ньому ніяк не псують загальне враження.

Форми? Ні,
Windows
Forms!

Visual Basic.NET використовує зовсім нові
форми – Windows Forms. Windows Forms практично сумісні з формами
Visual Basic 6, проте є деякі ключові відмінності:

·       
Windows Forms не підтримують елемент управління OLE
container control;

·       
Відсутні елементи управління Shape і Line;

·       
в Windows Forms є два елементи управління,
представляють меню – MainMenu і ContextMenu;

·       
Windows Forms не підтримує динамічний обмін даними
(DDE);

·       
Немає методу Form.PrintForm;

·       
в ієрархії. NET існує поліпшений об'єкт Clipboard
(System.WinForms.Clipboard), це передбачає більше функціональних
можливостей і більшу кількість підтримуваних форматів, ніж об'єкт
Clipboard в Visual Basic 6.0;

·       
в Windows Forms немає властивості Name у форм і контролів,
перебір всіх контролів (форм) для пошуку елемента з потрібним ім'ям
працювати не буде;

·       
Тепер потрібно використовувати pixel-І
замість twip-В;

·       
Windows Forms підтримує лише шрифти truetype і
opentype.

Як бачите, відмінності дуже
істотні, і я привів тільки основні з них. Взагалі ж, Windows Forms
дає набагато більше можливостей для програміста. Наприклад, раніше
найпростіша операція з додавання значка в systray
вимагала величезних зусиль, тепер це такий же дрібниця, як і для С + +
програміста, а може бути це навіть на VB.NET
зробити і легше. Прогнозована розширення можливостей.NET
робить Windows Forms дуже привабливими. Хоча і вибору нам теж не
надали.

Я не хочу робити детальний
огляд всіх змін, введених в Windows Forms, та це й не потрібно,
проте, хочу вас відразу попередити, що автоматичне перетворення
старих форм (Form) Не пройде.

Перетворення проектів VB 6

Microsoft, Розуміючи що процес переходу до VB.NET
буде складним, створила спеціальний майстер, що полегшує перетворення
проектів. Я не буду описувати, як відбувається процес конвертації
проекту, оскільки з цієї теми видані багатотомні книги, написано
безліч статей і, напевно, ви вже в курсі подій. Хочу тільки
сказати, що на практиці якісно перетворити можна лише класи,
тобто тільки безпосередньо код VB. Говорячи
іншими словами, ви не зможете за допомогою майстра перетворити 90% своїх
проектів, що містять форми (Form). Ні,
звичайно, якщо ви написали додаток з однією формою, двома кнопками на
ній і п'ятьма рядками коду, то майстер перетворення з великим
задоволенням, «похрюкав» хвилин п'ять диском, видасть вам новий проект,
який швидше за все, буде працездатний, але чи є у вас такі
програми? До речі, попереджаю, що результат такого перетворення,
швидше за все, приведе вас в стан глибокого шоку, так що якщо ви
хотіли таким чином попутно вивчити VB.NET,
то хочу вас засмутити – цього не станеться, вчитися доведеться по книгах і
читаючи документацію. Все, що виживає за такої конвертації, так це
класи.

Чому ж майстер так погано
працює? Справа в тому, що перетворення неможливо зробити через
глобальної зміни структури форм (Form),
точніше кажучи, переносу їх в Windows Forms з бібліотеки. NET Framework.
Таким чином, якщо у вас є програми, написані на
VB 6, то якісний перенесення їх в
VB. NET, за допомогою майстра неможливий. Однак,
ви можете зробити це вручну, і тоді ваша програма зможе
використовувати всю міць платформи. NET Framework.

Висновок

Microsoft в курсі спорів,
виникли навколо VB.NET в співтоваристві розробників на Visual Basic.
Намагаючись заспокоїти користувачів Visual Basic 6.0, стурбованих тим, що
з випуском Visual Studio їх звичному середовищі розробки прийшов кінець,
Microsoft, зовсім недавно, оголосила про намір підтримувати VB 6.0 до
2008 року. Проте після 2005 року ця підтримка буде обмеженою, і VB
6.0 ніколи не стане інструментом для роботи в 64-бітових середовищах.

«У VB.NET ми дещо
змінили, так що це, скоріше, різні мови, – каже менеджер Visual
Studio Роберт Грін (Robert Green), – Але ми впевнені, що відмінності в
синтаксисі цілком переборні ». За його словами, при переході від
обчислювальної моделі, орієнтованої на ПК, до веб-центричної моделі
. NET Microsoft опинилася перед складним вибором. Цей вибір вже зроблено, і
нам залишається тільки прийняти його. Проте Грін також зазначає, що
розробники повинні самі вирішувати, чи варто намагатися перенести
існуючі програми Visual Basic на VB.NET. «Чи можна перенести
додаток, написаний на VB 6.0? – Запитує Грін. – Якщо воно
працює, я б не став ».

Що я можу сказати? Особисто
я б хотів, щоб VB не змінювався, а розширювався.
Microsoft, На мій погляд, сильно погарячкувала,
качнув VB в сторону ООП: поліморфізм,
успадкування та інкапсуляція, звичайно добре, але у
Visual Basic була своя концепція, яка була не така вже й погана,
як здається. Visual Basic спочатку був самим
простою мовою програмування, єдиним, мабуть, недоліком
якого була більш низька швидкість виконання програм, ніж у справжніх
компільованих мовах, наприклад C++.

Мені завжди здавалося, що у
Microsoft щодо мов програмування є
ціла концепція, за якою у владу Visual Basic
віддавалися створення користувальницьких інтерфейсів і простих програм
створення програм і легкість їх налагодження, а для C++
– Системне програмування, графіка, а також все, де неприпустимі
компроміси по швидкості виконання. Але я був неправий … Я вірив, що якщо
глава імперії Microsoft Білл Гейтс (Bill
Gates) називав Basic своїм коханим мовою
програмування, то нас не чіпатимуть, вони не посміють … але я помилявся … ах
як би я хотів, щоб все це був сон … страшний сон.

Але час іде, і поїзд під
назвою.NET відправився в шлях і він вже
під'їжджає до вашої станції. Але ще є час застрибнути в вагон
VB.Net – Двері
відкрита, квитки ніхто не вимагає і провідник ще поки протягне вам
руку, … поспішайте, поїзд чекати не буде і він вже в дорозі.

 


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


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

Метки: , , , , , ,
Рубрики: ASP

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

Ваш отзыв

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

*

*