Visual Basic. Практика. Ищенко В.А

Расцвет и упадок Visual Basic

Visual Basic. Практика. Ищенко В.А

Мне нужно сделать признание. До того, как я стал респектабельным разработчиком, работающим с такими современными языками, как C# и Java (и тем бурлящим хаосом, который известен нам под именем JavaScript), я был увлечённым фанатом невероятно популярного и неуклюжего Visual Basic. Моя влюблённость была искренней.

Ещё в детстве я учился программировать на языке BASIC. Но не просто на BASIC. Я начинал с потрясающей среды Microsoft под названием QuickBASIC на древней операционной системе DOS. Я всё ещё помню, как набирал белый текст на её бодром голубом фоне. Для программирования в 1988 году QuickBASIC был волшебной штукой.

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

Закончив программу, можно было делиться ею со своими друзьями при помощи вот этих ребят:
В наши дни QuickBASIC остался лишь ещё одной диковинкой из далёкого прошлого. Хотя так ли это? Новаторский проект под названием QB64 создал современную реплику QuickBASIC.

Он запускается на Windows, MacOS и Linux, и не требует эмулятора. При запуске программы в QB64 среда выполняет хитрый трюк — сначала она транслирует код на BASIC в C++, а затем компилирует его.

Классический VB и эра Visual

QuickBASIC был впечатляющей средой для далёких дней текстовых компьютерных систем. Но всё изменилось, когда Microsoft выпустила Windows и погрузила пользователей PC в графический мир кнопок и кликов. Одновременно с выпуском компанией Microsoft Windows 3.0 (первой версии, которая добилась истинного успеха), был выпущен Visual Basic 1.0.

Это было нечто совершенно новое. Пользователь мог создавать кнопки для программ, рисуя их на поверхности окна, как на холсте художника. Чтобы заставить кнопку выполнять какое-то действие, достаточно было дважды щёлкнуть на неё в среде разработки и написать код.

И код писался не на загадочном C++ с кучами классов, сложным управлением памятью и непонятными вызовами Windows API. Вы как цивилизованный человек писали код на дружелюбно выглядящем VB.
Все эти графические примочки впечатляли, но настоящим секретом успеха VB была его практичность.

Попросту не было ни одного другого инструмента, в котором разработчик мог бы набросать полный интерфейс и приступить к кодингу так же быстро, как в VB. И хотя историки любят порассуждать о визуальной части Visual Basic, его неподражаемое умение не имело ничего общего с графическими виджетами.

VB стал знаменитым благодаря легендарной функции edit-and-continue, позволявшей разработчикам запускать программы, находить ошибки, исправлять их и продолжать работать с новым кодом.

Это разительно отличалось от почти всех остальных известных человечеству сред программирования, вынуждавших разработчиков компилировать работу заново и после каждого изменения начинать снова. Оригинальный Visual Basic процветал примерно десяток лет.

Возникнув как дружественная среда для новичков, он превратился в инструмент, имеющий достаточно возможностей и для серьёзных программистов. К моменту выпуска VB 6  — последней версии классического Visual Basic, в мире по приблизительным подсчётам было в десять раз больше кодеров на VB, чем на суровом C++.

И они не просто создавали макеты игрушечных приложений. Visual Basic проложил себе дорогу в офисы компаний и даже в Интернет при помощи ASP (Active Server Pages) — ещё одной чудовищно популярной технологии. Благодаря ей вы могли создавать веб-страницы, способные общаться с компонентами VB, связываться с базами данных и писать HTML на лету. Всё это происходило практически без структуры, если только вы не решали создать её самостоятельно. Это было неписанное правило Visual Basic — он давал вам свободу, о которой вы потом пожалеете.

Проблема классического VB

