Alan Berman recently explained the details of how the new Async and Await keywords impact the flow of control. Using these keywords allows an asynchronous function's return values to be processed without using explicitly defined callbacks. This allows for more natural code grouping, as calling and processing of an asynchronous function can occur in the same function.
The rather extensive runtime library used by Visual Basic and its compiler has been a major stumbling block for the language. Both the Windows Phone 7 and the XBox 360 don’t support the library, making clumsy workarounds necessary. With Visual Basic 10 SP 1, Microsoft once again tries to get it right.
The new Async CPT for VB and C# looks like it may actually make it into the core language. But with all the emphasis on multi-core systems, why is Microsoft investing so heavily in syntax for designed specifically for making single-threaded asynchronous programming easier?
On November 29th, the Visual Basic team announced the Release To Web version of Visual Basic for Windows Phone Developer Tools. This is exciting news for the large number of Visual Basic developers to achieve almost parity with the C# developer community in regards to Windows Phone 7 development of applications.
In a recent blog post the Visual Basic team let slip an announcement that Visual Basic and C# would be getting a new syntax for asynchronous programming. Built on top of the Task Parallel Library that was introduced in .NET 4, this adds the Async and Await keywords to both languages.
In 2009 Microsoft’s Lucas Bolognese announced a commitment to co-evolution for C# and Visual Basic. And the productization of F#, some have assumed it extends to that language as well. But by only offering C# in the initial release of WP7, this promise has been brought into doubt.
Optional parameters have always been part of .NET, but with C# unwilling to support it, using them was generally considered taboo unless work with COM libraries. Now that C# 4 does support them, we are starting to see them used for a lot more than just legacy code. Other uses include interoperability with dynamic languages, immutable data structures, and various parts of ASP.NET MVC.
Visual Basic has always been on the fence between static and dynamic typing. In the beginning VB supported late binding, which is known today as “duck typing”. Through the years it has adopted support for stricter typing, though recently it has swung the other way with full support for the dynamic language runtime.
An IT services provider company has migrated an ERP application totaling 950,000 lines of VB6 code to .NET in 9 months.
Visual Basic for Applications is a dead-end and Visual Studio for Applications isn’t ready for prime time, leaving developers in the uncomfortable position of trying to mix .NET code with legacy VBA macros. Fortunately Visual Studio Tools for Office makes it relatively painless.
Visual Basic 10, to be released with .NET 4.0 and Visual Studio 10, is adding support for collection and array initializers. While these are similar to what we already have in C#, there are minor enhancements such as support for extension methods and improved type inference.
Many have wondered why Microsoft is giving a different treatment to VB.NET compared to C#, why VB.NET developers are paid less than C# ones and if they should worry for their future or not. In a podcast, Lisa Feigenbaum, PM in .NET Managed Languages Group, assures the VB.NET community that VB definitely has a future.
C# added auto-implemented properties in version 3, but Visual Basic was unable to match them at that time. With the impending release of .NET 4.0, VB has caught up in this area, but with a distinctive twist.
In this interview Eric Nelson talks about what’s coming in VS 2010, the C# – VB.NET convergence, the introduction of Parallel as a library, and Azure cloud computing.
Creating wrapper functions for pre-existing stored procedures is surprisingly difficult in .NET. Stored procedures have certain calling conventions that aren’t generally used in the .NET Framework and many of them are not supported at all. For example, C# doesn’t support optional parameters and neither .NET language supports optional parameters on nullable types.