Puzzled...
-
you know i was thinking about this and open source and such today and i wanted to post something but didnt have time ... now i thik i will so i was thinking about open source vs (for example) windows ... i love my debian / kde setup where i can just apt-get install whatever packages i need and not even think about cost as such ... then when i was working in my vista boot i thought "sheesh everything i want to install costs money ... that sucks!!" ... then i thought a bit more and realised that i am one of those people who will have no living to make come the day all software is free ... now i dont mean "whoa it affects me so i care all of a sudden" ... i mean we as developers take time to learn our craft and what does and doesnt work and what will carry on working on into the future ... we design and implement and test product because we care what we do ... if we cant make any money anymore why bother with the quality? for the love of it sure but i have to pay my rent so it made me realise that whilst i would rather not pay for that little utility i want to use it actually makes sense to because the person who wrote it made it work and deserves some reward for the effort ... as do we all as for open source ... i love it and i contribute to it whenever i can and i use it most of the time ... but saying all software should be free is wrong imo sooooooooooo... bringing it back to the thread... when the customers have this idea that "free" software exists it devalues what we do in their minds ... its an extension of "well i can buy ms office for $300 so why is this going to cost me $5000?" ... except now its free ms and others are adding to the problems we face in trying to deliver quality software by making the barrier to entry for developers very low ... almost any twit with visual studio can get a program to run ... it probably wont be very well written or anything but does the customer know or care? i think people have lost sight of quality software and what discipline it takes to create it ... and that that costs time and money ... but as you say we are in a bad position right now competing against the off-shore "solutions" and "free" *sigh* anyways thats me done waffling now ;)
"mostly watching the human race is like watching dogs watch tv ... they see the pictures move but the meaning escapes them"
l a u r e n wrote:
i think people have lost sight of quality software and what discipline it takes to create it ... and that that costs time and money
Amen!!! Marc
-
Super Lloyd wrote:
so why a new version give people confidence to use the previous (and inferior) version?
Remember Winamp? In one version change they went from a light, stable, fast, useful app to a bloated beast of ungodly proportions. 2.0 does not automatically mean better than 1.0. It means different. Different introduces risk. New features, unproven features, new bugs, unfixed bugs. 1.0 gets "proven" by rolling out 1.2, 1.3, 1.4, 1.5.1.2. Fixes, patches, proven performance improvements. People have hammered 1.0 and so 1.1 fixes what was revealed in 1.0. 1.2 then fixes what was revealed in hammering 1.1. And so on. When 2.0 is rolled out it is, hopefully, everything learned from version 1, bug fixes from the version 1 life-time (1.1, 1.2, 1.3 etc.) plus new features and ideas that I need. But I would still wait for 2.1, or 2.0.1. I'd be worried if in an interview the interviewer told me "Why are you using 1.0 when 2.0 is obviously better?" It isn't obviously better. It may be obviously cooler but it may also be buggy as hell. No offense Super Loyd but you seem bitten by the "Must have latest version" marketing game. I thought much the same for years but now have learned to go careful with new versions.
Super Lloyd wrote:
While, basically, 'x+2' is a fix over 'x' and 'x+1' so it doesn't make much sense to use it as a clue to use 'x+1'.
No. 1.1 is a fix over 1.0. 2.0 is not a fix over 1.0. It is a new major version. It could be radically different and profoundly broken. (Obviously if someone misuses version numbers and rolls out a lot of new features in a point release then you are screwed.)
regards, Paul Watson Ireland & South Africa
Andy Brummer wrote:
Watson's law: As an online discussion of cars grows longer, the probability of a comparison involving the Bugatti Veyron approaches one.
Paul Watson wrote:
2.0 does not automatically mean better than 1.0. It means different. Different introduces risk. New features, unproven features, new bugs, unfixed bugs.
Phew..! I thought I was the only one who had that thought.., especially from the response to my post...
-
Marc Clifton wrote:
People need to stop thinking of technology and version x as the panacea to solve their problems and start thinking about how concepts, independent of any technology, can be of use.
I don't think this is an accurate statement. Now hold on, let me finish. The reason that frameworks, revisions and versions have exploded in industry wide acceptance and even technolust is because the "Realistic Time For Development" has become something the customer has too much control over. When the customer has control over how much money will be spent and when something will be ready it creates an imbalance in the power scheme. Unfortunately this puts a developer (you for example) in a very awkward situation when you tell a client, "No, I cannot have it ready in 90 days. That's just not possible given what you want. If you're not willing to pay more money for me to bring on more developers then it's going to be 120 days minimum." That client thinks, "Hmm, wonder if someone else can do it in the time I need it in?" So they let their fingers do the talking (UGH!) and the phone books provides some guy who works with 3 other goons who crank out site after site using DNN built on the .Net Framework. Talk about a framework on a framework on a version number! What you are saying is true to a degree. The bigger problem is that the globalization of our industry has created a new paradigm shift that's lead the customer to think, "Gosh I *really* can have it whenever I want." I think we peaked on this phenom about 6 months to a year ago. I think that this movement is going to die off completely in the next 2 to 3 years but for now timelines determine what products developers use and that's because the customer controls the budget and the delivery date because they can. With 10,000 off shore companies begging for work any company can get anything they want when they want it. Not that it will be high quality but Microsoft has proven that time and money not quality rule the hearts of the fickle customers we court.
code-frog wrote:
The reason that frameworks, revisions and versions have exploded in industry wide acceptance and even technolust is because the "Realistic Time For Development"
I disagree with that premise. I see these frameworks as predominantly wrapping existing functionality to make it easier for the newbie programmer, especially with regards to the attempt to coerce everything to work visually and as part of the presentation layer. I wish MS would realize that while visual design is fantastic, not everything has to be dropped onto the form (at least WF has its own designer). And worse, this "let's write a wrapper framework so Joe Shmoe can crank out a 2-tier application in 2 hours" is now extending to the languages MS is pushing. Do a search on "syntactical sugar" and see how much that's applied to new C# language features like anonymous types, LINQ, and so forth.
code-frog wrote:
When the customer has control over how much money will be spent and when something will be ready
The customer has ALWAYS had this control. When did they not? Perhaps only when the customer was the defense dept. throwing millions of dollars at a group of scientists in a desperate attempt to crack encrypted messaging by the enemy (and other examples moving forward from that point). The fact that the customer is in control is a good thing. It gives them choice, it scopes the project, and so forth. This has little to do with frameworks and more to do with the skills of the programmer, their toolchest, and the ability to communicate with the customer.
code-frog wrote:
The bigger problem is that the globalization of our industry has created a new paradigm shift that's lead the customer to think, "Gosh I *really* can have it whenever I want."
Yes, they can think that because we, as programmers, as framework creators, as outsourcing companies, etc., lead them to think that. Before outsourcing, the customer thought the same thing, because we were out there tooting our horns on how great we are and all the things software solves. And I'm talking about how we were behaving in the 70's and 80's, that still propagates to today. Look at the promise of web services, of XML/XSD as a template for standardization and intercommunication, at tools that can create monstrous, rigid applications in a matter of minutes. All promises that actually require
-
You know the type, Microsoft release a new product, let's say .NET 1.0 and people will say: "ho it's unproven technology, I will wait for the next version to consider it" Later on Microsoft release .NET 2.0 which is (admitedly :-D) an improvement. And then the same people say: ho, ok, it's proven now, let's start to use.... 1.0!?!?!? But, admitedly, 1.0 was not good enough (clearly compared to 2.0) so why a new version give people confidence to use the previous (and inferior) version? When it's really the latest they should use... I ask that because I met a few people lately (having job interview) which basically wait for version 'x+2' of the framework to be confident to use version 'x+1'. While, basically, 'x+2' is a fix over 'x' and 'x+1' so it doesn't make much sense to use it as a clue to use 'x+1'. Do you see what I mean? How do you explain this behavior?!? (OK, maybe I made it up a bit, after all they have other reason such as: our customer base don't support this version of the framework, hence the question is more targeted to sys admin than to developers....)
Free ware, shareware, do it yourself web site builders, open source..... whatever you want to call it has and will continue to change how software is used, and created. The world is becoming flat. By that I mean todays and tomorrows technologies are leveling the playing fields. Soon everyone who need "custom" applications will be cutting and mashing them together from the "cloud" of API"s and other tools available. In fact VS 2005 and 2008 are examples of how fast the paradigm is spreading. I use both and just the other day I was thinking,'When was the last time you typed more that a few words or even letters at a time when programming?', almost everything I do is cut and paste thanks to code snippets and inteli-sense. This is enabling technology, so yes it enables bad solutions to many problems, but people don't care how elegant the solution is, so long as it's a usable solution.
When prediction serves as polemic, it nearly always fails. Our prefrontal lobes can probe the future only when they aren’t leashed by dogma. The worst enemy of agile anticipation is our human propensity for comfy self-delusion. David Brin Buddha Dave
-
You know the type, Microsoft release a new product, let's say .NET 1.0 and people will say: "ho it's unproven technology, I will wait for the next version to consider it" Later on Microsoft release .NET 2.0 which is (admitedly :-D) an improvement. And then the same people say: ho, ok, it's proven now, let's start to use.... 1.0!?!?!? But, admitedly, 1.0 was not good enough (clearly compared to 2.0) so why a new version give people confidence to use the previous (and inferior) version? When it's really the latest they should use... I ask that because I met a few people lately (having job interview) which basically wait for version 'x+2' of the framework to be confident to use version 'x+1'. While, basically, 'x+2' is a fix over 'x' and 'x+1' so it doesn't make much sense to use it as a clue to use 'x+1'. Do you see what I mean? How do you explain this behavior?!? (OK, maybe I made it up a bit, after all they have other reason such as: our customer base don't support this version of the framework, hence the question is more targeted to sys admin than to developers....)
-
You know the type, Microsoft release a new product, let's say .NET 1.0 and people will say: "ho it's unproven technology, I will wait for the next version to consider it" Later on Microsoft release .NET 2.0 which is (admitedly :-D) an improvement. And then the same people say: ho, ok, it's proven now, let's start to use.... 1.0!?!?!? But, admitedly, 1.0 was not good enough (clearly compared to 2.0) so why a new version give people confidence to use the previous (and inferior) version? When it's really the latest they should use... I ask that because I met a few people lately (having job interview) which basically wait for version 'x+2' of the framework to be confident to use version 'x+1'. While, basically, 'x+2' is a fix over 'x' and 'x+1' so it doesn't make much sense to use it as a clue to use 'x+1'. Do you see what I mean? How do you explain this behavior?!? (OK, maybe I made it up a bit, after all they have other reason such as: our customer base don't support this version of the framework, hence the question is more targeted to sys admin than to developers....)
Possibly with the release of 2.0, these users can now see there are no major problems with 1.0, with the perspective of time. I.e. they know the worst bugs in 1.0 so there will be no unpleasant surprises. This is not true of 2.0 at that point, which MAY contain major problems, so they go with the option that has the least risk. Some people say never use version 1.0 of ANYTHING. I tried Microsoft's version of Java 1.0 when it first came out. It wouldn't even run!
-
You know the type, Microsoft release a new product, let's say .NET 1.0 and people will say: "ho it's unproven technology, I will wait for the next version to consider it" Later on Microsoft release .NET 2.0 which is (admitedly :-D) an improvement. And then the same people say: ho, ok, it's proven now, let's start to use.... 1.0!?!?!? But, admitedly, 1.0 was not good enough (clearly compared to 2.0) so why a new version give people confidence to use the previous (and inferior) version? When it's really the latest they should use... I ask that because I met a few people lately (having job interview) which basically wait for version 'x+2' of the framework to be confident to use version 'x+1'. While, basically, 'x+2' is a fix over 'x' and 'x+1' so it doesn't make much sense to use it as a clue to use 'x+1'. Do you see what I mean? How do you explain this behavior?!? (OK, maybe I made it up a bit, after all they have other reason such as: our customer base don't support this version of the framework, hence the question is more targeted to sys admin than to developers....)
I agree very strange. I can see people that wait for a service pack or two to get bug fixes, but staying behind a whole version even after the current one has become a mature technology, doesn't make sense. As far as IT goes if you have a rock solid system that meets the need, don't mess with it. But as far as development is concerned, you are trying to address future need, so you should be using bleeding edge technology (which will be mainstream by the time you ship). Same thing with hardware, companies that raid the discount bin for their developers PCs are morons, I you have a guy coding on a P4 2GHz 1GB RAM for instance, what the hell. If he even dreams up the idea of multi-threading the app, he will have little clue as to how it will run on a multicore system where concurrency will become an issue. Buy a 3-4k desktop for your developers every couple years, you'll get it back in increased job satisfaction and production.
-
Marc Clifton wrote:
And if you stop thinking
Whoa! Hold on. I didn't think that thinking was allowed. We're just supposed to take what Microsoft gives us and apply it (blindly) to all the problems that we have. They've told us that it will solve everything. Yeah, that's the ticket. It'll solve everything! ;P Mike
No no no, Managers are not supposed to think. We as programmers that actually think for a living have to keep thinking. We just have to be carefully who we share that information with. ;)
Try code model generation tools at BoneSoft.com.
-
Super Lloyd wrote:
so why a new version give people confidence to use the previous (and inferior) version?
Remember Winamp? In one version change they went from a light, stable, fast, useful app to a bloated beast of ungodly proportions. 2.0 does not automatically mean better than 1.0. It means different. Different introduces risk. New features, unproven features, new bugs, unfixed bugs. 1.0 gets "proven" by rolling out 1.2, 1.3, 1.4, 1.5.1.2. Fixes, patches, proven performance improvements. People have hammered 1.0 and so 1.1 fixes what was revealed in 1.0. 1.2 then fixes what was revealed in hammering 1.1. And so on. When 2.0 is rolled out it is, hopefully, everything learned from version 1, bug fixes from the version 1 life-time (1.1, 1.2, 1.3 etc.) plus new features and ideas that I need. But I would still wait for 2.1, or 2.0.1. I'd be worried if in an interview the interviewer told me "Why are you using 1.0 when 2.0 is obviously better?" It isn't obviously better. It may be obviously cooler but it may also be buggy as hell. No offense Super Loyd but you seem bitten by the "Must have latest version" marketing game. I thought much the same for years but now have learned to go careful with new versions.
Super Lloyd wrote:
While, basically, 'x+2' is a fix over 'x' and 'x+1' so it doesn't make much sense to use it as a clue to use 'x+1'.
No. 1.1 is a fix over 1.0. 2.0 is not a fix over 1.0. It is a new major version. It could be radically different and profoundly broken. (Obviously if someone misuses version numbers and rolls out a lot of new features in a point release then you are screwed.)
regards, Paul Watson Ireland & South Africa
Andy Brummer wrote:
Watson's law: As an online discussion of cars grows longer, the probability of a comparison involving the Bugatti Veyron approaches one.
But we're not talking about WinAMP - we're talking MS products. 2.0 is 1.1... 1.1 is something like 0.9.8.9 Beta.
----
I don't care what you consider witty, but at least I do not blather on posting nonsense like Jim Crafton.
-- Stringcheese, humbled by Crafton's ability to string together multiple sentences
-
You are exactly right. But... Customers aren't stupid. There's this really amazing line in economics where supply meets demand. It's a fascinating line because there's 1000 subtle nuances that influence that magical line. Quality is one of them and so is durability. I'm driving a 1997 Toyota 4Runner which has quality and durability. Admittedly I could sell it and get a brand new Hyundai for cash and it would run well for maybe 5 years and then it's durability would dip. Meanwhile it's quality would have begun to fade years prior. My 1997 4Runner costs me nothing, the quality (though not premium) is obvious. The durability... gosh that's legendary. I knew it when I bought it and I knew I was paying about $3000 more than I'd pay for a knock-off equivalent. I bought high. Our customers are the same way. Consumers are starting to complain, "This buggy thing won't run right 7 times out 20. What a piece of crap." That feedback gets to the developer and the developer doesn't lash back and bitch (not if he's smart anyway). The developer gets out of his $39 chair and walks/drives over the customer and the developer explains the supply/demand curve. The developer says, "I can write you a product now that will cost you 3 times as much up front but you'll be able to use 6 times longer. Or we can keep going with this rapshod thing you nickle and dime me into writing because you won't spend a fair price up front to get a product that has quality and durability." Customers aren't stupid. Even if this doesn't work the first time it will work in the long run. What are industry seriously lacks is patient developers serving (in the 1st person) a fickle customer. More direct interaction between the developer and the customer is going to be what fixes the FUBAR. Get PM's out of the way. In fact fire them or demote them back to developers or remote them to writing documentation. Either way PM's kill our industry. So that's my take. There's a load of smart customers that want quality and durability. Someone just needs to take the time to explain how all that works to them. Once that's done all our lives get a bit easier. Of course we have to get Microsoft to stop releasing products and updates every 6 months but ... pigs will fly first so ... go spit in the wind on that one. :-D
Amen to the point on project managers. And I think you touched on one of the industries largest problems that's always been there, how to speak customer. I'm affraid it's always going to be difficult for developers to communicate with customers. People that ask for software will never understand what goes into it, and developers, always thinking in detail, may never be able to bridge that gap adequately. So I think you will always need PMs, just not the PMs we have. Management (generally knowing squat about development as well) seems to think that any old manager will work fine as a PM. But what a PM needs to be is a rare hybrid of manager / developer that can understand and relay for both sides. There are some damn good PMs out there, but they are far and few between. The same goes for management in general, but you may as well consider them customers anyway, they'll never change.
Try code model generation tools at BoneSoft.com.
-
ha. thanks .. it actually comes from kant's writings (not that i'm a philosopher or anything) it was one of those coffee shop book browse days, picked up a random book, flipped it open and there it was: Sapere aude (and not that i speak latin either) which is more literally "dare to know" or so i'm told and so it was kinda declared the motto of enlightenment back in the day (18th Century) i liked it- it seems as apt today as it was probably back then.. and it stuck i'll update the sig... it was Kant's inspiration afterall :) speaking of which... does this ever remain true to this day, and applicable... Laziness and cowardice are the reasons why so great a portion of mankind, after nature has long since discharged them from external direction (naturaliter maiorennes), nevertheless remains under lifelong tutelage, and why it is so easy for others to set themselves up as their guardians. It is so easy not to be of age. If I have a book which understands for me, a pastor who has a conscience for me, a physician who decides my diet, and so forth, I need not trouble myself. I need not think, if I can only pay - others will easily undertake the irksome work for me. insert: If i have a framework_version which solves my problem, i need not think...
<>< :: have the courage to use your own reason -Kant
homegrown wrote:
Laziness and cowardice
Boy does that ring a bell these days. I've long seen that very thing as a problem in America for a looooooooong time now. It bothers me to see so many people that never bother to use the magical goop God put between their ears. They begrudgingly do the bare minimum through school and never attempt thinking again. People here hear stories of Chinese families comming over and workin in a doughnut shop, sleeping on a cot in the back until they save up enough to buy their own doughnut shop, and they can't believe somebody would do that. I guess it's just gotten too easy in America to get through life without having to think for yourself. Not to get off topic, but the other problem I see these days is that everybody seems to be more and more selfish and inconsiderate. Nobody seems to care about anybody any more. Which might be the result of a possitive feedback between the two, now that I think of it. That's why I love talking to true developers. They remind me that there are still people out there that care about what they do and never gave up on using gray matter. They give me hope. I really hope that this boom in technology growth in recent decades will help Darwin do his job, since we've put so much in place to avoid him.
Try code model generation tools at BoneSoft.com.
-
You know the type, Microsoft release a new product, let's say .NET 1.0 and people will say: "ho it's unproven technology, I will wait for the next version to consider it" Later on Microsoft release .NET 2.0 which is (admitedly :-D) an improvement. And then the same people say: ho, ok, it's proven now, let's start to use.... 1.0!?!?!? But, admitedly, 1.0 was not good enough (clearly compared to 2.0) so why a new version give people confidence to use the previous (and inferior) version? When it's really the latest they should use... I ask that because I met a few people lately (having job interview) which basically wait for version 'x+2' of the framework to be confident to use version 'x+1'. While, basically, 'x+2' is a fix over 'x' and 'x+1' so it doesn't make much sense to use it as a clue to use 'x+1'. Do you see what I mean? How do you explain this behavior?!? (OK, maybe I made it up a bit, after all they have other reason such as: our customer base don't support this version of the framework, hence the question is more targeted to sys admin than to developers....)
Super Lloyd wrote:
people will say: "ho it's unproven technology, I will wait for the next version to consider it"
I was told the same about purchasing a new car. Always wait 3-6 months until bugs are fixed in a new model. I've watched problems repeatedly in new models - recalls, free fixes, etc. The later model has the problems fixed, and typically new options, but not nearly like software. New versions almost always contain new features that are basically unproven. Maybe we should never use the x.0 version, always wait. But then, the marketing people get involved and mandate to never release an x.0 version. Round and round it goes. :(
Gary
-
Is there an industry where the customer doesn't let their fingers do the talking? In the last 3 months I've shopped around for drafting services and mechanics, because I need them to do some work for me and I don't want to get ripped off. Why should I expect my customers to behave any different just because I'm a software developer rather than a draftsman or mechanic?
I think it's hard to make a comparison with a lot of consumer products. I can go to Home Depot, not knowing anything about stoves and have a pretty good idea just by looking which one is a quality machine and then can put the price tags in perspective. With software, especially custom software that hasn't been built yet, and sometimes even once it is built, customers have no idea what quality is. But yeah, with services, that is pretty true as well.
Try code model generation tools at BoneSoft.com.
-
Same reason US invaded Iraq.. The world is filled with idiots. matadorqk
In posting the first part of your reply, you may have proven the second. :doh:
Try code model generation tools at BoneSoft.com.
-
Super Lloyd wrote:
so why a new version give people confidence to use the previous (and inferior) version?
Remember Winamp? In one version change they went from a light, stable, fast, useful app to a bloated beast of ungodly proportions. 2.0 does not automatically mean better than 1.0. It means different. Different introduces risk. New features, unproven features, new bugs, unfixed bugs. 1.0 gets "proven" by rolling out 1.2, 1.3, 1.4, 1.5.1.2. Fixes, patches, proven performance improvements. People have hammered 1.0 and so 1.1 fixes what was revealed in 1.0. 1.2 then fixes what was revealed in hammering 1.1. And so on. When 2.0 is rolled out it is, hopefully, everything learned from version 1, bug fixes from the version 1 life-time (1.1, 1.2, 1.3 etc.) plus new features and ideas that I need. But I would still wait for 2.1, or 2.0.1. I'd be worried if in an interview the interviewer told me "Why are you using 1.0 when 2.0 is obviously better?" It isn't obviously better. It may be obviously cooler but it may also be buggy as hell. No offense Super Loyd but you seem bitten by the "Must have latest version" marketing game. I thought much the same for years but now have learned to go careful with new versions.
Super Lloyd wrote:
While, basically, 'x+2' is a fix over 'x' and 'x+1' so it doesn't make much sense to use it as a clue to use 'x+1'.
No. 1.1 is a fix over 1.0. 2.0 is not a fix over 1.0. It is a new major version. It could be radically different and profoundly broken. (Obviously if someone misuses version numbers and rolls out a lot of new features in a point release then you are screwed.)
regards, Paul Watson Ireland & South Africa
Andy Brummer wrote:
Watson's law: As an online discussion of cars grows longer, the probability of a comparison involving the Bugatti Veyron approaches one.
But... With the framework in particular, bugs seem to be fairly minimal, and I've not seen newer revisions of the framework include breaking changes. With Microsoft pooping out completely new versions every 15 minutes, I'd be nervous just starting 1.x when 2.0 came out. 1.x is all but obsolete now. I think it would be more of a gamble (still talking only .Net framework specifically here) to wait for a new version before jumping on the previous. Just my opinion.
Try code model generation tools at BoneSoft.com.
-
You know the type, Microsoft release a new product, let's say .NET 1.0 and people will say: "ho it's unproven technology, I will wait for the next version to consider it" Later on Microsoft release .NET 2.0 which is (admitedly :-D) an improvement. And then the same people say: ho, ok, it's proven now, let's start to use.... 1.0!?!?!? But, admitedly, 1.0 was not good enough (clearly compared to 2.0) so why a new version give people confidence to use the previous (and inferior) version? When it's really the latest they should use... I ask that because I met a few people lately (having job interview) which basically wait for version 'x+2' of the framework to be confident to use version 'x+1'. While, basically, 'x+2' is a fix over 'x' and 'x+1' so it doesn't make much sense to use it as a clue to use 'x+1'. Do you see what I mean? How do you explain this behavior?!? (OK, maybe I made it up a bit, after all they have other reason such as: our customer base don't support this version of the framework, hence the question is more targeted to sys admin than to developers....)
Super Lloyd wrote:
But, admitedly, 1.0 was not good enough (clearly compared to 2.0) so why a new version give people confidence to use the previous (and inferior) version? When it's really the latest they should use...
OK, I don't agree with these "geniuses". Of course, you're missing something too: MS actually realeased 1.0 in early 2002 and then shortly thereafter they released version 1.1 (early 2003?). Version 2.0 didn't come around until late 2005 and as of late 2007, we're still really waiting for Version 3.0 (& 3.5), both of which are slated for release in early and mid 2008. The quick turnaround on the 1.1 release was to address the "early adopter syndrome" you've just asked about :) However, to explain, there is often an underlying self-preservation motive that is hard at work here. For many years, it's been common practice in big industry (particularly with unions) to simply ignore The Next Big Thing (TNBT). These are often the same people that won't touch Vista until SP1 (or SP2 or some arbitrary timeline). There are lots of reasons for this, both good and bad: 1. New Technology is expensive: I can't just "roll-out" *TNBT* to my 1,500 desktop PCs. The average company has dozens of custom-built or industry specific apps that may or may not be technically compatible with TNBT. What's more, the IT team usually has no way of testing the changes, b/c they don't even know what the app really does. i.e.: I can't "upgrade" my accounting team to Vista without first testing their accounting suite, but I also can't test their accounting suite, b/c I'm not an accountant. This basically creates a deadlock on using any new technology until it is desperately important to do so (and even then, lots of big businesses are still extending old COBOL apps, and many businesses have just completed the move to XP in the last 12 months). 2. Long-term tech: by extension to the point above, when a "Big Co" moves to a new technology, they need assurances on both quality and long-term durability. Historically, when version N comes out, it's filled with new features and with new bugs. So Big Cos have the tendency to use version N-1 which has less features but usually contains all of the bug fixes from version N. This makes the system "more stable". By the same measure, Big Cos need tech that's going to last for a decade or more b/c it's so expensive to change/update things. Once a product has reached a second or third version, the likeli
-
You know the type, Microsoft release a new product, let's say .NET 1.0 and people will say: "ho it's unproven technology, I will wait for the next version to consider it" Later on Microsoft release .NET 2.0 which is (admitedly :-D) an improvement. And then the same people say: ho, ok, it's proven now, let's start to use.... 1.0!?!?!? But, admitedly, 1.0 was not good enough (clearly compared to 2.0) so why a new version give people confidence to use the previous (and inferior) version? When it's really the latest they should use... I ask that because I met a few people lately (having job interview) which basically wait for version 'x+2' of the framework to be confident to use version 'x+1'. While, basically, 'x+2' is a fix over 'x' and 'x+1' so it doesn't make much sense to use it as a clue to use 'x+1'. Do you see what I mean? How do you explain this behavior?!? (OK, maybe I made it up a bit, after all they have other reason such as: our customer base don't support this version of the framework, hence the question is more targeted to sys admin than to developers....)
Nothing puzzling there. By the time v2 comes out, everything else works with v1, and there are a zillion web-pages that explain how to get around v1 problems. So if you go for v2, what you're doing is taking on a whole new batch of compatibility problems that no-one has yet had the time to solve.