Во многих кругах классический VB имел плохую репутацию. Фанатики ООП часто жаловались, что VB недостаёт поддержки наследования. (Это была странная жалоба, ведь наследование часто является отличным способом для неопытных разработчиков выстрелить себе в ногу — именно этой особенности VB не требовалось.

) На самом деле, классический VB не имел склонности к объектно-ориентированности. К концу своей жизни он уже поддерживал интерфейсы, полиморфизм и библиотеки классов. Всё это было позаимствовано из COM — фундаментальной части технологии компонентов, «прошитой» в каждой версии Windows.

Настоящая проблема классического VB заключалась в том, что он был слишком успешным. Он настолько эффективно снижал барьеры для новых программистов, что в нём мог работать практически кто угодно.

Беззаботные новички, усталые сотрудники компаний и студенты решали проблемы, которые на любой другой платформе представляли бы гораздо большую сложность, и повсюду развешивали спагетти-код.

Другими словами, поскольку VB был достаточно лёгок в использовании, даже если вы не учились на программиста, его применяло множество людей, которые не учились быть программистами. И VB не делал ничего, чтобы помешать укоренению их плохих привычек.

VB.Fred и платформа .NET

Перенесёмся вперёд, в 2002 год: Microsoft занимается тем, что лучше всего получается у Microsoft — разрушает собственную экосистему разработчиков, вводя совершенно новый способ работы. На этот раз проектом было масштабное изменение архитектуры COM — компонентной технологии, служившей опорой Windows (а косвенно и классическому VB).

Это была ставка «ва-банк» для компании-мегалита, уже совершавшего несколько раз такие рискованные перемены. Microsoft назвала эту «перезагрузку» платформой .NET по множеству сомнительных причин, в том числе и потому, что Интернет-технологии в то время продолжали оставаться свежими и восхитительными, а ещё потому, что .

NET включала в себя функцию веб-сервисов, которую Microsoft твёрдо решила продвигать.

Продукт создавался под сильным влиянием Java и имел полный ассортимент инструментов для общения с базами данных, создания веб-сайтов, написания многопоточных программ, установки соединений через сокеты — практически для всех вариантов применения, которые могли бы вообразить бизнес-разработчики.

Единственная проблема заключалась в том, что для реализации всех этих функций Microsoft пришлось избавиться почти от всего классического VB. Если сильно прищуриться, то новая версия под названием VB.NET выглядела почти такой же. Но в ней появилось множество крупных и мелких революционных изменений.

Крупные: старые программы на VB остались заключёнными в мире старых программ, и удивительно слабый мастер миграции почти никак не мог это исправить. Мелкие: программистам на классическом VB пришлось привыкать к новому способу подсчёта элементов массивов. Они больше не могли начинать с 1, как обычные люди.

Теперь они должны были начинать с 0, как официальные программисты. Ещё одно важное изменение: больше никакой функции edit-and-continue. Разработчики любят жаловаться, а разработчики на VB особенно этим известны. Почти сразу же группа влиятельных разработчиков на VB окрестила новую среду программирования Microsoft именем VB.Fred, чтобы подчеркнуть тот факт, что этот новый язык не является Visual Basic.

Что обрекло Visual Basic на гибель

Вы можете предположить, что изменения .NET стали причинами возникновения трещин в фундаменте VB и привели к началу неизбежного упадка. Но всё было иначе. На самом деле, несмотря на то, что VB.

NET двинулся в новом направлении и внёс критические изменения, сделавший «сиротой» совершенно хороший код классического VB, он получил огромную популярность. Так произошло благодаря тому, что VB.NET дал нечто, чего раньше не могли добиться разработчики на классическом VB — уважение.

В мире .NET языки VB и C# имеют одинаковый вес. Каждая строка кода на VB может быть транслирована в эквивалентную строку кода на C#, и наоборот.

Оба языка имеют одинаковые возможности, используют одинаковые компоненты и компилируются в полностью одинаковый вид (в нечто под названием промежуточный язык). VB наконец-то освободился от своего синдрома «гадкого утёнка».

