Is anyone else considering skipping the VS2008 generation?
-
unless I jump projects late/never adoptor. I currently need both NT4 and win2k support. The former is holding me back to VS03, and IIRC the later will continue to hold me at VS05 even after the client finishes retiring it's most antiquidated hardware.
-- If you view money as inherently evil, I view it as my duty to assist in making you more virtuous.
.NET 3.5 is a continuation of the bad naming policy of the .NET Framework. It does not contain a new CLR. The new features added to the existing .NET 2.0 classes are not going in new side-by-side assemblies, they are going in ".NET Framework 2.0 SP1". That's right, they're updating the assemblies in place. It overwrites the existing GAC copy of Framework 2.0 DLLs so it's not even possible to use configuration files to go back. Hello, DLL Hell. Similarly there are some updates to ".NET 3.0" in this release, which replace the existing DLLs. So where's the new stuff going? Most of the new Base Class Libraries are going in System.Core.dll. Microsoft have defined 'red bits' which can only change very carefully and 'green bits' which contain the new stuff. See here[^] for information on what's what. The much touted '.NET multi-targeting' is a bit of a blind, therefore, because it actually just governs which assemblies you can select to go into your project. It all runs on top of CLR 2.0.
DoEvents
: Generating unexpected recursion since 1991 -
Colin Angus Mackay wrote:
I'm jumping in. The CLR is still at Version 2.0, it is just the C# compiler (3.0) and .NET Framework (3.5) that are the big changes. VS2008 also has support for multiple versions of the framework, so I can ditch VS2005 yet still work on .NET 2.0 applications.
That's the main reason I plan to upgrade to VS2008 as soon as possible. Multi-targeting should have been included in VS2005 in my opinion...
If you truly believe you need to pick a mobile phone that "says something" about your personality, don't bother. You don't have a personality. A mental illness, maybe - but not a personality. - Charlie Brooker My Blog - My Photos - ScrewTurn Wiki
VS2008 'multi-targeting' is a cheat. As Colin says, '.NET 3.0' and '.NET 3.5' still run on top of CLR 2.0. They share the same mscorlib.dll, System.dll, System.Windows.Forms.dll, etc. The '.NET 3.5' installer will download and install '.NET 3.0 SP1' and '.NET 2.0 SP1', which overwrite the existing assemblies in the GAC - no side-by-side here! VS2008 cannot target CLR 1.1, only CLR 2.0. To complicate things I believe .NET 2.0 SP1 will be downloadable separately and indeed become the supported version if Microsoft follow their normal support practices. So what does 'multi-targeting' really do? It restricts which assemblies you can reference and the code which is generated by default. It's a sham. Still, VS2008 on Vista should be better than 2005.
DoEvents
: Generating unexpected recursion since 1991 -
I'm wanting LINQ. It will really help simplify much of our code where we manipulate lists, collections, arrays, etc. Rather than custom loops all over the place, a simple LINQ query will do the trick. Nice and concise. We use a lot of anonymous methods too...the more terse lambda will improve readability. The built-in extension methods on IEnumerable<T> are really nice and will help improve code readability. So I'm an early adopter this time.
Tech, life, family, faith: Give me a visit. I'm currently blogging about: Halloween and Celebrating Man's Festivals The apostle Paul, modernly speaking: Epistles of Paul Judah Himango
I want LINQ, but I'm having a hard time wrapping my brain around it. I tried using it for a relaively simple sql query, but got frustrated and went with something I knew. I like extension methods, simple properties, built in ajax, framework targeting, etc. I guess I need to study more about LINQ
Success is the happy feeling you get between the time you do something and the time you tell a woman what you did. --Dibert My left name is Tremendous Savings, Ms. America – Señor Cardgage
-
Or becoming a late adopter? Although there's a lot of cool stuff in .Net 3.5 I can't help but feel that I haven't done .Net 2.0 to death yet. Also, given the amount of stuff currently coming out of Microsoft, I do wonder whether it's best to wait and see what falls by the wayside, for instance WPF - from what I've seen people on CodeProject do with it it looks very cool... but it wouldn't be the first time I've devoted effort to learning something only to see the marketability of such skills divebomb into obscurity.
Me: Can you see the "up" arrow? User:Errr...ummm....no. Me: Can you see an arrow that points upwards? User: Oh yes, I see it now! -Excerpt from a support call taken by me, 08/31/2007
We'll certainly be a late adopter. We've been deploying 2.0 framework apps for about 18 Months now. We're at least 24 Months out from any new .NET framework deployments; too many mission-critical apps at risk, and at least 2 will break and need recoded. We jumped on the MS bandwagon with IE, XML DataIslands and client-side HTTPPost...What a Dead-end effort! That experience alone has put us in the "wait and see" mode. We'll see what shakes out in 2-3 years...
-
This is one of the reasons I've given in my petition against renaming WinFX to .NET 3.0.[^].
2. Rename to .NET 2.5: It may be better than “.NET 2.1” in that it indicates a large advancement, while still building upon the success of the .NET framework and maturity of .NET 2.0 – maturity being very crucial for adoption, particularly in the enterprise market. **The name .NET 3.0 casts doubt on the maturity of the .NET framework as a whole.**
.NET 3.5 is .NET 2.0 with a few new features to C# and VB. WPF is part of ".NET 3.0", which isn't even a version of .NET, it's just a toolkit. So there is no question here about whether you should use .NET 3.5 or .NET 2.0: either way, you're still using .NET 2.0; .NET 3.0 and .NET 3.5 features are purely optional. Your question is simply whether or not WPF/WCF/WF are beneficial to your projects. As for VS2008, I won't buy it, because I'm content with VC# 2008 Express.More naming idiocy: to keep the names synchronized, the next version of .NET Compact Framework will be called .NET Compact Framework 3.5. Unlike the desktop, the Compact Framework gets an entirely new set of assemblies which will install side-by-side with the old ones, and a new set of native helper libraries (netcfagl3_5.dll, netcfd3dm3_5.dll and netcfmail3_5.dll). It also gets a new CLR (mscoree3_5.dll). It gets a weirdly cutdown version of WCF using email as the transport and LINQ. It doesn't get any other part of ".NET 3.0" because there's no practical way to implement WPF and no point in having Workflow. Unlike the desktop, .NET Compact Framework 2.0 could run 1.0 programs even if 1.0 was not installed, without any redirection through a .config file required. They stamp the AppDomain with a 'compatibility version' so that a few compatibility breaks can be shimmed out by the code. (It appears that if you passed a duff object to most Graphics.DrawXxx routines in CF 1.0 it wouldn't throw an exception, while v2 and later do, so the exception has to be suppressed if emulating v1.) This is also true of 3.5.
DoEvents
: Generating unexpected recursion since 1991 -
I am still converting from 2003 to 2005. As 2005 is the rock which 2008 is based on I will continue with that. Is is my imagination or is .NET doubling in size with each new release? Are we now going to have to start specialising and miss out on parts? Brian Squibb - still remembering how simple VB1 was
It's due to the idiocy of labelling all the new stuff as ".NET" when in fact it's pure extensions, in new assemblies, to the features shipped in .NET Framework 2.0. A few of us here petitioned to stop WinFX being renamed ".NET Framework 3.0" because it would confuse. This is not entirely true - there are a few new classes and methods in ".NET Framework 2.0 SP1". Here[^] is a list of changes.
DoEvents
: Generating unexpected recursion since 1991 -
Or becoming a late adopter? Although there's a lot of cool stuff in .Net 3.5 I can't help but feel that I haven't done .Net 2.0 to death yet. Also, given the amount of stuff currently coming out of Microsoft, I do wonder whether it's best to wait and see what falls by the wayside, for instance WPF - from what I've seen people on CodeProject do with it it looks very cool... but it wouldn't be the first time I've devoted effort to learning something only to see the marketability of such skills divebomb into obscurity.
Me: Can you see the "up" arrow? User:Errr...ummm....no. Me: Can you see an arrow that points upwards? User: Oh yes, I see it now! -Excerpt from a support call taken by me, 08/31/2007
Every time I get something new from Microsoft, it has more bugs and annoyances. I spent hours turning off all the junk for VS2005 so I could actually type code without my computer hanging for 30 seconds at a time. I'm skipping VISTA as long as possible and I plan to skip VS 2008 as long as possible. Of course you know eventually you'll get it anyway when you download a service pack for something else. Whatever happened to that bundling lawsuit?
-
I want LINQ, but I'm having a hard time wrapping my brain around it. I tried using it for a relaively simple sql query, but got frustrated and went with something I knew. I like extension methods, simple properties, built in ajax, framework targeting, etc. I guess I need to study more about LINQ
Success is the happy feeling you get between the time you do something and the time you tell a woman what you did. --Dibert My left name is Tremendous Savings, Ms. America – Señor Cardgage
It's a different approach, for sure. Instead of telling the compiler how to get data, you just tell the compiler what data you want. e.g. instead of
List<int> myFavoriteInts = new List<int>();
foreach(int i in someList)
{
if(i % 3 == 0 || i % 7 == 0)
{
myFavoriteInts.Add(i);
}
}You replace that by just telling the compiler what you want:
var myFavoriteInts = from someList where i % 3 || i % 7 select i;
This is a trivial example, of course, the benefits only double as things get more complex. Another nice side effect of this is that by telling the compiler what we want, rather than how to get it, the compiler is free to do optimizations on our queries. This is the premise for the upcoming PLINQ and ParallelFX libraries[^].
Tech, life, family, faith: Give me a visit. I'm currently blogging about: Forgive Me Father, For I Have Sinned: A Catholic Confession On Sabbath The apostle Paul, modernly speaking: Epistles of Paul Judah Himango
-
Or becoming a late adopter? Although there's a lot of cool stuff in .Net 3.5 I can't help but feel that I haven't done .Net 2.0 to death yet. Also, given the amount of stuff currently coming out of Microsoft, I do wonder whether it's best to wait and see what falls by the wayside, for instance WPF - from what I've seen people on CodeProject do with it it looks very cool... but it wouldn't be the first time I've devoted effort to learning something only to see the marketability of such skills divebomb into obscurity.
Me: Can you see the "up" arrow? User:Errr...ummm....no. Me: Can you see an arrow that points upwards? User: Oh yes, I see it now! -Excerpt from a support call taken by me, 08/31/2007
Late Adopter??? hmmm I maybe a very late adopter, my company is still using VS6.0, something about the thickness of the layer of dust determines when software is to be rolled out and how many service packs. RC (who's first portable computer was a computer in a rack with wheels)
-
Or becoming a late adopter? Although there's a lot of cool stuff in .Net 3.5 I can't help but feel that I haven't done .Net 2.0 to death yet. Also, given the amount of stuff currently coming out of Microsoft, I do wonder whether it's best to wait and see what falls by the wayside, for instance WPF - from what I've seen people on CodeProject do with it it looks very cool... but it wouldn't be the first time I've devoted effort to learning something only to see the marketability of such skills divebomb into obscurity.
Me: Can you see the "up" arrow? User:Errr...ummm....no. Me: Can you see an arrow that points upwards? User: Oh yes, I see it now! -Excerpt from a support call taken by me, 08/31/2007
Looks like I'm the only one here... We work on small, RAD-style projects and one humongous high-throughput website (50 M hits/day) built entirely in .NET 2.0 and SQL 2005. We'll be rolling out VS2008 ASAP and we'll likely be implementing features right away. We have a "roll-your-own" Entity Framework, that's "trimmed-down" but tailored to the scale of project that we do. I'm already working on the LINQ extensions for the Entities and I'll likely be re-writing much of the Data Access Layer as the past months have shown that we don't necessarily need everything that's there. Right now, we're either building AJAX-enabled Web Sites / Web Apps or we're building some reasonably good-looking Winforms apps. I want a WPF to present to clients ASAP b/c WPF isn't going anywhere. WPF is fundamental to Vista (and any future Windows OS) and it's a fundamental shift in the way we build user interfaces. Let's put it this way: I actually have a design guy on my staff (for a team of ~8 devs) and he doesn't just do web pages. My design guy will be involved in rolling out new WPF apps to clients. My clients don't need Menu and Toolbar-driven applications, they need apps that look good and work in a way that they need them to. WPF is going to be part of that solution. WPF also have some nice binding features which is currently part of our MO. As to my high-throughput web app, we need any extra tools that we can get. Right now MS is working on PFX (parallel framework extension) for .NET 3.5. We want this stuff and we want it to work, b/c right now multi-threading is often required, but always painful. We're using threads for big and/or long tasks, but we could really use some quick & clean solution at the lower-level data access end. I know that for big & long-lived apps, all of these "new toys" are pretty moot b/c you can't rewrite old code. But the tech available in 3.0+ is pretty innovative and is really leading the way for *how* we're going to program in the next 5-10 years. I can't wait to sink my teeth :) Gates
-
Looks like I'm the only one here... We work on small, RAD-style projects and one humongous high-throughput website (50 M hits/day) built entirely in .NET 2.0 and SQL 2005. We'll be rolling out VS2008 ASAP and we'll likely be implementing features right away. We have a "roll-your-own" Entity Framework, that's "trimmed-down" but tailored to the scale of project that we do. I'm already working on the LINQ extensions for the Entities and I'll likely be re-writing much of the Data Access Layer as the past months have shown that we don't necessarily need everything that's there. Right now, we're either building AJAX-enabled Web Sites / Web Apps or we're building some reasonably good-looking Winforms apps. I want a WPF to present to clients ASAP b/c WPF isn't going anywhere. WPF is fundamental to Vista (and any future Windows OS) and it's a fundamental shift in the way we build user interfaces. Let's put it this way: I actually have a design guy on my staff (for a team of ~8 devs) and he doesn't just do web pages. My design guy will be involved in rolling out new WPF apps to clients. My clients don't need Menu and Toolbar-driven applications, they need apps that look good and work in a way that they need them to. WPF is going to be part of that solution. WPF also have some nice binding features which is currently part of our MO. As to my high-throughput web app, we need any extra tools that we can get. Right now MS is working on PFX (parallel framework extension) for .NET 3.5. We want this stuff and we want it to work, b/c right now multi-threading is often required, but always painful. We're using threads for big and/or long tasks, but we could really use some quick & clean solution at the lower-level data access end. I know that for big & long-lived apps, all of these "new toys" are pretty moot b/c you can't rewrite old code. But the tech available in 3.0+ is pretty innovative and is really leading the way for *how* we're going to program in the next 5-10 years. I can't wait to sink my teeth :) Gates
I'm a one-man band & I'll be diving into VS2008 (and Windows server 2008) for my next big one. Damn the expense - the time and pain it saves me will pay for that in no time. Leave the Edsel in the museum where it belongs.
It wasn't me, It was the Others. It was the Others, Not Me.
-
You're a .Net developer and you don't have any freedom in choosing your tools? Have you looked around you? Seen the sun lately? I just negotiated a 4 day work week with a raise and less work! Talent is short, get with the program! =) Anyway, in keeping with the thread...I will jump in...right after I jump into Windows 2008, and SQL 2008...Then I can jump into VS 2008...oi, so much to learn...
-
We just got our developers started with VS2005 and I personally would prefer to stick with a stable known platform like .Net 2.0 then to keep chaising the promise of improved developer productivity in a new product. Give me productivity enhancing features that I can use when maintaining code I've already written. There's no ROI for rewritting our whole application portfolio for the latest tool. Microsoft is really falling short lately in delivering value to customers. Just look at Vista, Office 2007 and Exchange 2007. Lot's of wiz-bang but short on value. We want tools that let us leverage our experience not tools that we need to completely relearn every few years. Maybe it is time to switch to Linux.
JayW2 wrote:
There's no ROI for rewritting our whole application portfolio for the latest tool.
That's the telling quote right there. If you can't make money by writing richer, faster or more user-friendly software, then there's not really anything that anyone can do to help you (short of writing your code for you, have you seen snippets?) I think the foolish thing here is assuming that you need to re-write your portfolio to use 2008. You don't, you can deploy backwards, 3.0 code compiles to 2.0. If you have stuff that must be built and deployed under VS 2003, then you should be running an instance of VS 2003 (with tools) inside of a Virtual Machine (i.e.: Microsoft Virtual PC) so that you can always have the correct tools available. Upgrade new stuff, maintain the old all in different sandboxes. Heck if you have any long-running software, you should have VPC images of the development environment for that software. Of course, at some point, your software will die or become uncompetitive or need re-writing. If you cannot bring in money from this process (either via subscriptions or upgrade licenses, etc.), then your software product is doomed to failure or at least obsolescence.
-
More naming idiocy: to keep the names synchronized, the next version of .NET Compact Framework will be called .NET Compact Framework 3.5. Unlike the desktop, the Compact Framework gets an entirely new set of assemblies which will install side-by-side with the old ones, and a new set of native helper libraries (netcfagl3_5.dll, netcfd3dm3_5.dll and netcfmail3_5.dll). It also gets a new CLR (mscoree3_5.dll). It gets a weirdly cutdown version of WCF using email as the transport and LINQ. It doesn't get any other part of ".NET 3.0" because there's no practical way to implement WPF and no point in having Workflow. Unlike the desktop, .NET Compact Framework 2.0 could run 1.0 programs even if 1.0 was not installed, without any redirection through a .config file required. They stamp the AppDomain with a 'compatibility version' so that a few compatibility breaks can be shimmed out by the code. (It appears that if you passed a duff object to most Graphics.DrawXxx routines in CF 1.0 it wouldn't throw an exception, while v2 and later do, so the exception has to be suppressed if emulating v1.) This is also true of 3.5.
DoEvents
: Generating unexpected recursion since 1991Great.
5. Non-Win32 (Microsoft and non-Microsoft) implementations – Other implementations of the .NET Framework, such as the Compact Framework, SPOT OS, Singularity and Mono will suffer from naming confusions. The CLR team took very, very careful steps to make sure the .NET Framework works on other platforms as well. Mangling the .NET framework with Win32 specific API breaks that, isolating the entire framework to Windows.
I knew it would happen, but I didn't think it'd be this bad. -
basically yes. You can download it, but it won't work because it's too tightly coupled to the win32 api. Even if you don't use the parts that require XP+ APIs the framework still does and you're screwed. In theory you could use a 3rd party .net to native compiler to make a win32 exe that would work on older hardware (provided you watch your API usage), but the software to do that is priced similarly to VS itself so I've never actually tried to do so.
-- If you view money as inherently evil, I view it as my duty to assist in making you more virtuous.
-
As a purely C++ programmer the .NET improvements etc. are not of interest. What will be of interest will be if they have finally implemented intellisense in a way that works more than occasionally. Typically I would wait until at least the first service pack before looking. I had not realised VS08 will not support win2K. That would definitely keep me off it for some years as many users still have it. At the end of the day you can push users so fast but you have to keep supporting the platforms a majority are using.
M Towler wrote:
As a purely C++ programmer the .NET improvements etc. are not of interest. What will be of interest will be if they have finally implemented intellisense in a way that works more than occasionally.
For real C++ "experience" improvements you'll need to wait until VS 2010. A major IDE revamp is promised.
Kevin
-
Or becoming a late adopter? Although there's a lot of cool stuff in .Net 3.5 I can't help but feel that I haven't done .Net 2.0 to death yet. Also, given the amount of stuff currently coming out of Microsoft, I do wonder whether it's best to wait and see what falls by the wayside, for instance WPF - from what I've seen people on CodeProject do with it it looks very cool... but it wouldn't be the first time I've devoted effort to learning something only to see the marketability of such skills divebomb into obscurity.
Me: Can you see the "up" arrow? User:Errr...ummm....no. Me: Can you see an arrow that points upwards? User: Oh yes, I see it now! -Excerpt from a support call taken by me, 08/31/2007
martin_hughes wrote:
considering skipping the VS2008 generation?
As for me and my small co., I plan on skipping, or at least waiting until at least most of the inhearent bugs are worked out of that enviroment. Heck I mostly did the same with .NET peroid. I did not do VS 2002 or 2003, I waited until VS 2005 came out before easing my grasp on VS 6. :-D
DB_Cooper1950 Either enjoy life, Or Hate Life, Just quit SITTING ON THE FENCE!
-
martin_hughes wrote:
considering skipping the VS2008 generation?
As for me and my small co., I plan on skipping, or at least waiting until at least most of the inhearent bugs are worked out of that enviroment. Heck I mostly did the same with .NET peroid. I did not do VS 2002 or 2003, I waited until VS 2005 came out before easing my grasp on VS 6. :-D
DB_Cooper1950 Either enjoy life, Or Hate Life, Just quit SITTING ON THE FENCE!
db_cooper1950 wrote:
...before easing my grasp on VS 6.
I'm still hanging on tightly. I just recently bought a new computer so maybe that'll be the nudge I needed.
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
-
M Towler wrote:
As a purely C++ programmer the .NET improvements etc. are not of interest. What will be of interest will be if they have finally implemented intellisense in a way that works more than occasionally.
For real C++ "experience" improvements you'll need to wait until VS 2010. A major IDE revamp is promised.
Kevin
A major IDE revamp sounds nice. Hopefully it will involve another round of copying the nice features from other commercial text editors rather than another awful 'paradigm shift'. For example useful things like comment and uncomment not being hidden so many menu levels down that users miss them. What I am more interested in is some more basic facilities. For starters how about some compiler libraries that will compile cleanly with warning level 4. I have been waiting for more than a decade for them to get this one right. Warning level 4 is really good for finding errors in your own code but is difficult to read due to all the cruft produced from the compiler's standard library. And for debugging the ability to view the return value of a function whilst the cursor is on the closing brace. I used embedded debuggers with this ability ten years ago.
-
More naming idiocy: to keep the names synchronized, the next version of .NET Compact Framework will be called .NET Compact Framework 3.5. Unlike the desktop, the Compact Framework gets an entirely new set of assemblies which will install side-by-side with the old ones, and a new set of native helper libraries (netcfagl3_5.dll, netcfd3dm3_5.dll and netcfmail3_5.dll). It also gets a new CLR (mscoree3_5.dll). It gets a weirdly cutdown version of WCF using email as the transport and LINQ. It doesn't get any other part of ".NET 3.0" because there's no practical way to implement WPF and no point in having Workflow. Unlike the desktop, .NET Compact Framework 2.0 could run 1.0 programs even if 1.0 was not installed, without any redirection through a .config file required. They stamp the AppDomain with a 'compatibility version' so that a few compatibility breaks can be shimmed out by the code. (It appears that if you passed a duff object to most Graphics.DrawXxx routines in CF 1.0 it wouldn't throw an exception, while v2 and later do, so the exception has to be suppressed if emulating v1.) This is also true of 3.5.
DoEvents
: Generating unexpected recursion since 1991Do you have a link for the NETcf 3.5 info?