|
|
|
О Basic'е бедном замолвите слово
*Уважаемый читатель, мои статьи не несут
за собой какого-либо конкретного смысла, а являются лишь выражением
моего мнение. В особо крайних случаях мои статьи можно рассматривать
как вариант саморекламы (Айзус А. Спекман).
В одном из выпусков журнала «][akep», я встретил такое «пользовательское»
объявление (цитирую): «Хая кулхацкера, я пешу большой праэкт на Delphi,
жилающие пресоединится мыльте по адресу…». Мда-а-а-а… И после этого
бейсиковцев обвиняют в неграмотности и малоопытности.
Но сегодня я хочу немного отвлечься от темы унижения программистов на
Paskal’е. Тем более, с этим, я надеюсь, к концу статьи мы разберемся.
За всю мою недолгую жизнь я не раз слышал в свой адрес обвинения в некомпетентности,
причем начинались они сразу после того, как я сообщал, что использую
Basic как основной язык программирования. Видимо тут уже ничего не поделаешь,
но я все же попытаюсь внести свою небольшую лепту в защиту программеров.
Некоторые читатели, возможно, подумали, что я кроме БЕЙСИКа ничего и
не знаю. Если вы так подумали, значит вы не правы. Выучив досконально
ДОСовский QuickBasic 4.5 я взялся за С++… Когда я понял, что это не
моя стихия (дело дошло до написания GUI-интерфейсов на GCC под BeOS)
и решил немножко «подлечить» свои знания ассемблера – было жестокое
желание заставить свою Nvidia GeForce 2 MX работать на компе с шиной
AGP 1x. Подучил… и заставил… кроме того, эта практика научила меня нескольким
веселым трюкам, вроде вшивания тел троянов в Flash-области видеобиосов
карт Nvidia. Таким образом, чтобы назвать меня некомпетентным нужно
обладать неслабым запасом знаний.
К чему я все это говорю? К тому, что после всего этого я вернулся к
программированию на Basic’е, причем на его модификации Visual Basic
5. Почему 5? Тому есть личные предпосылки, а конкретнее, наличие компактной
справки.
Я так и не заставил себя писать софт на C++ (будь то VC или BCB). Пусть
там работа с API удобнее, пусть программы работают немного быстрее (хотя
если грамотно писать, то VB по скорости не уступает, а иногда даже превосходит
C++). Я так и не перешел на семейство .NET (хотя это – дело времени).
Этому тоже есть объяснение – программа, написанная на VB.Net (как и
на любом другом .Net-диалекте), для работы требует .Net-Framework, размер
которого весьма и весьма немал, а есть он далеко не на каждом компьютере.
Таким образом, распространение программ, написанных на VB.Net через
Интернет становится весьма проблематичным.
Ну вот, Бейсик немного похвалили, теперь перейдем к изничтожению ламозойдов,
пишущих кривософт на VB. Вот они – гордость поколения, те, кто придал
Бейсику дурную славу. Скорее всего, такие лжепрограммисты есть у любого
языка программирования, но лично я отвечаю за VB. Из-за таких недоцезарей
страдает мир программирования. Они разделяют, но не властвуют.
Мне удалось немного поработать в команде с человеком, пишущим на С++.
Если бы у меня сейчас была бы возможность взять такого человека в Ormicon
– я бы даже не раздумывал. Я соглашусь – есть вещи, написание которых
на VB если не невозможно, то весьма проблематично. Некоторые прибегают
к использованию ActiveX (дурной тон программирования), некоторые используют
WinAPI (самое рациональное решение), а редкие избирают самый легкий
путь – используют библиотеки, написанные на C++. Хотя довольно часто
я встречаюсь с ситуацией, когда программисты, использующие разные языки
программирования просто напросто недоговаривались. Сишник считал ниже
своего достоинства общаться с бейсиковцем, а последний хотел все сделать
сам, не расчитывая на помощь «умника». Я до сих пор не могу понять,
кто наплодил такие стереотипы. С 96 года (около ВОСЬМИ лет назад!!!)
Visual Basic стал полноценным (!!!) языком программирования – сразу
после того, как обзавелся нативным компилятором. Почему все до сих пор
считают его неудачным экспериментом? Может потому, что в школах детей
все еще учат пользоваться оператором GoTo? Может потому, что весь старый
софт написан на С++ (т.к. тогда другого путного инструментария просто
не было)? Мне это не ясно.
Пока я писал эту статью, я уяснил один интересный момент: в одном из
прошлых номеров я рассказывал о ShareWare и обещал на своем примере
доказать реальность этого метода. Сегодня я защищаю Visual Basic… Надо
сказать, что у меня уже проскальзывала идея о том, чтобы сменить проект,
приостановиться… Теперь я просто обязан довести дело до конца, хотя
бы для того, чтобы дать своим словам твердую опору.
В заключение, я хочу обратиться к представителям сообществ программистов
на разных языках.
Дельфисты, начну я, пожалуй, с вас. Мое отношение к вам весьма двояко,
ибо вы – также как и программисты на Visual Basic привязаны к платформе
Windows. Нельзя останавливаться на достигнутом – учите С++ (это я хочу
сказать вообще всем). Но и не стройте неверное мнение о языке, который
вам неизвестен – я говорю о Visual Basic. Почаще кооперируйтесь – это
ваша отличительная черта – вы всегда работаете в одиночку или небольшими
кучками, но все равно всех объединяет Delphi. (будучи именно дельфистом,
хотел бы прояснить некоторые детали. Дельфи не совсем привязан к платформе
Windows. Полноценная версия визуальной оболочки и компилятора Паскаля
под *nix-системы уже давно существует и именуется Kylix. – прим. ред.)
Программеры на Си. Вам сказать нечего, не забывайте о «братьях меньших».
Ваш язык оптимально подходит для написания библиотек, которыми потом
будут пользоваться все программисты.
Бейсиковцы. Вам будет обращена главная часть моего послания. Не останавливайтесь.
Нельзя уметь хорошо писать на бейсике не зная других языков. В любом
случае – зная С++ на Visual Basic писать проще – это весьма сумбурно,
но все же, это так. И не считайте себя избранными богом (в данном случае
– дирекцией MicroSoft). К сожалению, многие из вас (хотя далеко не все)
весьма неопытны. Не пытайтесь громко «раскручивать» продукт, в котором
сами до конца не уверены. Старайтесь меньше использовать AcitveX и больше
WinAPI. И помните, один мудрый программист сказал: «Сколько бы языков
мы не изучили, сколько программ бы не написали, думать мы будем все
равно на Бейсике».
Спасибо за внимание.
Айзус А. Спекман (izus@mailto.kz)
|
|
|