Но превращение в ещё один респектабельный язык программирования создало и проблему. Пропал энтузиазм, сделавший VB любимым языком столь обширной группы людей. Не потому, что изменился VB, а потому, что изменился C#. Как только VB получил такую же мощь, что и у C#, язык C# тоже перенял удобства Visual Basic. Например, наличие функций типобезопасности и управления памятью .NET означало, что разработчикам на C# больше не придётся беспокоиться об утечках памяти, как и разработчикам на VB. Другими словами, у C# теперь появилась «страховочная сетка», защищающая любителей, студентов и новичков, и не ослабляющая при этом его мощи. Внезапно VB перестал быть чем-то особенным. Он превратился в просто ещё один инструмент из набора умелого программиста.

Современное состояние Visual Basic

Сегодня Visual Basic находится в странном состоянии. Среди профессиональных разработчиков он занимает примерно 0% внимания — VB даже не появляется в опросах профессиональных разработчиков или в репозиториях GitHub. Однако он всё ещё жив — управляет макросами Office, старыми базами данных Access и древними веб-страницами ASP, а также привлекает новичков к .NET.

Индекс TIOBE, оценивающий популярность языков по результатам поиска, по-прежнему ставит VB в список пятёрки самых обсуждаемых языков.

Но похоже, что инерция развития языка в последнее время заканчивается. В 2017 году Microsoft объявила, что начнёт добавлять в C# новые языковые функции, которые могут не появиться в Visual Basic.

Эта перемена не возвращает VB статус «гадкого утёнка», но вредит его статусу как части .NET.

Если откровенно, то тенденция сталкивания VB на обочину началась уже несколько лет назад. Серьёзные разработчики знают, что ключевые части .NET написаны на C#. Они знают, что C# — предпочитаемый язык для презентаций, книг, курсов и воркшопов. Если вы хотите говорить на VB, то это не нанесёт ущерба создаваемым вами приложениями, но может ограничить возможность общения с другими разработчиками. Одна из ниш, в которых Visual Basic должен чувствовать себя естественно — это образовательный рынок. Но даже там он остаётся чёрной овцой. Современные языки наподобие C# и Python просты и достаточно безопасны, чтобы их можно было выбирать в качестве первого изучаемого языка. Если вам нужно что-то попроще для детей то рынок переполнен инструментами для графического программирования наподобие Scratch. Своей притягательностью обладают и языки «с фигурными скобками»: C#, C, JavaScript и Java. Они имеют схожий синтаксис, и человек, выучивший один из них, будет чувствовать себя уверенно с другим.

В области веб-разработки Microsoft смотрит в пустоту упущенных возможностей.

Кого бы не соблазнила версия VB, столь же простая в работе, как VB 6, но ещё и способная компилироваться в JavaScript и комбинироваться с дизайнером форм HTML? Да, новые Google Maps в таком инструменте не создашь, но он мог бы возродить привлекательность Visual Basic, позволив бизнес-разработчикам, студентам и любителям создавать простые онлайн-приложения без необходимости пользоваться громоздким JavaScript. Вместо этого Microsoft создала продукт на основе VB под названием LightSwitch, исчезнувший со смертью браузерного плагина Silverlight. Если Microsoft начнёт создавать ещё один продукт класса «кодинг для широких масс», то это скорее всего будет управляемый шаблонами инструмент с небольшим количеством кода наподобие PowerApps.

Visual Basic и раньше грозили разные опасности. Но на этот раз, похоже, всё по-другому. Кажется, солнце для одного из самых популярных в мире языков программирования на самом деле закатывается.

Если это правда, то Visual Basic не будет постепенно исчезать на протяжении десятилетий. Он станет ещё одним легаси-продуктом, недооценённым инструментом без любви пользователей и будущего.

Потеряли ли мы что-то особенное, или просто избавили от мучений устаревшую технологию — решать вам.

  • visual basic
  • .net
  • visual basic 6
  • c#
  • vb.net
  • qbasic
  • microsoft
  • windows
  • com
  • asp

