ИЗ КНИГИ: MICROSOFT VISUAL BASIC GAME PROGRAMMING WITH DIRECTX, JONATHAN S. HARBOUR
НАДЕЮСЬ, С ПЕРЕВОДОМ ТРУДНОСТЕЙ НЕ ВОЗНИКНЕТ, БЫЛО БЫ ЧТО ПЕРЕВОДИТЬ…
BREAKING THE RULES
Let me fill you in on a little-known secret: Visual Basic is a rogue language. That's right, VB does not follow the rules! VB started out by committing simple misdemeanors, but has developed many felony crimes over the years and now shows complete disregard for authority! Visual Basic is so simple that many programmers disregard it after spending only a few minutes with the compiler. That is the crime of VB—fooling unsuspecting programmers into a false belief that the language is for beginners, causing them to make the mistake of underestimating the language.
What do I mean by this? Visual Basic is more of a product than a language in the strictest sense. The VB language is a descendant of the original BASIC language, but has so departed from the roots of BASIC that it might now be considered a new language. VB breaks the laws set forth in computer science academia by providing simple solutions to complex problems.
Need quick access to a database table? Throw a few controls on a form, set a few properties, and go. Need to write a game with DirectX? Reference the DirectX library, throw a PictureBox on top of a form, and go!
You see, VB does not assume that you have a complex problem that requires an algorithm. (Yikes, that word makes my spine tingle!) VB assumes that you can solve a problem by assembling simple objects into complex solutions. Figure 2.1 illustrates this concept by showing the primary components that can be used by a VB program.
Language Barriers
What does it mean when someone claims to know C++? That person's skill is usually limited to his preferred platform, such as Linux. Try compiling a Visual C++ program using GNU C++, or vice versa. In just doesn't work. In fact, C++ programmers take pride in their conversions (also called ports) from one platform to another, because the task is often monumental. Another problem is that a large percentage of C++ programmers really do not know or use any parts of the "++" in the language—they are still programming in straight С
How can you tell the difference? It's pretty easy. A typical game written in С will have mostly function prototypes, structs, and variables at the top of source code files, rather than objects.
Visual Basic does have a limited form of OOP (Object-Oriented Programming) built in. You can dramatically enhance your games by using these simple OOP features, mainly through classes and properties. Some С diehards claim that C++ is inefficient and will bog down a game. This is true only if you abuse the C++ features by overloading and inheriting everything. (Those subjects will be covered in Chapter 5, "Optimizing Visual Basic with Objects." The power of VB lies in its extensibility. Any time you need to extend a program or reuse existing code, you can reference a type library with the Project References dialog or use a Declare statement to call an external function. I will explain the subject of extensibility more in Chapter 13, "Building the DirectX Game Library."
So how does VB accomplish so much when it is supposedly light-years behind other modern languages? VB is modest, subtle in exposing its features. At first glance, VB is plain, unsophisticated, and feature-poor for beginners. But what happens once you get to know VB? You discover that underneath the shroud of the drag-and-drop GUI "front" is a sleek, smooth, and powerful language.
Visual Basic Makes Its Own Rules!
Visual Basic is a highly standardized programming language because it is the product of Microsoft. No other company can create another form of Visual Basic because Microsoft owns it. This status differs from most traditional programming languages, which are public domain or licensed in theory, and then implemented by competing companies. Over time, the most prolific or feature-rich compiler will dominate the market for that particular language.
Автор спросил о его преимуществах перед другими языками. Я так понимаю, что вопрос был о преимуществах Visual Basic, которых нет у других языков.
В третий раз тебе повторяю - это дизайнер форм. Дошло наконец?
Ну и кроме того для новичков удобно то что программирование происходит под жёстким контролем и любая ошибка может быть отслежена, а общие ошибки (например преобразование типов) могут быть автоматически исправлены. Несомненно всё это влияет на конечную скорость приложения и действительно быстрые программы на VB может написать только профессионал, разбирающийся в VB. Не просто человек отлично усвоивший правила языка, а специалист по программированию.
Если сделаешь над собой усилие, и опустишься ещё ниже, чем машинные коды, то откроешь много для себя интересного. К чему это я говорю? К тому, что "монологи, предложения и слова" - это всего лишь метафоры, а ты воспринимаешь это как прямой факт
...
Если ты хочешь дойти до самой сути, то незачем останавливаться на удобной для тебя ступени: машинных кодах.
Совершенно бесмысленно предложение и оно совершенно тут не кстати. В процессор заложен определённый набор комманд и каждая команда обозначена определённым кодом. Другого интерфейса не существует, а та чушь которую ты пытаешся представить в качестве способа программирования совршенно здесь неуместна.
Поэтому не надо заявлять, что подход с позиции монологов, предложений, слов - поверхностный.
CyRax, дизайнер форм присущ только Visual Basic'у???
И этим он выгодно отличается от других языков? Ты это уже третий раз повторяешь. Или не дошло ещё ? ))
Пока я не возразил тебе, ты молча был согласен с тем, что я высказал. Как только возразил по поводу редактора форм, ты тут же стал рассматривать под микроскопом каждое моё слово, вкладывая в них свой смысл. Некрасиво это.
Не надо вкладывать в мои слова свой смысл.
Можно было бы дискутировать бесконечно на тему "какой ещё смысл можно приписать тому или иному выражению". Но я не буду этого делать по причине:
1. У меня нет желания дискутировать с тобой
2. У меня нет времени дискутировать с тобой
3. Мне не нравится, когда передёргивают. Это признак неуважения
4. Из этой дискуссии ничего полезного и познавательного для себя я не извлеку
5. Дискуссия в этом топике - проявление неуважения к автору вопроса.
Мне больше нечего тебе сказать. Можешь продолжать обсуждать мои слова в одиночестве. Твое мнение, как заранее предвзятое, меня больше не интересует.
CyRax, дизайнер форм присущ только Visual Basic'у???
И этим он выгодно отличается от других языков? Ты это уже третий раз повторяешь. Или не дошло ещё ? ))
Ты сам себе противоречишь. То тебе процедуры и ООП не нравятся потому что они изобретены не в VB. Теперь тебя дизайнер форм не устраивает потому что он есть в других языках. Ты уж определись как нибудь, а то тебе никаким макаром не угодишь - то тебе не так и это тебе не этак.
ИМХО для обучения VB подходит мало уж лучше Turbo Pascal или Python вот бы ему меня в школе научили.
В обучении самое важное - наглядность. Чтобы результат учебы можно было увидеть сразу, желательно в красивом виде, например, окошком, а не серой строкой режима ДОС и даже не строкой в броузере (интерпретаторе). Python - это язык для раздолбаев, VB хоть немного стремится походить на Си.
мои студенты чтобы создать модель эксперемента будут сидеть над ним пол года ?
Как раз наоборот, это на турбопаскакале они будут полгода изучать интерфейс корявого и тормозного графического драйвера, чтобы через полгода нарисовать на 640x480@60Hz 16 цветную картинку кружками и квадратиками.
Жалко мне сишных снобов, они так бахвалятся своим языком, что забывают, что те, кого они дразнят, обычно и Си знают лучше их, и программирование, и эрудированы лучше.
Синтаксис в VB хреновый - сишный по моему попонятнее
Если бы это было действительно так, то VB и C сейчас играли бы совсем другие роли. Наоборот, в Си совершенно неудобовариваемый синтаксис. Вот это и можно назвать преимуществом VB. Но всё же главным недостатком VB можно считать такую же далёкость его от программирования, как близок программированию Си.
Главное преимущество VB это скорость создания проектов. Причиной тому является замечатальный синтаксис(если не требуется быстрая обработка данных, работа с бинарной арифметикой или работа на аппаратном уровне). Скорость создания проектов очень важный параметр. Время программиста(в частности мое) стоит дорого и то, что удобно сделать на VB надо делать на VB и только на Vb. Это будет оптимально. Я программирую в основном для железа(точнее для контроллеров) на С++ с ассемблерными вставками, там basic неприменим по причине слабых аппаратных ресурсов(памяти и скорости проц.), но если требуется взаимодействие с пк на пк я по возможности стараюсь использовать VB, это просто удобней. А как следствие больше сданных проектов за тоже время.
Еще хочу сказать по поводу скорости - современные версии VB, безусловно уступают С в скорости, но терпимо и к тому же предельные скорости требуются далеко не всегда.
Как вывод:
VB - необходим оптимизирующему программисту.