Visual Studio 10 Beta is Available
Every few years, Microsoft releases an upgrade to its venerable set of development tools: Visual Studio.
Despite being heavily biased towards the technologies that Microsoft is currently pushed, and the advance of other IDEs such as Eclipse, there are many reasons why Visual Studio is still so widely adopted in the industry:
- It is the standard for Windows Development. If you want to create professional native windows applications it is still difficult to avoid using Visual Studio in a way or another.
- It is easy to setup. Due to the tight integration with Windows, VS is an easy to use IDE for MS languages. This is disputable, but at least some beginners may feel more comfortable using C# or VB.NET than other languages.
Other than the standard advantages that we all know about, one of the nice things about Visual Studio is that it reflects the needs and advances of software development. For example, VS2003 introduced managed code technologies, as a reaction to the widespread use of Java. Then on VS2005 MS added nice features to the .NET languages, such as generic types, which where pioneered in C++ world.
We also saw the introduction of several technologies to reduce the gap between MS traditional software development approaches to the new world of the web.
New Features
Thus, at every release of Visual Studio, we can see that the engineers of MS try to make the languages of .NET (especially C#) reflect the current trends. And VS2010 is not different, as we see features that are already popular in other languages/environments become part of the offer:
- Dynamic languages: .NET now support objects created in dynamic languages, such as Python or Ruby, as first class citizens. Now, you can just create a new object with the “dynamic” keyword, and that object will be allowed to dispatch messages at run time — no static information is required by the compiler. Using this feature may allow you to simulate most of the possibilities of dynamic languages such as Python, Ruby, or Objective-C.
- Simplified parameter passing: most dynamic languages also support passing parameters by keywords. This is possible in Lisp, Python, and in a limited sense in Smalltalk and Objective-C. C# and .NET now support these features that make it easier to call methods with many parameters (although we know that we should avoid this).
- Functional Programming: the software world is each day using more techniques borrowed from the functional paradigm. Which is good news, because software is becoming more complex, and with the trend of parallel programming and multi-cores becoming the reality, there is no way to continue with imperative programming models. It is great to see that F#, a .NET version of OCaml is now a standard part of Visual Studio 2010.
Conclusion
The new features of VS2010 make it again a compelling development environment. Most people will say that MS is late to the game by releasing many of these features only now. But we have also to agree that it is better late than never. What do you think?
Further Reading
- The MSDN page for the public beta of VS2010.
- C# in Depth: an updated book covering the latest version of C# (before the next version). Lots of good tips here.