Источник: https://habr.com/post/456692/

9 ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ В.А. ИЩЕНКО, Е.К. НАГИНА VISUAL BASIC Разработка приложений Теория и практика

Visual Basic. Практика. Ищенко В.А

Книги по всем темамPages:     | 1 |   …   | 7 | 8 ||

Private Sub КнопкаПосчитать_Click() ВалютаИз.Caption = Из.List(Из.ListIndex) ВалютаВ.Caption = В.List(В.ListIndex) СуммаИз.Caption = Сумма.Text ПолеИз.Caption = «Из» ПолеВ.Caption = «В» If IsNumeric(Сумма.

Text) = False Then MsgBox «Введите правильно перводимую сумму» Сумма.SetFocus Exit Sub End If If IsNumeric(Курс.Text) = False Then MsgBox «Введите правильно курс» Курс.SetFocus Exit Sub End If If InStr(Из.Text, «Рублей») And InStr(В.Text, «Доллары») Then СуммаВ.Caption = CDbl(Сумма.Text) / CDbl(Курс.Text) End If If InStr(Из.

Text, «Рублей») And InStr(В.Text, «Евро») Then СуммаВ.Caption = CDbl(Сумма.Text) / CDbl(Курс.Text) End If If InStr(Из.Text, «Долларов») And InStr(В.Text, «Рубли») Then СуммаВ.Caption = CDbl(Сумма.Text) * CDbl(Курс.Text) End If If InStr(Из.Text, «Долларов») And InStr(В.Text, «Евро») Then СуммаВ.Caption = CDbl(Сумма.Text) / CDbl(Курс.

Text) End If End Sub 7. Проверьте корректность работы приложения, при необходимости исправьте ошибки.

8. Сохранить форму и проект соответственно под именами ПереводВалюты.frm и переводВалюты.Vbp.

9. Результат работы приложения представлен в форме, приведенной ниже.

Задание 7. Обработка одномерного массива Дан одномерный массив A(M). Составить программу проверки на наличие хотя бы одного повторяющегося элемента. После проверки выдать в форме соответствующее сообщение. Для ввода элементов исходного массива и вывода соответствующего сообщения в форме использовать форму, приведенную на рис.1.

Ниже приведена программа на языке Visual Basic для решения этой задачи.

Option Explicit ' Задать одномерный массив и проверить, все ли элементы одинаковые Option Base Dim a() As Integer Dim M, i, j, flag As Integer Dim sTemplate As String 'Просчет Private Sub Command2_Click() For i = 1 To M — For j = i + 1 To M If a(i) = a(j) Then flag = 1: GoTo Next j Next i 30 If flag = 0 Then Label1.Caption = «Все элементы разные» Else Label1.

Caption = «Есть одинаковые элементы» End Sub Private Sub Command3_Click() End End Sub ' Объявление массива Private Sub Command4_Click() If Text1.

Text = «» Then GoTo ReDim a(M) 10 End Sub ' Заполнение массива элементами Private Sub Command5_Click() For i = 1 To M a(i) = InputBox(«введите » & i & » элемент», «Ввод элемента», «0») Next i End Sub Private Sub Form_Load() flag = End Sub Private Sub Text1_Change() M = CInt(Text1.

Text) End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) sTemplate= “qwetyuiop[]asdfghjkl;'zxcvbnm,/ QWERTYUIOP{}ASDFGHJK_ L:ZXCVBNM=\_+|`~!@#$%&*()йцукенгшщзхъфывапролджэячсмить_ бюЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ,№* » If InStr(1, sTemplate, Chr(KeyAscii)) > 0 Then KeyAscii = End Sub Форма для ввода элементов массива и вывода сообщения приведена ниже.

Задание 8. Обработка двумерного массива Дан двумерный массив числовых значений A(N,M). Сформировать одномерный массив, элементами которого являются суммы элементов каждой строки исходного массива. Сформированный массив вывести на экран в строку. Для ввода элементов исходного массива и вывода сформированного массива использовать форму, приведенную на рис.2.

