/Home /Archive /Syndicate /Blog /Support /About /Contact  
All Visual Basic Feeds in one place!





Channel: Tim Ng

F# beta 1 is now live! See Don and Brian’s blog post for lots more information. In particular, on the F# team, we have worked really hard to bring not one but two releases! We are releasing a fully integrated F# experience into Visual Studio 2010 targeting the .NETFX 4.0, as well as an update to the F# CTP for Visual Studio 2008 that targets .NETFX 2.0/3.5. We have done a lot of work over the last year, and while the beta is just a stepping stone to RTM, we hope you like what you s ... [ read more ]


Just posting this because I ran into this problem today and searching Google/Live didn’t help (returned a site where you have to pay to get answers? I guess the http://www.stackoverflow.com model doesn’t work for them :) In any case, the problem I ran into was that when I started my Hyper V image, it would pause all the time about 30 seconds after I started it. It turns out that the issue is that if you are low on disk space on the real drive that your VHDs are in, Hyper V will pause your ... [ read more ]


Happy New Year! 2008 just flew by for me. And looking forward, there's a small change I wanted to let you guys know about. As many of you know, I've been the dev lead for the VB compiler team since Visual Studio 2008. A few months ago, I decided to try something new for a variety of reasons, and I decided to join the likes of Luke , Luca , Don , Chris , Brian , and Jomo on the F# team. Since September, I've been the "engineering" lead for the F# team, and I am now responsibl ... [ read more ]


It's been a long time since I've posted : we've been very busy working hard on the next version of Visual Basic (the next version of Visual Studio will officially be called Visual Studio 2010 ). I'm really excited about the work we've done, and can't wait to share it with you. But for some immediate news : on Nov 8th and 9th, I will be doing two talks at the Silicon Valley Code Camp - if you are around, check it out! Drop by and say hi - it's free, and I hear there's free food! I will be ... [ read more ]


Hey there! In this post, I'll continue describing some of the things that are interesting about the VB compiler, especially related to expression trees and the consumption of expression trees in your LINQ provider. Again, this may not be too interesting if you aren't writing a LINQ provider, but I hope you read on anyway because I'll be discussing some of the subtle features of the language. I'm going to diverge far and wide, and I apologize up front if some of this is esoteric, but I want t ... [ read more ]


Consider the following code fragment: Module Module1 Sub Foo(Of T)( ByVal x As T) If x Is Nothing Then End If End Sub Sub Main() Foo(10) End Sub End Module .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwr ... [ read more ]


There has been quite a few discussions on immutability lately. Patrick has written an excellent blog post summarizing some of the various thoughts on immutability along with a cool feature in NDepend to do immutable queries. The only thing that I would add is that immutability is definitely something to consider early on in the design process. It's much easier to start with a design that promotes immutability, rather then to try to graft immutability into an inherently imperative design. Ne ... [ read more ]


Last time, I showed how you can use the Cast() extension method defined on IEnumerable/IEnumerable(Of T) to do an element conversion for a sequence that implements one of the enumerable interfaces. Today I want to talk about the ToDictionary extension method. This extension method lets you take a sequence that implements IEnumerable(Of T) and build a dictionary out of the elements of the sequence, allowing you to specify the key for each element. The key is the hash for the dictionary. For ... [ read more ]


If you take a look at the set of extension methods offered on IEnumerable (and IEnumerable(Of T)), you'll find that there are plenty of very interesting extension methods. One of them is the Cast() extension method. What does this extension method do? It provides a way to convert an IEnumerable(Of T) to an IEnumerable(Of U). Even more conveniently, it allows you to convert an IEnumerable to an IEnumerable(Of T). Many pre-VS2005 frameworks do not take advantage of generic collection types (s ... [ read more ]


Note : I plan to post this blog on the VB team blog eventually. However, because of the length and complexity, I'm posting this up on my blog for now to hopefully get some eyes on it so that I won't make a fool of myself on the team blog :) Please feel free to contact me if you think something is wrong, misleading, or could be improved on. Thanks!   A couple months ago, I had a chance to do a presentation at the New England Code Camp #8 where I talked about LINQ under the hood. This ... [ read more ]


