Sie sind auf Seite 1von 2

Question 1-What are the advantages and disadvantages of visual basic.net Answer Visual basic.

net has many advantages and just as many disadvantages,for the user of the software it about finding a balance and identifying the characteristics that make using it favourable. Advantages

Option Strict Prevents unintended type conversions. This means that you cannot accidentally assign an Integer value to a String variable; however, this is not always foolproof. VB.Net does allow some unintended type conversions, such as an integer value could be placed in a Long variable. Named Indexers support Examples would be properties with parameters. Support of legacy keywords Although some keywords have either been discontinued or their usages completely changed there still remains a huge amount of support of legacy keywords; this is useful for converting legacy projects to the current language specifications. Many will say that the VB.Net conversion wizard has many pitfalls; this is true, however, it does provide a starting point in the conversion process that many other languages do not provide. Handling Pointers indirectly This provides less opportunity of instability in the produced application; aka produced applications are more secure and stable. Cannot handle unmanaged code This provides a more stable and secure production of code. Easy to use Rapid Application Design (RAD) interface Within a matter of minutes a complete Graphical User Interface (GUI) can be produced; thus requiring less programming time and less design time. Project wizards When creating a new project, or just adding a new form or button, the environment will automatically generate the default coding to have the objects appear; in some cases there are wizards that can provide default coding to have some functionality within the application. This translates to a working application can be designed and coded in a fraction of time than some other languages. Large Talent Pool Since there are so many programmers that know VB you can have a fairly easy time discussing obstacles you run across in your programming and find ideas on how to bypass them; in the same token you may also find a larger number of books that cover a wide variety of topics (general and specialty) and there are an enormous number of websites that cover a wide variety of topics and other means of support. VB.NET is totally object oriented. This is a major addition that VB6 and other earlier releases didn't have. The .NET framework comes with ADO.NET, which follows the disconnected paradigm, i.e. once the required records are fetched the connection no longer exists. It also retrieves the records that are expected to be accessed in the immediate future. This enhances Scalability of the application to a great extent. VB.NET uses XML to transfer data between the various layers in the DNA Architecture i.e. data are passed as simple text strings. Error handling has changed in VB.NET. A new Try-Catch-Finally block has been introduced to handle errors and exceptions as a unit, allowing appropriate action to be taken at the place the error occurred thus discouraging the use of ON ERROR GOTO statement. This again credits to the maintainability of the code. Another great feature added to VB.NET is free threading against the VB single-threaded apartment feature. In many situations developers need spawning of a new thread to run as a background process and increase the usability of the application. VB.NET allows developers to spawn threads wherever they feel like, hence giving freedom and better control on the application.

Security has become more robust in VB.NET. In addition to the role-based security in VB6, VB.NET comes with a new security model, Code Access security. This security controls on what the code can access. For example you can set the security to a component such that the component cannot access the database. This type of security is important because it allows building components that can be trusted to various degrees. The CLR takes care of garbage collection i.e. the CLR releases resources as soon as an object is no more in use. This relieves the developer from thinking of ways to manage memory. CLR does this for them.

Disadvantages

Cannot handle pointers directly This can be a disadvantage because there is more required coding and thought to handle a pointer. Additional coding results in additional CPU cycles; which in turn requires additional processing time; which results in slower applications. Large Talent Pool Since VB is so easy to learn there is a significantly larger pool of competition; thus, there can be more programmers applying for the same employment or project and this can ultimately drive the market value of the programmers services down. Intermediate Language (IL) compilation These types of compilers can be easily decompiled (aka Reverse Engineered); there is little that can be done to deter decompiling of the application, and nearly nothing that can be done to prevent it. Just-In-Time (JIT) compiler JIT compiling is the way the computer can interpret the IL compilation. This is essential to running the application. This means the target computer will be required to have JIT and that the application can receive performance degradation because of the extra CPU cycles required to use JIT Large Libraries Because VB is an IL there is a large number of libraries required for the JIT compiler to interpret the application. Large libraries require more hard drive space, more computing time and most of all it can be a nuisance if the application is being deployed over the internet and the user must obtain these libraries in addition to the files of the compiled application. Visual basic is a proprietary programming language written by Microsoft, so programs written in Visual basic cannot, easily, be transferred to other operating systems. There are versions of Basic that run on several operating systems, but they aren't direct clones of VB so some work would have to be done. Visual Basic is built around the .NET environment used by all Microsoft Visual languages, so there is very little that can't be done in Visual Basic that can be done in other languages (such as C#). Visual Basic only really exists as a high-level Windows programming language - for writing Windows applications. Whereas other languages (particularly the "C" family of C, C++ and C#) have a life outside of Windows and are used for everything from writing device drivers or "embedded" systems up to large applications.