Ниже приведена программа на языке Visual Basic для решения этой задачи.

Option Explicit ' Ввести элементы двумерного массива, посчитать сумму элементов каждой строки, составить одномерный массив из этих сумм и вывести его на экран.

Option Base Dim a() As Integer Dim SUM() As Integer Dim M, N, i, j As Integer Dim sTemplate As String Dim zzz As Variant 'Просчет Private Sub Command2_Click() ReDim SUM(M * 2) ' Результирующий массив For i = 1 To M SUM(i) = For j = 1 To N SUM(i) = SUM(i) + a(i, j) Next j, i ' Вывод элементов массива на экран For i = 1 To M List1.AddItem SUM(i) Next i End Sub Private Sub Command3_Click() End End Sub ' Объявление массива Private Sub Command4_Click() If Text1.Text = «» Or Text2.Text = «» Then GoTo If CInt(Text1.Text) CInt(Text2.Text) Then zzz = MsgBox(«Массив должен быть квадратным», vbOKOnly, «Ошибка») ReDim a(M, N) 10 End Sub ' Заполнение двумерного массива Private Sub Command5_Click() For i = 1 To M For j = 1 To N a(i, j) = InputBox(«введите элемент » & i & » строки » & j & » столбца «, «Ввод элемента», «0») Next j Next i End Sub Private Sub Command6_Click() List1.Clear End Sub Private Sub Text1_Change() M = CInt(Text1.Text) End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) sTemplate= “qwetyuiop[]asdfghjkl;'zxcvbnm,/ QWERTYUIOP{}ASDFGHJK_ L:ZXCVBNM=\_+|`~!@#$%&*()йцукенгшщзхъфывапролджэячсмить_ бюЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ,№* » If InStr(1, sTemplate, Chr(KeyAscii)) > 0 Then KeyAscii = End Sub Private Sub Text2_Change() N = CInt(Text2.Text) End Sub Private Sub Text2_KeyPress(KeyAscii As Integer) sTemplate= “qwetyuiop[]asdfghjkl;'zxcvbnm,/ QWERTYUIOP{}ASDFGHJK_ L:ZXCVBNM=\_+|`~!@#$%&*()йцукенгшщзхъфывапролджэячсмить_ бюЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ,№* » If InStr(1, sTemplate, Chr(KeyAscii)) > 0 Then KeyAscii = End Sub Форма для ввода элементов двумерного массива и вывода результата приведена ниже.

Литература 1. Ананьев А.И. Самоучитель Visual Basic 6.0. / А.И. Ананьев, А.Ф.

Федоров. – СПб.: БХВ – Санкт-Перербург, 2000. – 624 с.

2. Браун К. Введение в Visual Basic для программиста / К. Браун. – М.:

Мир, 1993. – 415 с.

3. Вайланд Б. Visual Basic 6 / Б. Вайланд. – М.: “Интерэксперт”, 2002. – 238 с.

4. Кузьменко В.Г. Visual Basic 6. Самоучитель / В.Г. Кузьменко. – 2 – е изд. – М.:ООО “Бином — Пресс”, 2003. – 432 с.

5. Microsoft Visual Basic 6.0 для профессионалов. Шаг за шагом: Практ.

пособие : пер. с анг. – М.: Изд-во ЭКОМ, 2002. – 720 с.

6. Нагина Е.К. Visual Basic. Теория Часть 1: учеб.-метод. Пособие / Е.К.

Нагина, В.А. Ищенко. – Воронеж,: ВГУ, 2004 – 75 с.

7. Ищенко В.А. Visual Basic. Практика Часть 2: учеб.-метод. Пособие / В.А. Ищенко, Е.К. Нагина. – Воронеж,: ВГУ, 2005 – 79 с.

