VB
 
 
 
 
 
 
 
 
 
 

создание Интернет-магазина Китай-город, видеонаблюдение Курск, озеленение Полежаевская
VB
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) и т.д. и т.п. Причем все это не требует модификации(!)
собственно кода.

Это вкратце мнение несколькоих человек. Очень созвучно с моим собственным. Если у вас есть cвое мнение по этому вопросу - пишите, обсудим.

 

Добавлено: 19 августа 2002

Отзывы читалелей

Денис

Я считаю Visual Basic безусловно лидером в разработке приложений для windows.
Его интегрированность с офисными приложениями просто супер! Многие программисты считают, что он просто "дохловат", а это уже зависит от задачи. Каждый сам волен делать выбор. По моему главное чтобы программа работала и делала то,что нужно.VB во многих аспектах позволяет избежать "головной боли" (как например в дельфинах или сях с плюсами). И зачем изобретать велосипед!? VB позволяет быстро и красиво сделать многие вещи (пока насиловать клаву горами кода скажем на сях с плюсами).Скорость разработки - это важно !!!
Используя одни только офисные приложения можно горы свернуть. Многие только называют себя
программерами и спорят ,что же лучше! А на самом деле в свет выпустили пару кривых прог или вообще не одной полезной( у меня полно таких друзей и знакомых).
Если твои программы сходят со стапелей и реально работают какая разница на чем программить.
Но вот если они работают медленно -это уже другой вопрос. СверхГиперСуперсложные программы согласен лучше писать на чем то другом.(хотя с этим не совсем согласен).Но многие ли имеют хорошие базовые знания по алгоритмизации и программированию? Нет, действительно хороших программистов очень мало и они не тратят время на глупые споры! Серъезная математическая подготовка и реальный опыт - вот козыри всех настоящих программистов!
Я за 8 лет написал кучу приложений на Visual Basic и считаю что для разработки например бухгалтерских программ ему нет равных. VB - это уже не язык для начинающих программеров, чтоб его действительно освоить нужно затратить немало усилий хоть он и кажется простым на первый взгляд!!!

ALEX

Медленно работает говорите! Нифига подобного просто код надо нормально писать. А потом не забыть его оптимизировать. Ну конечно драйвера на нем не напишешь но для большинства задач его быстродействия хватит зауши!

Хоха Юрий

Я вообще не програмист, но по роду научных занятий пришлось с програмированием познакомиться. В мои задачи входит обработка баз данных и несложные мат. рассчеты (приближенные расчеты нелинейных функций и т.п.). Так вот — VB по моему разумению вполне хватает потуги посчитать чего-нибудь большое и сложное, особенно если не нужно сильно спешить, а возможность кинуть полученный результат в Ворд и Ексель (без проблем, и нормально сформатированным), сохранить их в базу данных и проводить выборки из неё, и при этом затрать на приложение пару дней без напряга меня поразили до глубины души.
Я очень доволен VB, он крут, особенно если алгоритм для рассчетов составлен без уродства.

Nikolay

Покрайне мере с ним очень трудно работать с InterBase. Все можно сделать на Борландовских прогах и с Офисом и т.д., Единственное с моей стороны преимущество, это то, что на нем можно написать в Офисе и скрипт, а так ни чего хорошего, объем ехе получается большой

Programmer

VisualBasic это лучший в мире баланс между простотой и мощностью!!!!!!

Дмитрий

То что VB должен делать - он делает. И делает хорошо.

Alexey

Не понимаю, из-за чего вообще весь сыр-бор, ребята? Как правильно заметил автор, люди, склонные критиковать VB, сами слабы разродиться чем-нибудь эпохальным... Но ставить VB во главу угла - ошибка того же плана! Не в языке дело - уверен, хорошее приложение можно написать на ЛЮБОМ языке программирования - росли бы руки, откуда нужно (сам тому свидетель - на макроязыке К3 (ни циклов, ни пользовательских функций, "тихие" ошибки - ужас программиста-объектника, короче) была написана отличнейшая библиотека команд для этой графической системы)

Sailor

