Главная » 2009 Ноябрь 6 » О назначении Visual Basic в сравнении с другими языками
08:28 О назначении Visual Basic в сравнении с другими языками |
VB - лидер в технологии "программописания". Лидер ли? Давайте посмотрим на предмет трезвым взглядом. По быстродействию - слаб, по мощности используемых библиотек доступа к системным ресурсам - тоже не очень, по возможностям работы с графикой , совсем не весьма. Что же остается? А остается то , что и сделало VB одной из платформ-лидеров - стандартный юзер интерфейс пишется на нем очень быстро и непринужденно. Полученный результат выходит стандартным в применении и каким угодно "навороченным" во внешнем виде. Это раз. Без этого VB не стал бы популярен, но не это так продвинуло его вперед. Доступ к базам данных. Удобный, быстрый, легко реализуемый. Глубокая интеграция с Микрософт Офис. Вот те коньки на которых Vb едет вперед, и не думает уступать пальму первенства другим. То, на что пеняют программисты на других языках - большие размеры сетапов, невозможность работы напрямую с системными библиотеками, например MFC, это все, в рамках области применения бэйсика может и нужные , но не необходимые добавки. Большой размер сетапа, ну и что? Кто сейчас распостраняет программы стоимостью в десятки тысяч долларов на дискетах? Ресурсоемкость? Туда -же, драйвера ведь на Visual Basic не пишут. Быстродействие? Так ведь все равно система большую часть времени ожидает ввода от юзера. Зато в какиой огромный плюс- время разработки приложения минимально. И это ценится. Итак, цитирую ту часть дискуссии из Ru.VisualBasic, которая кажется мне наиболее конструктивной. Vb никогда не проектировался как язык, заменяющий такие системные языки, как Cи (С++). Он предназначен прежде всего как язык управления объектами, которые создаются на C. Пример тому, ядро DBEngine - выполено на C++. Hо эксплуатация его производится в VB. Изначально фирма Microsoft позиционировала VB, как язык разработки прототипов (макетов) приложений и пользовательского интерфейса, что в общем-то первые версии только и умели делать. Аналогичный продукт в те времена был у Borland, назывался ObjectWindows. Объеты же и возможность работать с базами данных появилась несколько позже. Если какому-то участку твоего приложения требуется большая скорость работы и эффективность, от C ты не уйдешь, но именно для этого участка. Там где требуются высокая скорость разработки приложения - для VB практически нет альтернативы. Такие средства как Delphi и C-Builder значительно ускоряют разработку приложений, но не настолько, что бы с их помощью поддерживать актуальность экономических приложений. Ввиду специфики языка VB - отсутствие указателей, ссылок и пр., присутсвующих в ObjectPascal (Delphi) и C/C++, программист на VB может больше времени уделять непосредственно разработке бизнес процессов приложения, не задумываясь о динамическом распределении памяти, передаче параметров по ссылкам и пр., что онимает кучу времени при программировании на других языках и порождает такую же кучу ошибок, которые приходится потом вылавливать. Я не имею ввиду, что ошибки обязательно есть, некоторые умеют писать вовсе без них (не я...), я имею ввиду, что один и тот же человек прогрммируя на VB сделает гораздо меньше ошибок связанных с перечисленным выше, чем если он будет писать программу на Delphi или C++. Также на VB удобно создавать макеты приложений, библиотек, которые потом будут перенесены на C - удобные средства отладки, более-менее устойчивый интерфейс А еще в природе существует PowerBASIC, который умеет компилировать VB код в DLL библиотеки или консольные приложения , так что можно обойтись и вовсе без Си. У меня довольно много знакомых, с фразами: "Hа этом курявом васике ничего нурмального не сделаешь, только фигнёй промаешься...", но подсчитать приложения, которые они написали за свою жизнь - фиг да ни фига, "да вот, махаюсь, вторую неделю с ... VxD-шкой, опять мелко-мягкие фигню подсунули". И это правильно.... Конечно за удобства приходится платить - в VB затруднён доступ к "низкоуровневым функциям" системы, чего не скажешь о Delphi И уж тем более о C/C++, но ведь VB и задумывался с тем, что бы избавить программирующего на нём человека вообще о знании существования таких функций, хотя люди знающие с успехом ими пользуются. Программы написанные на VB требуют наличия соответствующих библиотек (а кто их сейчас не требует), они работают несколько медленнее, чем программы на Delphi, но оператор (юзер) сидящий за компьютером работает во сто раз медленней и, в общем-то, он ничего не заметит (об этом уже говорилось). И еще при проектировании баз данных, на мой взгляд механизм JET намного удобней BDE, используемого в продуктах Borland, к тому же есть еще RDO и ADO. А при работе с OLE объектами VB вообще, как мне кажется, нет равных. <Заимкин Олег Владимирович> Cпешу дополнить статью своими соображениями, так сказать вставить свои пять копеек ;) На мой взгляд очень сильное преимущество VB в его, скажем так,распространенности или стандартизованности. VB доступен во всех офисныхприложениях, а также в некоторых других продуктах. В том числе имеются реализации VB очень похожие на VBA, но все таки не VBA ;) Например, RoseScript (или RoseBasic) встроенный в Rational Rose, который переноситсяпрактически один-в-один на VB. То есть этого стандарта придерживаются разработчики клонов Бейсика. Таким образом, зная ВБ мне, как разработчику, не составит труда написать приложение для автоматизации офисного продукта или продукта для разработки, написать продвинутый "батник" на VBScript, а при необходимости легко перенести написанный код в другую программу, либо в готовое приложение. Кроме того, подобная универсальность позволяет практически любому программисту разобраться в моем коде, внести изменения. Следующим очень важным преимуществом VB я считаю его "родство" с технологией COM. На VB проще всего писать полноценные COM-компоненты. Как следствие, на VB очень просто писать масштабируемые приложения ;) При необходимости, класс легко выносится в отдельный компонент, компонент легко переносится на другой компьютер (DCOM) или на сервер компонентов (MTS) и т.д. и т.п. Причем все это не требует модификации(!) собственно кода. Автор: Борис Рудой |
|
Всего комментариев: 1 | |
| |