{"id":4173,"date":"2008-08-21T00:55:00","date_gmt":"2008-08-21T00:55:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/vbteam\/2008\/08\/21\/vb-2008-language-deep-dive-presentation-materials-jonathan-aneja\/"},"modified":"2024-07-05T14:20:22","modified_gmt":"2024-07-05T21:20:22","slug":"vb-2008-language-deep-dive-presentation-materials-jonathan-aneja","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/vbteam\/vb-2008-language-deep-dive-presentation-materials-jonathan-aneja\/","title":{"rendered":"VB 2008 Language Deep Dive &#8211; Presentation Materials (Jonathan Aneja)"},"content":{"rendered":"<p class=\"MsoNormal\"><font face=\"Calibri\" size=\"3\">Last week I got the chance to visit the <\/font><a href=\"http:\/\/www.torontoug.net\/\"><font face=\"Calibri\" size=\"3\">Toronto .NET User Group<\/font><\/a><font face=\"Calibri\"><font size=\"3\"> and give a talk on all the great new <span><a href=\"http:\/\/blogs.msdn.com\/vbteam\/archive\/2007\/10\/19\/visual-basic-9-0-language-specification-released-beth-massi.aspx\">language features<\/a><\/span> in VB2008.&nbsp; It was great to see so much excitement a<span>round<\/span> LINQ and especially <\/font><span><a href=\"http:\/\/www.code-magazine.com\/Article.aspx?quickid=0807061\"><font size=\"3\">XML Literals<\/font><\/a><span><font size=\"3\">!<\/font><\/span><\/p>\n<p><\/span><\/font><\/p>\n<p class=\"MsoNormal\"><font face=\"Calibri\" size=\"3\">&nbsp;<\/font><\/p>\n<p class=\"MsoNormal\"><font size=\"3\"><font face=\"Calibri\">The slides and demo code are posted at the link below; here\u2019s the session abstract<span> <\/span><span>(with links inserted so you can find more info on each topic):<\/span><\/font><\/font><\/p>\n<p class=\"MsoNormal\"><font face=\"Calibri\" size=\"3\">&nbsp;<\/font><\/p>\n<p class=\"MsoNormal\"><i><font size=\"3\"><font face=\"Calibri\">Language Integrated Query (LINQ) is a new platform feature in Visual Studio 2008 that allows you to access objects, databases, and XML through a common query syntax (in both VB and C#).&nbsp; In this talk, we\u2019ll take a deep dive into the language features that LINQ uses internally to process your query, and see how they can be used in your own code.&nbsp; Topics we\u2019ll cover include:<\/p>\n<p><span><span>&#8211;&nbsp;<a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/bb763068.aspx#VisualBasicLINQQueryOperators\"><font color=\"#0000ff\">Query expressions<\/font><\/a><br \/>&#8211;&nbsp;<a href=\"http:\/\/msdn.microsoft.com\/en-us\/magazine\/cc163285.aspx\"><font color=\"#0000ff\">XML Literals<\/font><\/a><br \/>&#8211;&nbsp;<a href=\"http:\/\/blogs.msdn.com\/timng\/archive\/2007\/02\/11\/type-inference-in-visual-basic-part-1.aspx\"><font color=\"#0000ff\">Type Inference<\/font><\/a><br \/>&#8211;&nbsp;<a href=\"http:\/\/blogs.msdn.com\/timng\/archive\/2007\/05\/27\/how-did-the-collection-of-anonymous-types-work.aspx\"><font color=\"#0000ff\">Anonymous Types<\/font><\/a><br \/>&#8211;&nbsp;<a href=\"http:\/\/blogs.msdn.com\/vbteam\/pages\/articles-about-extension-methods.aspx\"><font color=\"#0000ff\">Extension Methods<\/font><\/a><br \/>&#8211;&nbsp;<a href=\"http:\/\/msdn.microsoft.com\/msdnmag\/issues\/07\/09\/BasicInstincts\/\"><font color=\"#0000ff\">Lambda expressions<\/font><\/a><br \/>&#8211;&nbsp;<a href=\"http:\/\/blogs.msdn.com\/vbteam\/archive\/2007\/07\/26\/closures-in-vb-part-5-looping.aspx\"><font color=\"#0000ff\">Closures<\/font><\/a><br \/>&#8211;&nbsp;<a href=\"http:\/\/blogs.msdn.com\/vbteam\/archive\/2007\/09\/11\/lambda-expressions-and-expression-trees.aspx\"><font color=\"#0000ff\">Expression Trees<\/font><\/a><br \/>&#8211;&nbsp;<a href=\"http:\/\/blogs.msdn.com\/timng\/archive\/2007\/06\/02\/partial-methods-for-visual-basic.aspx\"><font color=\"#0000ff\">Partial Methods<\/font><\/a><br \/>&#8211;&nbsp;<a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/bb531336.aspx\"><font color=\"#0000ff\">Relaxed Delegates<\/font><\/a><br \/>&#8211;&nbsp;<a href=\"http:\/\/msdn.microsoft.com\/en-us\/vbasic\/bb737916.aspx\"><font color=\"#0000ff\">Performance\/Deferred Execution<\/font><\/a><br \/>&#8211;&nbsp;<a href=\"http:\/\/blogs.msdn.com\/vbteam\/archive\/2008\/05\/14\/how-linq-to-dataset-works-in-vb-jonathan-aneja.aspx\"><font color=\"#0000ff\">LINQ to Dataset<\/font><\/a><br \/>&#8211;&nbsp;<a href=\"http:\/\/blogs.msdn.com\/vbteam\/archive\/2007\/08\/29\/implementing-dynamic-searching-using-linq.aspx\"><font color=\"#0000ff\">Dynamically constructing a LINQ query<\/font><\/a><\/span>&nbsp;<\/span><\/p>\n<p><\/font><\/font><\/i><i><font face=\"Calibri\" size=\"3\">We\u2019ll also look at some of the cool new IDE features as well as free add-ons such as <\/font><a href=\"http:\/\/msdn.microsoft.com\/en-us\/vbasic\/bb693327.aspx\"><font face=\"Calibri\" size=\"3\">Refactor!<\/font><\/a><font size=\"3\"><font face=\"Calibri\"> which can greatly improve your day-to-day productivity.&nbsp; If you want to learn what makes VB the most powerful language for working with data then come on out!<\/font><\/font><\/i><\/p>\n<p class=\"MsoNormal\"><font face=\"Calibri\" size=\"3\"><\/font>&nbsp;<\/p>\n<p class=\"MsoNormal\"><span><font face=\"Calibri\" size=\"3\">&nbsp;<\/font><\/span><\/p>\n<p class=\"MsoNormal\"><font size=\"3\"><font face=\"Calibri\">Some of the resources mentioned on the last slide:<\/font><\/font><\/p>\n<p class=\"MsoListParagraph\"><span><span><font face=\"Calibri\" size=\"3\">&#8211;<\/font><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span><\/span><\/span><font size=\"3\"><font face=\"Calibri\">VB Team blog (well, you\u2019re already here <\/font><span>J<\/span><font face=\"Calibri\">)<\/font><\/font><\/p>\n<p class=\"MsoListParagraph\"><span><span><font face=\"Calibri\" size=\"3\">&#8211;<\/font><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span><\/span><\/span><font face=\"Calibri\" size=\"3\">Paul Vick\u2019s blog (<\/font><a href=\"http:\/\/panopticoncentral.net\/\"><font face=\"Calibri\" size=\"3\">http:\/\/panopticoncentral.net<\/font><\/a><font size=\"3\"><font face=\"Calibri\">)<\/font><\/font><\/p>\n<p class=\"MsoListParagraph\"><span><span><font face=\"Calibri\" size=\"3\">&#8211;<\/font><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span><\/span><\/span><font face=\"Calibri\" size=\"3\">Beth Massi\u2019s blog (<\/font><a href=\"http:\/\/blogs.msdn.com\/bethmassi\"><font face=\"Calibri\" color=\"#0000ff\" size=\"3\">http:\/\/blogs.msdn.com\/bethmassi<\/font><\/a><font size=\"3\"><font face=\"Calibri\">)<\/font><\/font><\/p>\n<p class=\"MsoListParagraph\"><span><span><font face=\"Calibri\" size=\"3\">&#8211;<\/font><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span><\/span><\/span><font face=\"Calibri\" size=\"3\">MSDN VBasic site (<\/font><a href=\"http:\/\/msdn.com\/vbasic\"><font face=\"Calibri\" color=\"#0000ff\" size=\"3\">http:\/\/msdn.com\/vbasic<\/font><\/a><font size=\"3\"><font face=\"Calibri\">)<\/font><\/font><\/p>\n<p class=\"MsoNormal\"><font face=\"Calibri\" size=\"3\">&nbsp;<\/font><\/p>\n<p class=\"MsoNormal\"><font face=\"Calibri\" size=\"3\">For those of you who were asking about dynamically constructing LINQ queries at runtime, you can find more information on that <\/font><a href=\"http:\/\/blogs.msdn.com\/vbteam\/archive\/2007\/08\/29\/implementing-dynamic-searching-using-linq.aspx\"><font face=\"Calibri\" size=\"3\">here<\/font><\/a><font face=\"Calibri\" size=\"3\"> and <\/font><a href=\"http:\/\/weblogs.asp.net\/scottgu\/archive\/2008\/01\/07\/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx\"><font face=\"Calibri\" size=\"3\">here<\/font><\/a><font size=\"3\"><font face=\"Calibri\">.<\/font><\/font><\/p>\n<p class=\"MsoNormal\"><font face=\"Calibri\" size=\"3\">&nbsp;<\/font><\/p>\n<p class=\"MsoNormal\"><font size=\"3\"><font face=\"Calibri\">There were a ton of great questions from the audience so I\u2019ll probably post an FAQ <span>sometime next week<\/span>.&nbsp; In the meantime don&#8217;t forget to download <a class=\"\" title=\"VS2008 SP1\" href=\"http:\/\/www.microsoft.com\/downloads\/details.aspx?familyid=FBEE1648-7106-44A7-9649-6D9F6D58056E&amp;displaylang=en\">VS2008 SP1<\/a>, which allows you to use LINQ against SQL Server 2008.<\/font><\/font><\/p>\n<p><a href=\"https:\/\/msdnshared.blob.core.windows.net\/media\/MSDNBlogsFS\/prod.evol.blogs.msdn.com\/CommunityServer.Components.PostAttachments\/00\/08\/88\/34\/41\/VBLanguageDeepDive.zip\">VBLanguageDeepDive.zip<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Last week I got the chance to visit the Toronto .NET User Group and give a talk on all the great new language features in VB2008.&nbsp; It was great to see so much excitement around LINQ and especially XML Literals! &nbsp; The slides and demo code are posted at the link below; here\u2019s the session [&hellip;]<\/p>\n","protected":false},"author":260,"featured_media":8818,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[192,195],"tags":[67,83,94,117,166,185],"class_list":["post-4173","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-featured","category-visual-basic","tag-extension_methods","tag-jonathan-aneja","tag-linqvb9","tag-orcas","tag-vb2008","tag-xml"],"acf":[],"blog_post_summary":"<p>Last week I got the chance to visit the Toronto .NET User Group and give a talk on all the great new language features in VB2008.&nbsp; It was great to see so much excitement around LINQ and especially XML Literals! &nbsp; The slides and demo code are posted at the link below; here\u2019s the session [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/vbteam\/wp-json\/wp\/v2\/posts\/4173","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/vbteam\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/vbteam\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/vbteam\/wp-json\/wp\/v2\/users\/260"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/vbteam\/wp-json\/wp\/v2\/comments?post=4173"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/vbteam\/wp-json\/wp\/v2\/posts\/4173\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/vbteam\/wp-json\/wp\/v2\/media\/8818"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/vbteam\/wp-json\/wp\/v2\/media?parent=4173"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/vbteam\/wp-json\/wp\/v2\/categories?post=4173"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/vbteam\/wp-json\/wp\/v2\/tags?post=4173"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}