Согласен с тем что не важно на чем писать. Нам дается куча инструментов. И если VB в большенстве своем спавляется с поставленными задачами связаными с повседневной работой, то на кой пытаться забивать гвозди с помощью бульдозера. Именно поэтому не надо сравнивать языки, какой лучше какой хуже !! Это всего лишь инструменты в корявых или искустных руках. Зачем сравнивать молоток и пилу :)))

Apollion

Я не программист. Смотрю на монстров СИшников, как десятилетний мальчик на параде Советских войск на Красной площади... Думаю, вот бы и мне знать C++ или чё подобное...
Потом возвращаюсь с этой "площади" и пишу на VB..... мечты - мечтами, а работать то надо. :)

Serf

Хотелось бы то же оставить свои домыслы на этой странице. Сугубо мое личное мнение. Нельзя сравнивать языки просто по одному критерию, это необходимо делать учитывая многие факторы. Например если необходимо написать программу не требующую высокой производительности то почему бы не написать ее на VB, это дает преимущество во времени. Согласитесь фактор зачастую не маловажный. А если требуется написать к примеру драйвер или приложения работающие с железом, то становиться сразу очевидно что использовать Бейсик не получиться и придется использовать к примеру С и Ассемблер. У каждого языка свое назначение. И к примеру писать для CGI интерфейса можно писать и на Перле и на С, но если вы знаете что огромная производительность не потребуется, то проще написать на Перле.
Иногда все же возникает вопрос какой язык учить, но в большей степени этому предшествует то, что мы понимаем, чтобы стать хорошим программистом уходят года. И не хочется встать в тупиковую ситуацию, когда при богатом опыте программирования, не сможешь написать соответствующее ПО в силу ограниченности языка. Т.е. выход один становиться специалистом в своей области и налезть туда там где в принципе твои знания не подходят. А благодаря таким софтерным гигантам, как Микрософт или Sun, технологии и платформы развиваются с каждым годом и многие ограничения языков становятся менее заметны.

igor

Хорошо бы в этот "лидер" (VB) добавить поддержку указателей, обработку ошибок

Atomix

Вообще то вопрос неправильно поставлен, это то же самое что сравнивать одну видеокарту с другими (как это сейчас модно на форумах), и побольшей части человеку присуще такая черта как чувствовать превосходство себя над другими, а теперь изложу очевидные для себя моменты:
1) Любое развитие движется в сторону максимального компромисса между простотой и мощностью, отсюда вывод каждый язык разрабатывается под конкретную область применения (все-что универсально не ест гуд!)
2) Из пункта 1 вытекает что в наш век требуется быстрота разработки, и для этих целей выбирается соответствующий язык, а остальные проекты требующие мощность пишутся на соответствующих языках.
3) Как я уже сказал в наш век вопросы программирования железа и другой области охочей до мощностей занимает лишь 20% от остальной области программирования (для общей массы программистов)
4) Также я считаю (как уже некоторые говорили) что у программеров критикующих других программеров, есть очень низкая самооценка и таким образом они хотят утвердиться за счет других.
5) Во всех областях есть лишь 15% профессионалов и они молча работают, получая за свою работу хорошие деньги и возможно получают от этого кайф (в смысле от работы), а остальным просто не хватает таланта или еще чего-нибудь, чтобы стать такими же... (правда переизбыток специалистов вреден для любой области)
6) Также могу сказать на основании собственного опыта, когда мне на VB не хватает мощности (а это бывает редко) то я либо настолько оптимизирую код (в основном посредством обработки больших массивом и вычисления через массив типа byte) либо использую сторонние свободные библиотеки, либо вставляю функции написанные на Asm, также если кто-то говорить что VB медленный то надо приводит конкретный пример, так например люди говорили что в VB нет битовых операций, когда я делал Base64 библиотеку, но если вы знаете основы цифровой логики то это для вас не будет проблема, для примера встроенная фукнция Windows Commandera конвертирует файл winword.exe (10 Mbyte) в формат Base64 за время 1,2 сек. , поначалу у меня при работе со строками тоже самое получалось за 10 сек., но потом когда заменил работу со строкой на работу с байтами и добавил битовую конверсия этих байтов время стало 1,5 сек.
6) Например кто-то говорил что в VB нету Asm, а вот и есть да причем в динамической форме, да еще можно работать с любой WinAPI в динамическом режиме (т.е. динамически обьявлять и создавать) , так это вообще получается просто обалдеть, для примера я подсчитывал сумму массива на VB и это заняло 140 мс., а потом написал в динамическом режиме asm - функцию передал ей ссылку на массив и вот результат 10 мс., т.е. все что я хотел сказать нет плохо языка программирования, ЕСТЬ ЛЮДИ НЕ УМЕЮЩИЕ ЕГО ИСПОЛЬЗОВАТЬ НА ХОТЯ БЫ 90%.
7) Ну и напоследок хочу сказать следующее, что в нашей команде программистов готовиться к выходу новая версия движка (написанным на VB 6.0) макроязыка (основанного на VBScript) и дополненного кучей вещей, который позволяет создавать Open Source программы, и который позволяет сделать все что угодно кроме работы с драйверами и прочими вещами (оставим эту работу программистам Microsofta), да если найдется человек котрый скажет что вы несможете писать драйверы на VB то мы ответим следующее: мы их напишем на Asm динамически созданного в VB и встроим его через Ring0 в окружение других VxD, но вот вопрос оно нам надо возиться с областью нам есстественной, поэтому каждый должен на 100 % свою хоть и небольшую область.
VB Forever!

