September 2005 Entries
In one of the comments to the “Introducing LINQ” entry that I wrote, Unilynx wrote:
Sounds like what we've been doing for five years already :)
This was a comment that came up several times at the PDC from various sources: “What’s so revolutionary about this stuff? We’ve been doing this kind of thing for years!” On the one hand, what’s unique about LINQ is how it’s built, it’s openness and flexibility, and it’s unification of data querying across domains. But on the other hand, yeah, let’s be honest: as Newton would say, if we’re seeing further, it’s only because we’re...
Looks like Carl and Co. have put up a .NET Rocks show that Amanda, Erik and I recorded at the PDC. We had a very interesting discussion, ranging from LINQ to what it was like for Erik to be a “Head in a Box,” definitely something for everyone! Check it out!
I’ve been thinking about something Wes said last week about C# 3.0 and VB 9.0. After viewing my PDC presentation slides, he noted:
The difference in focus between the C# and VB team is becoming much more evident: The VB team is opting for greater relevance and convenience in the short term, while the C# team is trying to avoid creating long-term baggage.
I think this succinctly describes what’s going on in regards to VB’s embrace of XML integration into the language and C#’s cautiousness around it. If you talk to the C# team about this, you get some very explicit concerns about...
Over in the LINQ MSDN forums, the question came up: which is better, Select/From (as VB does it) or From/Select (as C# does it)? To quote from the thread, here’s the C# side of it, straight from Anders:
There are a multitude of reasons why select comes at the end and not the beginning of a query in C# 3.0. The more important ones are:(1) Statement completion (Cyrus' blog has a good explanation).(2) Order of execution. The C# query syntax lists operations in the order they are executed.(3) Scope of "from" variables. SQL is strange in that scope flows both upward...
While at the PDC, I also did a short video interview with F5 DevCentral. Check it out, even though the front image is kind of scary, in my opinion…
Tag: PDC05
During the PDC, I got to sit down with Jon Udell and Anders and do a quick podcast about LINQ and other stuff. Check it out.
Tag: PDC05
Two new videos, timed to coincide with the PDC are now up:
Paul Vick and Erik Meijer - Dynamic Programming in Visual Basic – This is me and Erik talking about dynamic stuff in VB. We were planning on talking about some of the new XML stuff as well, but didn’t even get to it! Another video, I’m sure…
Paul Vick and Amanda Silver - VB Language Futures – This is me and Amanda talking about a lot of the future stuff we talked about at the PDC. Check it out!
Hopefully more to come. If you have specific topics you’d like to...
FYI, Scott Swigart was nice enough to do an interview with myself, Amanda, Erik, Rob Copeland, Alan Griver and Jay Roxe about VB 9.0 for Dr. Dobb’s Journal. We even made the front (web)page! Check it out.
Now that I’m back, safe and sound, in Seattle, I can start to catch up on some of my blog backlog! So let’s start with the highlight of the trip, my talk. I was a little nervous about it, but the worried turned out to be for naught — the session went really well! Lots of people showed up and we had a good time talking about all the ideas we’ve been working on for VB 9.0.
I’m not sure what the plans are in terms of making slides available outside of the PDC. You can find a bunch of the...
Still not at a point to post more about how the session went (long story, short: very good), but I had a funny moment just a second ago. I was looking at the internal website that has speaker evaluation information to see how people liked the session. Pulled up the data and sorted it in Excel. Then I was thinking, “You know, I really want to filter out sessions that didn't get a lot of feedback reports because they might skew the data.” Since I'm not an Excel expert, the thought occured to me:
You know, I could just fire up...
The session was just wonderful, a total blast, but more info on that later... But please do fill out the online evaluations! It's something you can do to help me be a better speaker and let us know how much you liked the content!
During my talk, I raffled off 6 signed copies of my book:
Without further ado, the following were chosen at random as winners:
Chris Bradley
Brion Burghard
Anthony Parkinson
Rupesh Sanghavi
Roger Andrews
Derek Sipe
(Apologies for any typos.) If you're one of the lucky winners, please stop by the VB team table at Ask the Experts tonight and claim your signed copy!
Tag: PDC05
...as Hannibal (A-Team Hannibal, not Lecter) would say.
See, I'm kind of a last-minute kind of guy. Not the absolutely last minute, but I tend to work stuff out in my head for a while before I actually start doing anything concrete, and that can be a little disconcerting. Amanda has been bugging me for the past month about my presentation, asking me if I needed help with the demos or wanted her to review the slides. I'm sure that her help would have been great, given the number of presentations she's done, but I wasn't able to take advantage of...
Throughout this week and beyond, we’re going to be doing a lot of talking about Project LINQ, so I wanted to start with a relatively brief overview of what the project is, what its goals are, and how they apply to VB.
To start with, LINQ stands for “Language Integrated QUery.” LINQ fundamentally is about integrating query operations into the .NET platform in a comprehensive and open manner. It’s also about providing a unified way for you to query across any kind of data that you have in your program, whether it’s relational, objects or XML. This, we believe, will represent a tectonic shift in...
Today at the PDC, we’re launching “Project LINQ,” and it’s big. Really big. I mean, really, I wish I had the money to hire those guys who do the movie trailer voiceovers (and you know who I’m talking about):
In a world torn apart by incompatible conflicting and incompatible data domains, one company dared to stand up to the status quo. (Shots of scowling programmers looking at computer screens. One desperate programmer exclaims “We just can’t make it work!”) Doing what they said couldn’t be done, that company cut through the artificial barriers separating the world’s data, making querying relational data, object...
Today marks the beginning of one of the bigger experiments that I’ve been a part of during my 13 years at Microsoft. No, I don’t mean any of the new technologies that we’re going to start talking about today and through the week. The grand experiment that we’re beginning at this PDC is radically opening up the development process within the Visual Basic group (and the rest of our division) in ways that we’ve never attempted before. I’ve been through a bunch of product cycles up until this point, and it’s never been the case that we’ve been so prepared...
I've made it to the PDC and managed to dodge, so far, the power outages. Hooked up with a bunch of other VB'ers for dinner and now I'm trying to figure out when I'm going to get everything I've got to get done done in the next four days... Dinner, though, was good - good food, good conversation. It occurs to me that one of the real reasons we have conferences is to get everyone out of the office so we can mix outside of the little groups that we tend to move within at work. Lots of good cross-talk...
(We now interrupt the PDC drumbeat for this random message.)
Since we’re just biding our time ‘til Serenity comes out in theaters, Andrea and I have continued to watch Battlestar Galactica even though we still think it’s only so-so. (Something that I’m sure YAG is going to bug me about when I get to the PDC.) Some episodes are pretty decent, but I still find myself annoyed by many of the characters (never a good sign) and bored in long stretches of some of the episodes. The core problem, to my mind, is that the writers are not particularly good at...
See, normally, someone who’s not a developer and is presenting at the PDC takes the technology they’re going to demo, works with it, figures out what works and what doesn’t work, and then writes their demo around that. But since I’ve been actually building a bunch of the technology that I’m going to show, as I work through my demo I keep getting ideas along the lines of “hey, it’s be really cool if this worked.” So here I am, Sunday morning, still adding tweak-level features in the vain hope that I can demo them during my talk. Instead of working on the...
Update: I’ll also be at the Tools and Languages track lounge on Tuesday and Wednesday @ 6:30pm for the “Meet the VB team” events. Hope to see you there!
Well, folks, we’re getting close… Did my second session dry run yesterday and we’re headed in to the home stretch! Looking forward to seeing everyone at the PDC. For those of you who’d like to chat about VB, I’m definitely going to be in the Tools and Languages lounge Thursday afternoon after my talk, and I’ll also be at the Ask the Experts that night. I’m also listing the sessions I’m participating in below. Hope...
Apropos of the previous entry, I should add that I agree wholeheartedly with Eric’s contention that parameterless default properties were almost entirely evil. They did make working with some objects much easier, but they came at such a cost of understandability that I don’t believe that, in the end, they were worth it. When I started working on the VB compiler as we were porting to .NET, I tried to get a coherent explanation of exactly how parameterless default properties worked, especially in situations like functions that returned objects that had parameterless default properties that returned objects that had parameterless...
Eric Lippert recently talked about some of the fun and exciting things that go on when you use parameterless default properties in VBScript. He notes that the fact that VBScript is always late-bound means that the behavior of code in VBScript is often different than early-bound code in VB6. He goes on to say:
I hear you exclaiming "The fact that a difference in available type information leads to a difference in run-time behaviour violates a basic principle of programming language design! Namely, the principle that late-bound calls have exactly the same semantics as early-bound calls!" […] Indeed, as I've mentioned before, VB6 and VBScript...