Are You Confused Yet?

Are you confused yet?

In just about two weeks, Microsoft will launch Visual Studio 2005, SQL Server 2005, and BizTalk 2006. Consider a question about this launch. When will these products be released?

Here is a hint that may help confuse you: The launch date is November 7th.

Did you answer November 7th for the release date of the three products? If so, you score a 67% on accuracy. Although Visual Studio and SQL Server's new editions are expected to be released on the same date as the launch, BizTalk 2006 is not expected until a few months later. It is only being launched, not released. Yes, launching is not the same as releasing. That is a bit confusing, isn't it!

I had a discussion with a .NET trainer in Indianapolis, Indiana last night about the launch of .NET 2.0. He commented about going to the launch event in Chicago on November 10th. It was interesting to note that this was an official launch event, but that it was three days after the official launch. It was even more interesting to see his reaction when I told him that Indianapolis was having a launch event that would cover the same sessions as the Chicago event, but that it was on December 15th. It raised the question of how long can a company have events and continue to call them launch events! At what point does the product sail and it becomes simply standard training? A launch that spans weeks: That's a bit confusing, isn't it!

Let me ask another question. We've been talking about Visual Studio 2005 ("Whidbey") features publicly for about two years. The product hasn't even released yet, but Microsoft is already talking about the new features that could be in the following version. They've even released code to show how these even newer features should work.

Consider the following list of items related to C#:

[ ] Anonymous Methods
[ ] Anonymous Types
[ ] Expression Trees
[ ] Extension Methods
[ ] Generics
[ ] Iterators
[ ] Lambda Expressions
[ ] LINQ (Using C# code to access a database directly)
[ ] Nullable Types
[ ] Object and Collection Initializers
[ ] Partial Declarations
[ ] Pragma Directives
[ ] Static Classes

All of these topics have been discussed in the past several months on CodeGuru and similar sites. Additionally, Microsoft has associated all of these topics to C#. Most were in demonstrations at the last Professional Developers Conference (PDC) and/or Tech Ed Conference put on by Microsoft.

Which of these technologies are currently parts of a released product?

Which are parts of the Visual Studio 2005 release coming in about two weeks?

Which are most likely not going to be available for another year?

All are being discussed. All are a part of existing articles and blogs on the Web. Some of these features are, however, off limits for production software because they aren't released yet, and won't be released as final products within Visual Studio 2005. In other words, even though you can read an article today on LINQ with C#, don't expect to find that as a part of the released Visual C# 2005 product. It is actually slated to release after that. That's a bit confusing, isn't it!

Language Versus Implementation Versus IDE

One topic I've written about before relates to version numbers on programming languages. What version is C++? C++ has been around a long time, so it is a tough question. C# is a newer language: What version is C#?

Did you say 2?

The current ECMA standard (Ecma-334) contains the standardized definition of the language. This standard is dated June 2005 and is considered a third edition. Visual C# 2005, however, is the second implimentation of the C# language by Microsoft. As such, they refer to their implimentation as a 2.0 version. Although they used to refer to their implementation as Visual C# .NET, they now simply refer to it as C# 2.0. The standard is a third edition, but C# 2.0 is what you see the implimentations called. That is a bit confusing, isn't it!

Information Overload

With the ease of releasing information and communicating, more information is being released and communicated. The end result is that information overload and information confusion is becoming a reality. No longer can you simply read an article on C# or a technology and assume it is a live, real, usable product. Rather, you need to evaluate what is being said and to what software it applies.

For the average developer, this issue has always existed; however, the level of detail at which information is being provided and the amount of information has grown. Additionally, information is being provided much earlier.

As developers, it is good for us to know what is coming, but it is also good to keep that information separated from what you are doing today. If you don't, you're liable to quickly become a bit confused! Getting information early can be a good thing. It can help you plan for the future.

One prime example is knowing what is coming in with Visual Studio 2005, and what is not. In the list above, all the items listed were from either the 2005 release or are items indicated for the "Orcas" release. Do you know which go with each version? The answer is provided on page two of this article!

Until you see the answer, hopefully you won't be too confused!

Are You Confused Yet?

The Answer

The following are a part of C# 2.0 and Visual C# 2005:

[ ] Anonymous Methods
[ ] Generics
[ ] Iterators (on your classes)
[ ] Nullable Types
[ ] Partial Declarations (same thing as partial classes)
[ ] Pragma Directives
[ ] Static Classes

The following are a part of the C# 3.0 specification suggestions and thus targeted for after Visual Studio 2005 (most likely Visual Studio "Orcas:"

[ ] Anonymous Types
[ ] Expression Trees
[ ] Extension Methods
[ ] Lambda Expressions
[ ] LINQ (using C# code to access a database directly)
[ ] Object and Collection Initializers



About the Author

Bradley Jones

Bradley Jones, in addition to managing CodeGuru, Brad! oversees the Developer.com Newtwork of sites including Codeguru, Developer.com, DevX, VBForums, and over a dozen more with a focus on software development and database technologies. His experience includes development in C, C++, VB, some Java, C#, ASP, COBOL, and more as well as having been a developer, consultant, analyst, lead, and much more. His recent books include Teach Yourself the C# Language in 21 Days, Web 2.0 Heroes, and Windows Live Essentials and Services.
Google+ Profile | Linked-In Profile | Facebook Page

Comments

  • There are no comments yet. Be the first to comment!

Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Live Event Date: May 7, 2014 @ 1:00 p.m. ET / 10:00 a.m. PT This eSeminar will explore three popular games engines and how they empower developers to create exciting, graphically rich, and high-performance games for Android® on Intel® Architecture. Join us for a deep dive as experts describe the features, tools, and common challenges using Marmalade, App Game Kit, and Havok game engines, as well as a discussion of the pros and cons of each engine and how they fit into your development …

  • The exponential growth of data, along with virtualization, is bringing a disruptive level of complexity to your IT infrastructure. Having multiple point solutions for data protection is not the answer, as it adds to the chaos and impedes on your ability to deliver consistent SLAs. Read this white paper to learn how a more holistic view of the infrastructure can help you to unify the data protection schemas by properly evaluating your business needs in order to gain a thorough understanding of the applications …

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds