Microsoft's APIs are insufficient and poorly thought out.
I believe that this is intentional on MS part. A well-defined layered architecture allows you to easily and reliably replace layers with new software without disturbing what runs on top and what runs below. This is the opposite of MS business strategy. Every "upgrade" to the OS brings along with it an upgrade to all other tools and productivity software to go along with it.
The business reason for this is to sell tons of upgrades. The real reason is that since there is no well designed layered architecture, their software can not be built in a modular fashion. When they upgrade the OS, they HAVE TO upgrade their other tools since changing OS internals breaks their stuff too.
The bad news for MS is that this has caught up with them. Not on the desktop, but on the server... On NT. In my experience, people run one app/NT server and if anything goes wrong it's an automatic reboot. Helluva way to run a data center.
The reason Microsoft has had such trouble getting folks to migrate past Office 95 is that there is not enough new features worth paying for or screwing up your machine for. Office applications are commodities now. The opportunity here is to standardize on a file format and release it to the public. Then let the tool builders build small little apps that provide all of the required functionality individually. Lots will be free or shareware. People can use whichever ones they want. Look at all of the little HTML and XML editors you can get for nothing. The same thing will happen here.
I'm not so sure. Back in the mid '90's I used to subscribe to a new letter published by Ed Yourdon called the "Guerrilla Programmer." He ran a number of articles covering software developemnt practices at MS devoted to the topic of "Good enough software." The point was that given all of the function points of the typical application, only so much testing was warranted. Shipping software with bugs was better than not getting to market quick as long as users could live (and work around) the bugs. Of course the up-side is that you get to sell the fixes back as upgrades. Wish I'd thought of it.
Sorry but I have to agree. It was May 18th. I was assigned the task of fixing this (yesterday) and when I first pulled up the page at MS that described the problem it said May 18th. I wondered how this could have been posted for so long without anyone knowing about it until yesterday. But when I returned to the site later, (not much later) it was corrected...unless they are trying to gaslight us.
Mr. Gates likes to say that the products that are coming out of his company are designed to help his customers.
However, his primary motivation must be to enhance shareholder value.
Corporations that operate in a competitive market enhance shareholder value by providing valuable products and services that customers WANT to buy. Coporations operating as monopolies enhance shareholder value by eliminating competition in a predatory manner. As a monopoly on the desktop market, Mr. Gates has no choice but to operate his company in the current manner. He owes it to his shareholders.
As far as Slashdot turning into an anti-MS forum all I can say is that, for the most part, anyone can post whatever they want here. The IT workforce is a highly connected community. This is one of the free places on the web where we organize and communicate. Just like our source code, you are free to listen in and hear exactly what we are thinking. We are not afraid to show you our code and we're not afraid to show you our thoughts. All of us are stronger than any ONE of us.
I paid for opera... $39. I'd be happy to pay for IE. Tell me, how much do you think MS has expended on it's development? Based upon that...how much do you think they should charge for it?
I have to laugh at some of the IE postings here on this topic. Seems the Billy's drones are ever vigilant. I've been quite pleased with Opera 5.x. I downloaded the free version and ended up purchasing it. For $39 it just seemed like a great deal. Also, as a programmer, I was impressed that a small group of people could produce such a superior browser - especially for that price. If Gates charged for IE... for the bucks he really spends on developing it... I bet it would cost $200. But then again, stick around... it another year or so, it probably will.
M$ owns the desktop PC market. Now I run RH on my PC at home because I'm a computer professional. But most people can not use Linux at home as their sole computer as it stands now.
What has to change is not us winning on the desktop PC but for the desktop PC to evolve into something else. The promise of the internet is that very expensive, complex desktop PC's will be replaced by very cheap internet appliances (say $50 to $150.) And that massive bloated, complex suites of software will be replaced by free light-weight web-based tools used to manipulate files (documents, presentations, spreadsheets, you know the drill) that use one of a few world-wide xml-based standard file formats. Every death-star has a weakness. Theirs is the fact that their business model depends upon expensive desktop PC's (that have to be replaced every 3 years) and
running complex applications which use proprietary file formats.
Prisoners Dilemma...Tit for Tat...
on
Shared Source?
·
· Score: 1
Commercial Software Model. Five key elements make up this model:
1. Community: A strong support community of developers.
slaves chained to their seat rowing to the drum beat... that's not a community
2. Standards: Promote collaboration and interoperability while supporting innovation and healthy competition.
propriatery file formats do not promote collaboration and interoperability. Imitation is not innovation. Healthy competition implies products win on merit. Aint none of that going on here.
3. Business model: Promote the growth of a profitable business.
That business is called Microsoft. That technology is called Windows.
4. Investment: Level of research and development investment drives resources for future innovation.
If R&D means sitting back and watching someone else innovate and then buying the company and slapping your logo feces on it
Licensing model: Provides product and source access without jeopardizing the intellectual property rights of those who create or use the software.
Before there was MS Word there was MacWrite. Before there was MS Excel there was Lotus 123. Before there was MS Powerpoint there was Cricket Draw. Before there was MS Access there was DBase. Before there was Visual Basic there was Turbo Pascal. You stand on the shoulders of those who went before you, cut their heads off, and shit down their neck.
The discussion over this one has been great IMO because it brings some points to light vis a vis enterprises that have even more impact on the home market. The most compelling of these is that a reasonable new home system decked out with MS software is going to cost about $2000. The nature of these upgrades is that the entire home system becomes obsolete every 3 years. Now I know Americans are well off, but how many $2000 purchases do you make where the lifespan of the purchased product is 3 years? I've owned a TRS-80 Model 1, A Mac, A Mac SE, a Gateway P60, a Dell XP, and a Micron Laptop. This year, when the MS upgrade spin started I looked at buying yet another computer... and that was it. I cut my Dell over to Red Hat Linux with Star Office and I ain't goin back...
If this were true, Active Directory would be 100% LDAP compliant and any other vendor's software that needed to read/write/modify an Active Directory would be able to do so as long as they were using standard LDAP. Is this likely to be the case?
I think most see Java as a server technology at this point. VB always sucked at this.
Visual RAD tools generally apply to fat-client user interface development. HTML and browser-based user interfaces have eaten into the "easy apps" you are referring to. The hard apps were never made easy by visual tools. Read "No Silver Bullets."
The whole issue of "multiple languages" is an attack on Java on the server side since Java has a big jump on them in providing an alternative to C and C++ for building server-side enterprise objects.
As far as.NET running fast on Wintel remember that the situation on servers is not the same as it is on the desktop. That's what MS is attempting to accomplish. Here, their strategy does not seem to be to build interoperable components that get selected by IT management for their superior performance but rather to construct systems so that if you use any one piece of (presumably high-quality) MS software, they hook you on the rest of their other less than high quality components. This flies in the face of traditional server (Unix) strategies which revolve around the notion of interoperating tools running on a standard public infrastructure. Unix people are tool builders. MS people are empire builders.
As far as.NET being gutsy - to me its that they are reacting to the changing nature of this business. The battle is moving to the server side where their old strategy used to control the desktop has a much less probability of success. Also, the industry has seen how MS works and is not likely to be cooperative this time. Look at the "Prisoner's Dilemma" WRT biological and Social evolution for a good overview as to what will probably happen here. Tit for Tat.
CNN's report includes a response from the "innovators" in Redbud that they were pissed that the security flaw was reported..."irresponsible" was the word. Clearly, using M$ software is irresponsible... it's the price they pay for making product "lock-in" job #1.
Could also be the Open Office file formats standard getting under way... XML-based standard file formats for OpenOffice being serverd up by every portal in the free world (as well as AOL) seems like a bigger threat than Java - IMHO...
Hey, This guy who is betting on Micro$oft, is also betting against science. Check out his wacky "evolution is stupid" web site link at the bottom of his post. "Life exists on the edge of chaos...." - Stuart Kauffman. Go get some...
Sounds to me like if you are scrapping all this "contractor code"... the person who ought to get fired is YOU since you clearly lack the required project management skills.
I've been programming since 1984. The first half of my career was spent as a loyal salaried employee. I worked for large, medium and small companies.
I became a contractor for 3 reasons...
1. During the late 80's and up to the mid 90's the common mantra was "People are our most important asset"... But those same companies had no problem business-process-reengineering those loyal people right out of a job. Companies demanded loyalty but offered little loyalty in return.
2. So your answer to #1 is...hey, it's just business. Fine. There has been a drastic shortage of competent programmer/analysts and a growing demand for them - especially as IS becomes strategic to business. So it's a matter of supply and demand. Your rules pal. Sounds to me like you are pissed that you went into management... and now the "workers" make twice as much as you do. Now if you have a big ego to feed - it can be tough getting by on writing code. No office, little respect, no corporate technical ladder. Me - I like to build things. I like to feel like I'm making a difference. Kissing my boss's butt and sitting in on endless and mostly meaningless meetings all day does not float my boat. Sure, I have to buy my OWN lunch most days. You take the good with the bad.
3. I love learning new things in my field. And I can and prefer to learn them all by myself (graduate school taught me how to do that.) One reason people (not just contractors) leave programming positions is because companies often stick you in a spot and leave you there because you are the only one who know how some system works. Management is not interested in moving you out because it opens up a risk for them. But in this business, staying in one spot for too long means that YOU run the risk of becoming technically obsolete. That's a risk they do not mind dealing with. Eventually, when that system is replaced, your position at the company is at risk. As a contractor, you are constantly moving into different assignments. Everyone expects you to contribute from day one. But this also provides you with a wonderful learning experience - both job related and in your expanding circle of technical associates. This rarely happens in most companies.
In comment to the person who started this thread, let me just say that contract programming is not easy. Companies that hire you (should) expect a lot. Unfortunately, due to the shortage of programmers and the large number of projects that have to be staffed, you are going to run into problem consultants. They are usually there because the project needs - say 5 people - and the project manager hired what she/he could get because of the tight schedule. Under these conditions, you do the best you can - but in the end, it's up to the project manager to seek advice and deal with it. Not yours. I suggest you take pride in your work, bill honestly, become a lifetime learner, marry someone with a good health plan, and put some of that booty away for your retirement.
As a software consultant I change jobs somewhat frequently so I go to lots of job interviews and must stay in touch with what skills the industry is looking for. Invariably, when I'm asked to provide information on my work experience, nobody wants to know what aspects of the Capability Maturity Model I've found to be most useful in ensuring project success, what design and documentation techniques lead to testable event-driven user interfaces, or asked to discuss performance engineering trade-offs between a databases' conceptual model, logical model, and physical model. Nope, their requirements only want to know what programming languages, operating systems, and application types I've worked on. And they want the latest versions of this stuff as well. If you stay on and contribute to the successful conclusion multi-year project from start to finish, you will be really helping your customer but potentially cutting your own throat. And what's really ironic is that the worst programmers and engineers in this profession change jobs the most frequently and are therefor constantly exposed to the latest technology. I easily spend 10-20 hours a week and thousands of dollars a year (my book bill alone is approx. $2000/yr) keeping up with new technology. And it doesn't help when software tool vendors hawk their wares by duping IS management into thinking that using their IDE or modeling tool or methodology causes good designs, good code, good documentation to pop out the other end. A fool with a tool is still a fool. It still takes smart people doing smart things to make projects succeed. And until IS management understands this its going to be business as usual. And you will know when the change has taken place when the posted job requirements call for engineering skills rather that tool skills. Lets face it, a decent programmer can learn VB or Perl pretty quickly. But building reliable, scalable, distributed object-based systems on time and under budget... that's tough.
I believe that this is intentional on MS part. A well-defined layered architecture allows you to easily and reliably replace layers with new software without disturbing what runs on top and what runs below. This is the opposite of MS business strategy. Every "upgrade" to the OS brings along with it an upgrade to all other tools and productivity software to go along with it.
The business reason for this is to sell tons of upgrades. The real reason is that since there is no well designed layered architecture, their software can not be built in a modular fashion. When they upgrade the OS, they HAVE TO upgrade their other tools since changing OS internals breaks their stuff too.
The bad news for MS is that this has caught up with them. Not on the desktop, but on the server... On NT. In my experience, people run one app/NT server and if anything goes wrong it's an automatic reboot. Helluva way to run a data center.
The reason Microsoft has had such trouble getting folks to migrate past Office 95 is that there is not enough new features worth paying for or screwing up your machine for. Office applications are commodities now. The opportunity here is to standardize on a file format and release it to the public. Then let the tool builders build small little apps that provide all of the required functionality individually. Lots will be free or shareware. People can use whichever ones they want. Look at all of the little HTML and XML editors you can get for nothing. The same thing will happen here.
I'm not so sure. Back in the mid '90's I used to subscribe to a new letter published by Ed Yourdon called the "Guerrilla Programmer." He ran a number of articles covering software developemnt practices at MS devoted to the topic of "Good enough software." The point was that given all of the function points of the typical application, only so much testing was warranted. Shipping software with bugs was better than not getting to market quick as long as users could live (and work around) the bugs. Of course the up-side is that you get to sell the fixes back as upgrades. Wish I'd thought of it.
Sorry but I have to agree. It was May 18th. I was assigned the task of fixing this (yesterday) and when I first pulled up the page at MS that described the problem it said May 18th. I wondered how this could have been posted for so long without anyone knowing about it until yesterday. But when I returned to the site later, (not much later) it was corrected...unless they are trying to gaslight us.
Mr. Gates likes to say that the products that are coming out of his company are designed to help his customers. However, his primary motivation must be to enhance shareholder value.
Corporations that operate in a competitive market enhance shareholder value by providing valuable products and services that customers WANT to buy. Coporations operating as monopolies enhance shareholder value by eliminating competition in a predatory manner. As a monopoly on the desktop market, Mr. Gates has no choice but to operate his company in the current manner. He owes it to his shareholders.
As far as Slashdot turning into an anti-MS forum all I can say is that, for the most part, anyone can post whatever they want here. The IT workforce is a highly connected community. This is one of the free places on the web where we organize and communicate. Just like our source code, you are free to listen in and hear exactly what we are thinking. We are not afraid to show you our code and we're not afraid to show you our thoughts. All of us are stronger than any ONE of us.
I paid for opera... $39. I'd be happy to pay for IE. Tell me, how much do you think MS has expended on it's development? Based upon that...how much do you think they should charge for it?
I have to laugh at some of the IE postings here on this topic. Seems the Billy's drones are ever vigilant. I've been quite pleased with Opera 5.x. I downloaded the free version and ended up purchasing it. For $39 it just seemed like a great deal. Also, as a programmer, I was impressed that a small group of people could produce such a superior browser - especially for that price. If Gates charged for IE... for the bucks he really spends on developing it... I bet it would cost $200. But then again, stick around... it another year or so, it probably will.
Filling out property sheets is not programming. Get a real job. Who woke this guy up anyway?
M$ owns the desktop PC market. Now I run RH on my PC at home because I'm a computer professional. But most people can not use Linux at home as their sole computer as it stands now.
What has to change is not us winning on the desktop PC but for the desktop PC to evolve into something else. The promise of the internet is that very expensive, complex desktop PC's will be replaced by very cheap internet appliances (say $50 to $150.) And that massive bloated, complex suites of software will be replaced by free light-weight web-based tools used to manipulate files (documents, presentations, spreadsheets, you know the drill) that use one of a few world-wide xml-based standard file formats. Every death-star has a weakness. Theirs is the fact that their business model depends upon expensive desktop PC's (that have to be replaced every 3 years) and
running complex applications which use proprietary file formats.
Commercial Software Model. Five key elements make up this model:
... that's not a community
1. Community: A strong support community of developers.
slaves chained to their seat rowing to the drum beat
2. Standards: Promote collaboration and interoperability while supporting innovation and healthy competition.
propriatery file formats do not promote collaboration and interoperability. Imitation is not innovation. Healthy competition implies products win on merit. Aint none of that going on here.
3. Business model: Promote the growth of a profitable business.
That business is called Microsoft. That technology is called Windows.
4. Investment: Level of research and development investment drives resources for future innovation.
If R&D means sitting back and watching someone else innovate and then buying the company and slapping your logo feces on it
Licensing model: Provides product and source access without jeopardizing the intellectual property rights of those who create or use the software.
Before there was MS Word there was MacWrite. Before there was MS Excel there was Lotus 123. Before there was MS Powerpoint there was Cricket Draw. Before there was MS Access there was DBase. Before there was Visual Basic there was Turbo Pascal. You stand on the shoulders of those who went before you, cut their heads off, and shit down their neck.
Prisoners Dilemma...Tit for Tat...
Anybody else aware of the 3 stooges ramifications of this article's title... or am I all alone here?
The discussion over this one has been great IMO because it brings some points to light vis a vis enterprises that have even more impact on the home market. The most compelling of these is that a reasonable new home system decked out with MS software is going to cost about $2000. The nature of these upgrades is that the entire home system becomes obsolete every 3 years. Now I know Americans are well off, but how many $2000 purchases do you make where the lifespan of the purchased product is 3 years? I've owned a TRS-80 Model 1, A Mac, A Mac SE, a Gateway P60, a Dell XP, and a Micron Laptop. This year, when the MS upgrade spin started I looked at buying yet another computer... and that was it. I cut my Dell over to Red Hat Linux with Star Office and I ain't goin back...
If this were true, Active Directory would be 100% LDAP compliant and any other vendor's software that needed to read/write/modify an Active Directory would be able to do so as long as they were using standard LDAP. Is this likely to be the case?
I think most see Java as a server technology at this point. VB always sucked at this.
.NET running fast on Wintel remember that the situation on servers is not the same as it is on the desktop. That's what MS is attempting to accomplish. Here, their strategy does not seem to be to build interoperable components that get selected by IT management for their superior performance but rather to construct systems so that if you use any one piece of (presumably high-quality) MS software, they hook you on the rest of their other less than high quality components. This flies in the face of traditional server (Unix) strategies which revolve around the notion of interoperating tools running on a standard public infrastructure. Unix people are tool builders. MS people are empire builders.
.NET being gutsy - to me its that they are reacting to the changing nature of this business. The battle is moving to the server side where their old strategy used to control the desktop has a much less probability of success. Also, the industry has seen how MS works and is not likely to be cooperative this time. Look at the "Prisoner's Dilemma" WRT biological and Social evolution for a good overview as to what will probably happen here. Tit for Tat.
Visual RAD tools generally apply to fat-client user interface development. HTML and browser-based user interfaces have eaten into the "easy apps" you are referring to. The hard apps were never made easy by visual tools. Read "No Silver Bullets."
The whole issue of "multiple languages" is an attack on Java on the server side since Java has a big jump on them in providing an alternative to C and C++ for building server-side enterprise objects.
As far as
As far as
Oh be nice....
...and they wanted to be my laytex salesman...
CNN's report includes a response from the "innovators" in Redbud that they were pissed that the security flaw was reported..."irresponsible" was the word. Clearly, using M$ software is irresponsible... it's the price they pay for making product "lock-in" job #1.
It's not just comercial entities that are harmed. How much research and development is taking place outside M$ in operating systems?
You've done it boys (and girls). You've won! All us old-timer programmers are damn proud of you. Long live cooperation!
Could also be the Open Office file formats standard getting under way... XML-based standard file formats for OpenOffice being serverd up by every portal in the free world (as well as AOL) seems like a bigger threat than Java - IMHO...
when you code.... I'm on ya...
Hey, This guy who is betting on Micro$oft, is also betting against science. Check out his wacky "evolution is stupid" web site link at the bottom of his post. "Life exists on the edge of chaos...." - Stuart Kauffman. Go get some...
>>You voted for Nader, and now we have Bush... thanks for nothing!
Oh yea... well is Micro$oft is so great, then how come they suck?
(Bill always liked you best...)
Sounds to me like if you are scrapping all this "contractor code"... the person who ought to get fired is YOU since you clearly lack the required project management skills.
I've been programming since 1984. The first half of my career was spent as a loyal salaried employee. I worked for large, medium and small companies.
I became a contractor for 3 reasons...
1. During the late 80's and up to the mid 90's the common mantra was "People are our most important asset"... But those same companies had no problem business-process-reengineering those loyal people right out of a job. Companies demanded loyalty but offered little loyalty in return.
2. So your answer to #1 is...hey, it's just business. Fine. There has been a drastic shortage of competent programmer/analysts and a growing demand for them - especially as IS becomes strategic to business. So it's a matter of supply and demand. Your rules pal. Sounds to me like you are pissed that you went into management... and now the "workers" make twice as much as you do. Now if you have a big ego to feed - it can be tough getting by on writing code. No office, little respect, no corporate technical ladder. Me - I like to build things. I like to feel like I'm making a difference. Kissing my boss's butt and sitting in on endless and mostly meaningless meetings all day does not float my boat. Sure, I have to buy my OWN lunch most days. You take the good with the bad.
3. I love learning new things in my field. And I can and prefer to learn them all by myself (graduate school taught me how to do that.) One reason people (not just contractors) leave programming positions is because companies often stick you in a spot and leave you there because you are the only one who know how some system works. Management is not interested in moving you out because it opens up a risk for them. But in this business, staying in one spot for too long means that YOU run the risk of becoming technically obsolete. That's a risk they do not mind dealing with. Eventually, when that system is replaced, your position at the company is at risk. As a contractor, you are constantly moving into different assignments. Everyone expects you to contribute from day one. But this also provides you with a wonderful learning experience - both job related and in your expanding circle of technical associates. This rarely happens in most companies.
In comment to the person who started this thread, let me just say that contract programming is not easy. Companies that hire you (should) expect a lot. Unfortunately, due to the shortage of programmers and the large number of projects that have to be staffed, you are going to run into problem consultants. They are usually there because the project needs - say 5 people - and the project manager hired what she/he could get because of the tight schedule. Under these conditions, you do the best you can - but in the end, it's up to the project manager to seek advice and deal with it. Not yours. I suggest you take pride in your work, bill honestly, become a lifetime learner, marry someone with a good health plan, and put some of that booty away for your retirement.
As a software consultant I change jobs somewhat frequently so I go to lots of job interviews and must stay in touch with what skills the industry is looking for. Invariably, when I'm asked to provide information on my work experience, nobody wants to know what aspects of the Capability Maturity Model I've found to be most useful in ensuring project success, what design and documentation techniques lead to testable event-driven user interfaces, or asked to discuss performance engineering trade-offs between a databases' conceptual model, logical model, and physical model. Nope, their requirements only want to know what programming languages, operating systems, and application types I've worked on. And they want the latest versions of this stuff as well. If you stay on and contribute to the successful conclusion multi-year project from start to finish, you will be really helping your customer but potentially cutting your own throat. And what's really ironic is that the worst programmers and engineers in this profession change jobs the most frequently and are therefor constantly exposed to the latest technology. I easily spend 10-20 hours a week and thousands of dollars a year (my book bill alone is approx. $2000/yr) keeping up with new technology. And it doesn't help when software tool vendors hawk their wares by duping IS management into thinking that using their IDE or modeling tool or methodology causes good designs, good code, good documentation to pop out the other end. A fool with a tool is still a fool. It still takes smart people doing smart things to make projects succeed. And until IS management understands this its going to be business as usual. And you will know when the change has taken place when the posted job requirements call for engineering skills rather that tool skills. Lets face it, a decent programmer can learn VB or Perl pretty quickly. But building reliable, scalable, distributed object-based systems on time and under budget ... that's tough.