Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / .NET Framework / New Users / November 2007

Tip: Looking for answers? Try searching our database.

.Net 3.5 SP1

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Mike - 29 Nov 2007 21:22 GMT
Now that 3.5 has been released, is there any target for its first SP? My
company, along with many others, is a little leary targeting production
servers with a "1.0" flavor of LINQ and other new features.

Thanks in advance,

Mike
Jon Skeet [C# MVP] - 29 Nov 2007 21:42 GMT
> Now that 3.5 has been released, is there any target for its first SP? My
> company, along with many others, is a little leary targeting production
> servers with a "1.0" flavor of LINQ and other new features.

I think we (and Microsoft) would need to know what issues there are
before thinking about a target for a service pack...

Signature

Jon Skeet - <skeet@pobox.com>
http://www.pobox.com/~skeet   Blog: http://www.msmvps.com/jon.skeet
World class .NET training in the UK: http://iterativetraining.co.uk

Mike - 29 Nov 2007 22:26 GMT
Hi Jon,

Thanks for the reply. I concur, however as in the past, there are always
issues that come up late in the beta cycles that are deemed non-critical to
the final release and resolutions are put off until afterwards and addressed
as a SP. Many, if not most, put off adoption of new technologies (LINQ,
anonymouse types, etc) until its gone through at least one iteration of real
world production release cycles.

Thanks,

Mike

> > Now that 3.5 has been released, is there any target for its first SP? My
> > company, along with many others, is a little leary targeting production
> > servers with a "1.0" flavor of LINQ and other new features.
>
> I think we (and Microsoft) would need to know what issues there are
> before thinking about a target for a service pack...
Cowboy (Gregory A. Beamer) - 29 Nov 2007 22:55 GMT
If there is one, it has not been published.

While I agree with you that features are sometimes pushed back, along with
bug fixes, the LINQ and anonymous types features are language features, not
framework features. This is not saying that they will not have any issues,
but that they would not necessarily be tied to a full SP.

Thus far, I am a bit leery about LINQ for reasons other than it not be an
SP1 release. But most of my concerns are Enterprise level.

Signature

Gregory A. Beamer
MVP, MCP: +I, SE, SD, DBA

*************************************************

| Think outside the box!

*************************************************
> Now that 3.5 has been released, is there any target for its first SP? My
> company, along with many others, is a little leary targeting production
[quoted text clipped - 3 lines]
>
> Mike
Mike - 29 Nov 2007 23:42 GMT
Hi Gregory,

I believe they are tied to both the language and the runtime (only the 3.5
version of csc.exe/vbc.exe can compile them), and the framework was extended
to support them. Just try compiling with 2.0/3.0 as target or under VS2005 -
as you can see, both are required.

Regards,

-Mike

> If there is one, it has not been published.
>
[quoted text clipped - 16 lines]
> >
> > Mike
Mike - 29 Nov 2007 23:46 GMT
An interesting aside to this is just because you target to 2.0, the 3.5
compiler is still used. So if there is a problem with he IL generated by that
compiler, code that worked under VS2005 may not work under VS2008.

> Hi Gregory,
>
[quoted text clipped - 27 lines]
> > >
> > > Mike
Jon Skeet [C# MVP] - 30 Nov 2007 00:10 GMT
> I believe they are tied to both the language and the runtime (only the 3.5
> version of csc.exe/vbc.exe can compile them), and the framework was extended
> to support them. Just try compiling with 2.0/3.0 as target or under VS2005 -
> as you can see, both are required.

You can use almost all of the C# 3 features when using 2.0 or 3.0 as
the target, and when doing so they'll run perfectly well without the
3.5 runtime. Indeed, with appropriate support of 3rd party libraries,
query expressions will work just fine.

The only language feature which absolutely definitely requires 3.5 is
expression trees. Lambda expression to delegate conversion is fine,
anonymous types are fine, extension methods are fine with the addition
of a single extra attribute...

Signature

Jon Skeet - <skeet@pobox.com>
http://www.pobox.com/~skeet   Blog: http://www.msmvps.com/jon.skeet
World class .NET training in the UK: http://iterativetraining.co.uk

Mike - 30 Nov 2007 00:25 GMT
Jon,

Correct me if I'm wrong please, but doesnt LINQ make heavy use of the types
defined in System.Linq - such as IQueryable<>, IGrouping<>, etc?

> > I believe they are tied to both the language and the runtime (only the 3.5
> > version of csc.exe/vbc.exe can compile them), and the framework was extended
[quoted text clipped - 10 lines]
> anonymous types are fine, extension methods are fine with the addition
> of a single extra attribute...
Jon Skeet [C# MVP] - 30 Nov 2007 00:45 GMT
> Correct me if I'm wrong please, but doesnt LINQ make heavy use of the types
> defined in System.Linq - such as IQueryable<>, IGrouping<>, etc?

LINQ itself does - but strictly speaking, LINQ isn't a language
feature. The word LINQ only appears in the C# 3 spec in namespaces.

The C# 3 feature *enabling* LINQ is query expressions, and they can
work with anything that provides the appropriate methods. For instance:

public delegate TRet FakeFunc<TIn, TRet>(TIn x);

public class FakeLinq
{
   public FakeLinq Where(FakeFunc<FakeLinq,bool> x)
   {
       return null;
   }
   
   public T Select<T>(FakeFunc<FakeLinq,T> y)
   {
       return default(T);
   }
}

class Test
{
   static void Main()
   {
       var x = from z in new FakeLinq()
               where z==null
               select z.ToString();                
   }
}

Not an IEnumerable<T> in sight. The above would compile with the C# 3
compiler targeting .NET 2.0, and run under .NET 2.0.

> > > I believe they are tied to both the language and the runtime (only the 3.5
> > > version of csc.exe/vbc.exe can compile them), and the framework was extended
[quoted text clipped - 10 lines]
> > anonymous types are fine, extension methods are fine with the addition
> > of a single extra attribute...

Signature

Jon Skeet - <skeet@pobox.com>
http://www.pobox.com/~skeet   Blog: http://www.msmvps.com/jon.skeet
World class .NET training in the UK: http://iterativetraining.co.uk

Mike - 30 Nov 2007 01:15 GMT
Ok, I follow that somewhat. The syntax is simply interpreted as a series of
function calls, etc.

Thanks,

Mike

> > Correct me if I'm wrong please, but doesnt LINQ make heavy use of the types
> > defined in System.Linq - such as IQueryable<>, IGrouping<>, etc?
[quoted text clipped - 47 lines]
> > > anonymous types are fine, extension methods are fine with the addition
> > > of a single extra attribute...
Jon Skeet [C# MVP] - 30 Nov 2007 08:08 GMT
> Ok, I follow that somewhat. The syntax is simply interpreted as a series of
> function calls, etc.

Exactly - and that "query expression to normal C#" translation is
entirely mechanical; it doesn't rely on any specific types etc. That's
how different LINQ providers work - by providing normal or extension
methods which work on their data sources. It's very, very cunning. It
also means that query expressions have a very limited impact on the
language spec - they're an isolated feature, effectively.

Signature

Jon Skeet - <skeet@pobox.com>
http://www.pobox.com/~skeet   Blog: http://www.msmvps.com/jon.skeet
World class .NET training in the UK: http://iterativetraining.co.uk

Cowboy (Gregory A. Beamer) - 30 Nov 2007 14:41 GMT
That is true. I am thinking a bit too Microsoft today.

LINQ syntax, itself, is built into the language. There is much of LINQ that
requires support of the Framework, so I guess that feature does sit on the
cusp of language and Framework.

Back to the original question: I am not sure anyone knows if and when a SP1
is planned and I am sure it would be NDA information if they knew.

Signature

Gregory A. Beamer
MVP, MCP: +I, SE, SD, DBA

*************************************************

| Think outside the box!

*************************************************
> Jon,
>
[quoted text clipped - 19 lines]
>> anonymous types are fine, extension methods are fine with the addition
>> of a single extra attribute...
Cowboy (Gregory A. Beamer) - 30 Nov 2007 14:39 GMT
While it is true the compilers are package with the framework, I would not
call them a Framework feature, per se, as they are language dependent (csc
versus vbc). I do agree, however, that they ship with a certain version of
the framework, so you will have to have the framework installed to get the
newest bits. It was the language teams who work through features like LINQ,
lambda expressions, etc.

It is true, however, that some features might not compile to 2.0 (if you
target it), but most should not have problems, as the compiler has the
ability to convert most to 2.0. Jon has already covered this.

Signature

Gregory A. Beamer
MVP, MCP: +I, SE, SD, DBA

*************************************************

| Think outside the box!

*************************************************
> Hi Gregory,
>
[quoted text clipped - 33 lines]
>> >
>> > Mike

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.