8. Электронный каталог научной библиотеки Воронежского государственного университета. – (http // www.bib. vsu.Ru/).

9. Социальные и гуманитарные науки. Экономика: Библиографическая база данных. 1986-2005 гг. / ИНИОН РАН. – М., 2006. – (СD. ROM).

Введение……………………………………………………………………………………………… 1. Основные понятия объектно — ориентированного…………………………… программирования……………………………………………………………………………….. 2. Интегрированная среда разработки………………………………………..

…………. 3. Объекты и управление объектами в VB…………………………………………… 3.1. Объекты, используемые при создании приложения………………….. 3.2. Основы работы с объектами…………………………………………………….. 4. Стандартные элементы управления VB…………………………………………… 4.1.

Общие свойства, методы и события…………………………………………. элементов управления……………………………………………………………………. 4.2. Стандартные элементы управления, их свойства,…………………….. методы и события………………………………………………………………………….. 4.3. Меню Visual Basic……..

……………………………………………………………. 5. Создание простого приложения………………………………………………………. 5.1. Создание, сохранение, открытие проекта…………………………………. 5.2. Создание формы……………………………………………………………………… 5.3. Порядок создания приложения………

………………………………………… 6. Управление проектом……………………………………………………………………… 6.1. Структура проекта…………………………………………………………………… 6.2. Проводник проекта………………………………………………………………….. 6.3. Просмотр структуры проекта……..

……………………………………………. 6.4. Свойства проекта…………………………………………………………………….. 6.5. Отладка проекта………………………………………………………………………. 6.6. Обработка ошибок…………………………………………………………………… 6.7.

Создание исполняемого файла проекта……………………………………. 6.8. Работа с несколькими проектами…………………………………………….. 7. Разработка пользовательского интерфейса……………………………………… 7.1. Диалоговые окна……………………………………………………………………… 7.2.

Формы как пользовательские окна диалога……………………………… 8. Компоненты языка Visual Basic………………………………………………………. 8.1. Переменные…………………………………………………………………………….. 8.2. Константы……………………………………………………………………………….. 8.3.

Массивы………………………………………………………………………………….. 8.4. Оформление программных кодов…………………………………………….. 8.5. Программные модули……………………………………………………………… 8.6. Редактирование исходных кодов……………………………………………… 8.7. Процедуры…

……………………………………………………………………………. 9. Управляющие структуры………………………………………………………………… 9.1. Структура принятия решения If-Then-Else……………………………….. 9.2. Дополнительное условие ElseIf……………………………………………….. 9.3.

Управляющая структура Select Case………………………………………… 9.4. Операторы передачи управления……………………………………………… 9.5. Управляющая структура For-Next……………………………………………. 9.6. Управляющая структура While-Wend………………………………………. 9.7. Управляющая структура Do-Loop……………

………………………………. 9.8. Управляющая структура For-Each-Next……………………………………. 9.9. Оператор Exit………………………………………………………………………….. 10. Разработка программ с использованием форм пользователя………….. Задание 1. Разработка VB – приложения “Приветствие студента”….. Задание 2.

Разработка VB – приложения “Определение возраста”…. Задание 3. Разработка VB – приложения “Рисунок на форме”………… Задание 4. Разработка VB – приложения “Удача”………………………….. Задание 5. Разработка VB – приложения “Почтовые наклейки”…….. Задание 6. Разработка VB – приложения “Пересчет валюты”…………. Задание 7. Обработка одномерного массива…………….

…………………….. Задание 8. Обработка двумерного массива…………………………………….. Литература…………………………………………………………………………………………. ………………………………………………………………………………………..

Учебное издание Ищенко Валентина Александровна Нагина Елена Константиновна VISUAL BASIC Разработка приложений Теория и практика Учебно-методическое пособие для вузов Редактор Бунина Т.Д.

Pages:     | 1 |   …   | 7 | 8 || Книги по всем темам

Источник: http://knigi.dissers.ru/books/1/13098-9.php

Biz-books
Добавить комментарий