Thursday, June 11, 2009

Is Visual Basic a serious language?

On many different programing forums, I have read many different arguments for and against the usefulness of Visual Basic. Some programmers feel that Visual Basic is just a toy language that should be left to children while other programmers feel that visual basic is a serious development tool. Since visual basic started as a simple language, many programmers have a jaded opinion of Visual Basic even though it has grown into a very powerful language. Visual Basic is a serious development environment, and it can be used to solve very complex problems.

Software development has grown into a complex process. In the past, one or two programmers could create and maintain world leading software; however, modern day software requires large development teams and interdisciplinary people. As software development increases in complexity, the cost of software development increases as well. Programmers need powerful tools to deal with the ever increasing complexity of software; indeed, they need tools like Visual Basic.

While jaded programmers doubt the power of Visual Basic, they understand that software development is rapidly growing in complexity. Visual Basic provides abstractions to help simplify problems, and it provides a fast turn around time for development; therefore, the cost of development in Visual Basic is considerably smaller in comparison to many other languages. Visual Basic also leaves behind the baggage found in many other languages. Memory leaks, runaway pointers, and buffer overflows are not as large of a problem in Visual Basic as they are in other languages because Visual Basic manages details that are error prone. Even though some programmers doubt the power of Visual Basic, they can see some of its advantages.

The Visual Basic language allows programmers to use object oriented programming, construct logical statements, and implement important data structures. Object oriented programming is a very powerful feature because it allows programmers to build up libraries of reliable code. Programmers can use object oriented programming to continually add layers to complex problems so that the problems become simplified and easier to work with. In addition to OOP., Visual Basic allows logical statements like shift, and, or, and xor that are fundamental to powerful programming. Programmers can also implement data structures in Visual Basic like link lists, stacks, queues, and trees. Visual Basic has all the important features that are found in other languages while it leaves much of the error prone baggage behind.

Although visual basic is a great language, some programmers disagree. Some programmers believe that Visual Basic lacks powerful features, but Visual Basic programmers can implement any data structure that can be implemented in C++. Since Visual Basic allows programmers to solve problems rapidly, some programmers believe that it must effect the software quality; however, it increases the software quality because programmers are working with complex problems through layers of abstractions. Many programmers believe that Visual Basic is too slow to be useful, but it is often as fast as comparable software written in other languages. While languages such as C++ are useful in special areas of programming, Visual Basic adds much to a programmers tool-belt.

A small amount of programmers believe that Visual Basic encourages bad programming practices and is used by stupid people, but they are misguided. Visual Basic is a great language for first time programmers, and it has a larger number of new programmers who are learning the basics of programming; however, knowledgeable visual basic programmers follow good programming practices. Like Visual Basic, poor programming practices are prevalent in other languages as well. The battle between security experts and hackers is intense due to wide spread use of poor programming practices in all languages. Hackers have no trouble finding countless exploits in C and C++ applications because of poor programming practices and lazy programmers; also, users have no trouble finding run away pointers and memory leaks. In a basic nutshell, a formal education in computer science and mathematics is what separates good programmers from bad programmers.

In conclusion, Visual Basic is a powerful tool in the hands of knowledgeable programmers. Since computer hardware is moving to multiple core processors, software is going to become increasingly difficult to program. Computers are also prevailing in unlikely places such as phones, cars, and other personal gadgets, and they are all interconnected into a vast network called the internet. Programmers need powerful tools that provide abstraction, and Visual Basic is a very powerful tool for programmers to add to their toolbox.

2 comments:

  1. Why would you consider pointers as baggage?

    Function overloading is not supported in VB.

    Calling API is not as simple as it is C++.

    And as you rightly pointed out, VB allows you to code badly and get away with mistakes.

    ReplyDelete
  2. Pointers are baggage because they are very error prone to use. Mistakes can lead to buffer over flows, uninitialized reads, dangling pointers, invalid frees, double frees, and heap corruption. The advantage of pointers is performance at a much higher risk of security and bugs. As the world becomes more dependent on computers, security and reliability takes higher priority.

    Function overloading is supported in visual basic.net
    http://msdn.microsoft.com/en-us/library/ms973896.aspx

    The dot net framework has wrappers around most APIs used by windows, and it can be used without much trouble.

    ReplyDelete