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,
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 [quoted text, click to view] "Jon Skeet [C# MVP]" wrote: > Mike <Mike@discussions.microsoft.com> wrote: > > 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... > > -- > 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
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 [quoted text, click to view] "Cowboy (Gregory A. Beamer)" wrote: > 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. > > -- > Gregory A. Beamer > MVP, MCP: +I, SE, SD, DBA > > ************************************************* > | Think outside the box! > | > ************************************************* > "Mike" <Mike@discussions.microsoft.com> wrote in message > news:BBFB5D01-1AD8-4E2D-8504-8956C4BF0186@microsoft.com... > > 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 > >
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. [quoted text, click to view] "Mike" wrote: > 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 > > "Cowboy (Gregory A. Beamer)" wrote: > > > 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. > > > > -- > > Gregory A. Beamer > > MVP, MCP: +I, SE, SD, DBA > > > > ************************************************* > > | Think outside the box! > > | > > ************************************************* > > "Mike" <Mike@discussions.microsoft.com> wrote in message > > news:BBFB5D01-1AD8-4E2D-8504-8956C4BF0186@microsoft.com... > > > 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, 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, click to view] "Jon Skeet [C# MVP]" wrote: > Mike <Mike@discussions.microsoft.com> wrote: > > 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... > > -- > 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
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. -- Gregory A. Beamer MVP, MCP: +I, SE, SD, DBA ************************************************* | Think outside the box! | ************************************************* [quoted text, click to view] "Mike" <Mike@discussions.microsoft.com> wrote in message news:BBFB5D01-1AD8-4E2D-8504-8956C4BF0186@microsoft.com... > 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
Ok, I follow that somewhat. The syntax is simply interpreted as a series of function calls, etc. Thanks, Mike [quoted text, click to view] "Jon Skeet [C# MVP]" wrote: > Mike <Mike@discussions.microsoft.com> wrote: > > 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. > > > > > > > "Jon Skeet [C# MVP]" wrote: > > > > > Mike <Mike@discussions.microsoft.com> wrote: > > > > 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... > > > > > > -- > > > 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 > > > > > > > -- > 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
[quoted text, click to view] Mike <Mike@discussions.microsoft.com> wrote: > 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... -- Jon Skeet - <skeet@pobox.com> http://www.pobox.com/~skeet Blog: http://www.msmvps.com/jon.skeet
[quoted text, click to view] Mike <Mike@discussions.microsoft.com> wrote: > 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... -- Jon Skeet - <skeet@pobox.com> http://www.pobox.com/~skeet Blog: http://www.msmvps.com/jon.skeet
[quoted text, click to view] Mike <Mike@discussions.microsoft.com> wrote: > 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. [quoted text, click to view] > > > "Jon Skeet [C# MVP]" wrote: > > > Mike <Mike@discussions.microsoft.com> wrote: > > > 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... > > > > -- > > 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 > > > -- Jon Skeet - <skeet@pobox.com> http://www.pobox.com/~skeet Blog: http://www.msmvps.com/jon.skeet
[quoted text, click to view] Mike <Mike@discussions.microsoft.com> wrote: > 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. -- Jon Skeet - <skeet@pobox.com> http://www.pobox.com/~skeet Blog: http://www.msmvps.com/jon.skeet
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. -- Gregory A. Beamer MVP, MCP: +I, SE, SD, DBA ************************************************* | Think outside the box! | ************************************************* [quoted text, click to view] "Mike" <Mike@discussions.microsoft.com> wrote in message news:8D4A26E9-21BB-416C-BF7D-D87C6F6AF9D9@microsoft.com... > 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 > > "Cowboy (Gregory A. Beamer)" wrote: > >> 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. >> >> -- >> Gregory A. Beamer >> MVP, MCP: +I, SE, SD, DBA >> >> ************************************************* >> | Think outside the box! >> | >> ************************************************* >> "Mike" <Mike@discussions.microsoft.com> wrote in message >> news:BBFB5D01-1AD8-4E2D-8504-8956C4BF0186@microsoft.com... >> > 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 >> >> >>
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. -- Gregory A. Beamer MVP, MCP: +I, SE, SD, DBA ************************************************* | Think outside the box! | ************************************************* [quoted text, click to view] "Mike" <Mike@discussions.microsoft.com> wrote in message news:A5B1D12F-EA8E-4298-882F-EF42437D6341@microsoft.com... > 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? > > > "Jon Skeet [C# MVP]" wrote: > >> Mike <Mike@discussions.microsoft.com> wrote: >> > 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... >> >> -- >> 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 >>
Don't see what you're looking for? Try a search.
|