Raj Pai's Blog

  • LINQ and C# at TechEd Europe

    If you are attending TechEd Europe in Barcelona this week, you should check out the following C# and LINQ talks by Anders Hejlsberg (the Microsoft Technical Fellow who designed C# and LINQ) and Karen Liu (the Program Manager for the C# IDE):

    DEV223 Visual Studio: The .NET Language Integrated Query (LINQ) Framework Overview

    Anders Hejlsberg

    Tue Nov 7 16:00 - 17:15

    Modern applications operate on data in several different forms: Relational tables, XML documents, and in-memory objects. Each of these domains can have profound differences in semantics, data types, and capabilities, and much of the complexity in today's applications is the result of these mis-matches. Anders Hejlsberg, Technical Fellow and chief architect of the C# language will explain how the Orcas release of Visual Studio aims to unify the programming models through LINQ capabilities in C# and Visual Basic, a strongly typed data access framework, and an innovative Application Programming Interface (API) for manipulating and querying XML.

    DEV306 Using the .NET Language Integrated Query (LINQ) Framework with Relational Data

    Anders Hejlsberg

    Thu Nov 9 09:00 - 10:15

    Database-centric applications have traditionally had to rely on two distinct programming languages: one for the database and one for the application. In this talk Hejlsberg, Technical Fellow and Chief Architect of the C# language will introduce LINQ to SQL, a component of the LINQ project designed to help integrate relational data and queries with C# and Visual Basic. LINQ to SQL enables developers to express queries and updates in terms of their local programming language without sacrificing the server-side execution model of today's high-performance SQL-based approaches. Using these advances, database queries that previously were stored as opaque strings now benefit from static type checking, CLR metadata, design-time type inference, and of course IntelliSense. LINQ to SQL also supports a rich update capability that lets you save changes to an object graph back to the database using optimistic concurrency or transactions.

    DEV323 C# 3.0: Future Directions in Language Innovation from Anders Hejlsberg

    Anders Hejlsberg

    Wed Nov 8 09:00 - 10:15 , Wed Nov 8 17:00 - 18:15

    Join Anders Hejlsberg, Technical Fellow and chief architect of the C# language, for an in-depth walkthrough of the new language features in C# 3.0. Understand how features like extension methods, lambda expressions, type inference, and anonymous types make it possible to create powerful Application Programme Interfaces (APIs) for expressing queries and interacting with objects, XML, and databases in a strongly typed, natural way. It is suggested that you attend "Visual Studio: The .NET Language Integrated Query Framework Overview" before attending this session.

    DEVWD12 Explore C# 3.0 with Anders Hejlsberg

    Anders Hejlsberg

    Wed Nov 8 13:30 - 14:45

    Language Integrated Query (LINQ) is an upcoming facility on .NET which allows strongly typed querying of different data sources, such as relational databases, XML and in-memory data, in a unified manner. This informal whiteboard session with Anders Hejlsberg, Technical Fellow and chief architect of the C# language, discusses the new language features added in C# 3.0 to support the querying experience. These features include implicitly typed local variables, extension methods, lambda expressions, expression trees, object and collection initializers, anonymous types and query expressions.

    DEV216 Visual C#: Tips and Tricks - Productivity Tips for the Visual C# 2005 IDE

    Karen Liu

    Tue Nov 7 17:45 - 19:00

    Visual Studio 2005 provides a significant number of productivity enhancements across a wide range of areas. The C# team has done a lot of work to make sure that the IDE is more "code-focused" then ever before. In this session, a number of tips and tricks covering customizing C# code generation, entry points for refactoring, and navigating through code will be presented to help make editing code faster and more fun. This session will show these tips off through demos with a strong emphasis on invoking commands through keybindings.

    DEV222 Visual C# Through the Ages: Progression of Language Innovation

    Karen Liu

    Tue Nov 7 14:15 - 15:30

    In the history of Visual C#, language innovation has been prevalent through each release. In this session, through a series of demos, we look at how Visual C# has progressed through the ages and has laid the groundwork for Visual C# 3.0. Visual C# 2.0 adds a number of new language features, including generics and anonymous methods. In this session, we look at how they work and how you can use them. Furthermore, we sneak a peak at how the next version of C# will build on generics and anonymous methods as key ingredients of a new facility for language integrated queries (LINQ) across different sources, such as XML documents, relational databases and in-memory data structures.

  • What are the C# PMs up to this month?

    During the implementation stages of the product cycle, Program Managers at Microsoft are often described as the glue that holds the product team together.  We are responsible for making sure that the different disciplines within the C# team are working well together towards common goals, and that our team is working well with the other groups we depend on or that depend on us.  At this stage of the product cycle, PMs also work in concert with Dev and QA leads to drive the bug triage process.  This is where we make the tough calls to maximize the product quality, WHILE maintaining a schedule, AND ensuring that we are shipping a compelling developer experience to our customers.  Sound tricky?  Check out one of MS Build’s triage meetings that was recorded a couple of months ago to get a behind the scenes look on how these meetings are run.

     

    So when dealing with something as complex as shipping a new version of Visual Studio, how do PMs stay sane?  We prioritize.  Without a list of priorities that we can all march towards, chaos ensues.  Given that the product cycle is so fluid, we often have to refresh our priorities from one month to the next or even from one week to the next.

     

    So here’s what the C# PM team is focused on for the next several weeks:

    1)      Support the Whidbey Security push.  As you may have seen in Soma’s or Natalie’s blog posts, at this phase of the product cycle we are driving hard to ensure that our product is secure through reviews, threat models, automated scanning tools like FxCop and PREfast, and extensive testing.  PMs are keeping the team focused on security and making sure that any/all issues that are discovered are absolutely locked down.

    2)      Bugs.  Triaging bugs, investigating bugs, and closing bugs.  Typically when bugs get assigned to PMs, it’s because the desired behavior is unclear or has side-effects that were not originally considered in the specification.  Thus, until PM is able to articulate the correct design for a scenario, devs are blocked from fixing it.  So it’s important that PMs are efficient in resolving their bugs so we are not a bottleneck to the rest of the team.

    3)      Developer community engagement – hit monthly objectives.  One of my goals as the GPM of the Visual C# team is to make community engagement part of the culture of the PM team so that it’s a natural extension of our everyday jobs.  In some ways we are making good progress towards this, and others ways we have a long way to go (look forward to entire blog posts on this subject).  Until we are all living and breathing community so that transparency just happens naturally, we are going to “attack” the problem in the classic PM way – set time-sensitive goals, measure ourselves against those goals, and iterate until we get better.  Every PM has areas that they are focused on (examples include MVP interactions, chats, forums, etc.).  We are going to continue to raise the bar in each of these areas so that we can tighten the loop with our community and as a result build products that delight our customers.

    4)      App. Building.  One of the most fun parts of the job – we take a week, organize into teams, and build applications using the product.  This is a great opportunity for us to see how well all the pieces we work on actually end up fitting together, and get broader perspective on how real world users experience Visual C# and the debugger from end-to-end.  Additionally, it has the nice side-effect of us discovering some of the more elusive integration bugs by banging on the product.

    5)      Whidbey presentations and demos.  We have a lot of presentations and conferences coming up this year (it’s always sooner than you think), and we so many awesome features and scenarios to present.  This is good time for us to start pulling together our slides and demos so that we can do a great job showing off our baby. 

     

    If folks are interested, I’ll periodically update you all on what we’re up to.  Let me know!

  • About me...

    Hi all, here’s a crack at the customary first blog entry.

     

    My name is Raj, and I am the Group Program Manager (GPM) of the Visual C# team.  In a nutshell this means that I manage the team of PMs that drive the design and development of the C# IDE, C# language/compiler, and the Visual Studio Debugger.  If people are interested, I’d love to talk more in future posts about what PMs do at Microsoft and specifically on the Visual C# team.

     

    I had my start with Microsoft as an intern with the Visual J++ team in 1997, but joined the MSN Hotmail team as a PM out of school (Stanford, BS in Computer Science).  I spent 5 years on the Hotmail team before moving last year from sunny California to rainy Redmond, WA with my wife and new baby boy.  We love it up here – it’s a great place to raise a family.

     

    I love my job – I’m super passionate about the developer experience.  I feel like we have a lot of opportunities at Microsoft to help influence the entire industry by making writing code more enjoyable and more productive.  If you’ve had a chance to play with any of the Visual Studio 2005 (Whidbey) betas, I’d love to get your feedback!  If you haven’t, you may want to check out our lightweight C# Express beta (more on this at LukeH’s blog).

     

    On a personal note, I spend nearly all my free time nowadays with our 14 month old baby.  While I haven’t had much of a chance lately, I also like to read and travel.

This Blog

Syndication

Tags

No tags have been created or used yet.

© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Microsoft
Page view tracker