kot

Visual Basic слаб в слабых руках, по этому средний такой программист на Delphi сделает прогу круче на VB, но если Он знает Оч.Хорошо Delphi и Просто Супер VB, то VB нет равных в кодинге, что-то можно обойти, что-то сломать
 
- ИМХО (Моё скромное мнение)

Don

В программировании я новичок (около года) но зная делфи, я предпочитаю ему VB. На VB быстрее и легче программировать приложения для винды, работать с базами данных, есть прямой доступ к API-функциям. Может VB и медленнее чем другие языки, но ведь всё зависит от кода! Для начинающего VB самое то. Начинал я с QBasic'а, потом паскаль, VB, делфи. В делфи (а он сделан на платформе паскаля) мне не нравится то, что после каждой строчки нужно ставить ";"!! Вы можете смеяться, но я ненавижу ставить ";" после каждой строчки!!! В VB легче создавать произвольные константы: их можно вообще не описывать (если отключить Option Explicit)! Говорят, что на делфи можно написать VB, но обратное сделать не получится (Delphi. Программирование на языке высокого уровня: Учебник для вузов / В. В. Фаронов. - СПб.: Питер. 2004 страницу искать лень :) ). Сначала я решил, что когда-нибудь я напишу делфи на VB, но потом подумал: а зачем? Не важно на чем писать главное что писать и как это будет работать. Ведь так?

Антон

Просто в дополнение ко всему сказанному. VB - Майкрософт, а значит мощное развитие, мощная поддержка, максимальная интеграция и перманентное развитие. Поэтому VB имеет более серьезные перспективы, если, конечно, Мсофтовцы не обанкротятся :-))

Oleg

VB - это круто. Однозначно! Для быстрой разработки - нет ничего лучше. И просто супер то, что можно работать с офисом, VBS - тот-же VB.
Ещё круче vb.net - только сильно уж гигантский хрейнвёрк. А возможности - просто опупеть.
 

NIKULA

VB vs. C++. Это неоднозначно что какое-то средство разработки лучше скоростью обработки кода. Вот как-то читал рецензию на VB.NET и что можно сказать: Сегодняшная война в программировании похожа на транспортную войну: Если сравнить паравоз(C++) и комфортабельным Пежо(VB) то конечно паравоз мощьнее, но его средства управления(рычагами) можно сказать не совсем удобна с сравнением компьютаризированого авто, но с новым двигателем(VB.NET) и авто способна обогнать летящих на рельсах груду метала.
Т.к. VS.NET это новая технология и с ней VB.NET получил новый толчек. А именно конструкция такова : Код написаный полностью компилируется при этом адаптируется(т.е. подгоняется, улучшается с определенными качествами кода и платформы на которую готовится прога) и тест показал что коды набраные на C# и VB.NET почти индеинтичны после компиляции со всеми библиотеками.Так зачем марать руки лишним гемороем( распределение памяти, структура связей и т.п. ) если это оптимизируется при компиле