Here's another way to use the generic parameter trick to get an anonymous type as a field. The other day, I was trying to store the result of a lambda expression in a field, but the lambda was typed as Func(Of <anonymoustype>) and since there is no type inference for fields, and I didn't want to use object (which would be perfectly fine normally, but in this case I wanted a typed anonymous type), I used a similar trick to a post I did a while ago on creating collections of anonymous types ... [ read more ]


It's official - I'll be going to the New England Code Camp this weekend and presenting two talks on LINQ features and Visual Basic. I hope that it will be a blast, and if you're around the New England area, I hope you drop by! The two talks I have planned are "LINQ Fundamentals" (all about understanding the core concepts of LINQ and how LINQ queries translate into language features) and "LINQ-ing your data" (all about understanding how LINQ changes the way you view your data, with particular ... [ read more ]


Hey guys, just a quick note to let you know that my article on lambda expressions has been published on MSDN magazine. I'll be updating this blog (actually, probably the VB team blog ) with more information on lambda expressions that I didn't have time to get into the article. Hope you enjoy! In the mean time, our team has been busy wrapping up Orcas, fixing the remaining bugs, and otherwise getting ready to ship Orcas. I hope to have some time to discuss later the kind of changes we are ... [ read more ]


Sorry for the lack of posts recently; many things have converged within the last 2 - 3 months. First, there was TechEd back in June in Orlando; it was a great time had by all, and I hope that you guys are as excited about the new VB9 language features and VB product experience as we are here in Redmond. Second, I had a flurry of vacations that I needed to take (hah, never heard that one eh? :) - that pretty much left June out to dry. Third, a few months ago I decided to take on the r ... [ read more ]


I just spent the last 4 hours getting my machine ready for a user group demo; I was trying to get SQL Express setup so that I could do a LINQ to SQL demo; what a painful 4 hours! I will try to document things that I discovered along the way here so that you won't go through the same pain. In my case, I had VS 2005 and SQL Express installed on the same machine. These are the steps you need to do to get Server Explorer in VS to talk to SQL Express. Download SQL Server Studio Management E ... [ read more ]


One of the new features that we are adding to the language is the concept of a private partial method. In order to discover the rationale behind this feature, let's consider a scenario where a designer generates some code and wishes to allow the user to customize certain behavior at certain points in the generated code. Some standard ways to customize Typically in object oriented systems, there are a few ways that generated code can provide hooks for user customization. The traditional way ... [ read more ]


One of the recent changes we made to anonymous types was to allow the syntax to convey the notion of object identity. Paul (our architect) has a blog post on this topic, and I wanted to add a little bit to what he said with a few examples. The C# team decided to make anonymous types immutable (see Eric's blog post on it), but for Visual Basic, we decided that becausee we have the ability to late bind on top of anonymous types, making them immutable is unexpected. For example, if you hav ... [ read more ]


In my last post on Making Collections of Anonymous Types , I demonstrated how to create anonymous type collections by using a generic method as a "blueprint" factory method. Today, I will describe how this works, and conclude that it might not be a good idea to rely on this ability. Today, I want to delve a little deeper into anonymous types and explain how this worked and what the design constraints around anonymous types are. In general, when the compiler encounters a statement that cons ... [ read more ]


A couple of this: tomorrow (Wednesday at 9 am PST) Amanda (our uber language PM) is going to do a web cast about LINQ and dive deep into the details and language features that we enabled to support LINQ. It should be a great talk and we hope to see you there! Also, check out the new VB dev center !


© 2005 Serge Baranovsky. All rights reserved.
All feed content is property of original publisher. Designated trademarks and brands are the property of their respective owners.

This site is maintained by SubMain(), a division of vbCity.com, LLC