Why Choose Visual Studio.Net for system development?
Visual Studio.Net is a fifth generation integrated development environment (IDE) that lets developers adopt a unified programming paradigm, regardless of the language chosen. The Integrated Development Environment includes Visual Basic, ASP.Net, Visual C#, Visual C++, Visual J#, Visual F#, Web Services, Web Control Library, Console Applications, Windows Services.
Visual Studio.Net has taken off with a bang
Microsoft's .NET has had a high rate of adoption – it is now the most widely used development platform. Microsoft has concentrated a huge effort in making the product system/market dominant. Visual Studio.Net is the strategic direction of all future Windows software development. From Vista on, the Windows Operating Systems will be using more and more of the .Net technology.
The Free Visual Studio Community Integrated Development Environment (IDE)
Any individual non-enterprise developer can use the free Visual Studio Community to create commercial computer programs.
Why is Microsoft pushing this new technology so hard?
Windows has been constantly evolving, and the old Operating Systems use the techniques of the last century. The technology behind Visual Studio.Net required a complete rewrite of Windows – fixing all known problems and using the best of development techniques. All the cumbersome routines created higgledy-piggledy over the years have been replaced by a cohesive system of Object Oriented routines. All the new Windows operating system releases will be geared to the new technology.
This was not a minor project. It did not just involve programming language changes. The big feature was "Managed Code" – which eliminates Memory leakage and the corruption problems which have plagued Windows from inception. The new technology caters for 64 bits – allowing bigger and better storage, databases, etc. All security will be dependent upon it. The .NET Framework (code Libraries) will be included in each new Windows Operating System, making deployment easier and smaller.
Are there any other reasons to adopt the new technology?
The new buzz words are Inheritance and Object Oriented programming. There are productivity gains for programmers. Rich Class Libraries make programming easier. XML is handy for transferring data between heterogeneous systems. There are now consistent APIs (Application Programming Interface). Self contained deployment packages, elimination of "DLL hell", no registration – make for easier deployment. ADO.Net now has Disconnected Recordsets – essential for Web database access, and faster than the old ADO. Multi-threading is an appealing feature – this allows background processing, while the user continues working. There is better error handling.
A word of caution from Microsoft about Object Oriented programming
Visual Basic provides polymorphism through inheritance. This is a powerful mechanism for small-scale development tasks, but has generally proven to be problematic for large-scale systems. An over-emphasis on inheritance-driven polymorphism typically results in a massive shift of resources from coding to designing, which does nothing to shorten overall development time. Given that the real test of software is whether it works for end users, tools for rapid prototyping and rapid application development (RAD) have gained wider acceptance than tools for object-oriented programming.
Most Visual Basic projects will have no requirement for OOP. It is recommended that, besides the use of Encapsulation for code and object Re-use, the Object Oriented features be used only when there is absolutely no other alternative.
OOP Coding Horror - Jeff Atwood
I've seen so many problems caused by excessive, slavish adherence to OOP in production applications. Not that object oriented programming is inherently bad, mind you, but a little OOP goes a very long way. Adding objects to your code is like adding salt to a dish: use a little, and it's a savoury seasoning; add too much and it utterly ruins the meal. Sometimes it's better to err on the side of simplicity, and I tend to favour the approach that results in less code, not more.
Object oriented programming is the fastest way to convert simple logic into complex spaghetti code.
Isolate complexity with Encapsulation
Encapsulation is the one feature that of OOP that MUST be used. There are many reasons why the technique of Encapsulation is necessary:
- It hides complexity
- It reduces code to manageable procedures
- It reduces dependencies
- The code is easy to maintain
- By repeated use, errors are reduced
The new features of Visual Studio 2017
Visual Studio 2017 supports Mobile development and the Windows Azure cloud. It comes with .NET Framework 4.7.
Some of the new features are:
- Visual Studio starts faster, is more responsive, and uses less memory than before
- There are no Service packs – Visual Studio is continually updated
- Installations are quicker and more flexible
- Azure tools enable cloud-first apps
- Mobile app allows cross-platform implementations with Xamarin