sbos

Для быстрой разработки - ок, но вот только объектно-ориентированная часть языка черезвычайно слаба и серьезные приложения на нем никогда нельзя будет писать, за ислючением VB.NET, к-ый спер свои возможности из C++, Smalltalk.
 
Программист на VB (обычном или VBA) не способен контролировать почти ничего из того, что происходит в его "программе", скорость работы (попробуйте замерить) оставляет желать лучшего. Интеграция с системой просто на нуле, а вызов Win32-api функций еще раз напоминает на чем все стоит - на C.
 
Если кто-то не согласен с моими словами, почитайте стандарт C++

Леонид

Если правильно составлять алгоритмы то программа будет работать достаточно быстро;
изучайте API и возможностей будет хренова гора...

Yury

2 Леонид
"Изучайте API и возможностей будет..."
Хм. А зачем тогда мне вообще язык, который сам, без вызова API, ничего и не умеет ? Смысл восхваляемой легкости разработки как раз таки в том, чтобы и не знать ничего о API. И, если уж мне не хватает возможностей VB, то гемороем этим заниматься ни за что не стану - уж проще на Delphi написать. И быстрее написать и быстрее выполняется.
Да и вообще - после нормальных языков VB кривой и корявый. Ужасно.

Boris Rudoy

2 Yury
Давайте начнем с того, что для обычных, нематематических задач скорость VB прекрасно покрывает все потребности пользователя на современном компьютером железе. Да еще во времена первого пентиума и среднестатистических 32 мег памяти был повод жаловаться. Сейчас - уже нет. Пользователю плевать на чем написано приложение, работать оно будет с 99% вероятностью оюинаково , ну разве что взять в расчет особо запушенные случае написания приложений на java. Это к слову. VB хорош своими возможностями выбора. Вам нужен быстро написанный код - запросто, вокруг просто море active-x компонентов бесплатных и коммерческих котороые разве что кофе в постель не приносят. Все что требуется от программиста - собрать из кубиков программу, и убедится, что все работает как задумывалось. Ну и после этого собрать пакет для инсталяции.
Не хотите возиться с инсталяцией? нет желания использовать сторонние компоненты? ради бога испольуйте API где возможно , пишите свои компоненты... Дельфи? Да он неплох, совсем не плох, но почему на сто VB программистов приходится вего один любитель Дельфи? Откровенно говоря я не знаю причины, и не очень стремлюсь ее узнать, однако она видимо есть.

Дмитрий

Была работа и был конкурс на эту работу.
И была нас трое на это место.
И нужна была программа для обработки путевых листов с выгрузкой в 1С.
Один писал на дельфинах, второй воял на си, а я на васике за два дня набросал макетик и приподнёс сырую но очень красивую и привычную для пользователей "виндов" программку. Остальных ждать нестали и меня приняли. Чере несколько дней появились остальные, но поздно. А я за месяц достучал совою программку до требуемых результатов, отладил и я на высоте.
Вывод - приветсвуем скорость и красоту создания приложений, а до требуемого результата всё равно дорабатывать придётся, на каком бы ты языке неписал!

Залетин Виталий Викторович

Меня удивило мнение некого igor "Хорошо бы в этот "лидер" (VB) добавить поддержку указателей, обработку ошибок". Насчет указателей согласен, но вот насчет ошибок... Интересно, а у какого языка программирования нет средств обработки ошибок?
 
Теперь о VB.
Писать на нем можно практически все. Главное ГРАМОТНО писать и не полагаться на сам язык в сфере преобразования данных, удаления ненужных объектов, зануления строк, массивов и т. д. Я, например, видел код, котрый АПИ функциями около минуты добавлял 100 элементов в ЛистБокс.
Язык прост, но на первый взгляд - в нем куча подводных камней. И если следовать определенным правилам, то результат будет отличным.

 







Яндекс цитирования