Slashdot Log In
Virtues of Monoculture, Or Why Microsoft Wins
Posted by
kdawson
on Tue Apr 24, 2007 11:17 PM
from the nice-tools-in-the-cathedral dept.
from the nice-tools-in-the-cathedral dept.
blackbearnh writes to ask, "Why does Microsoft win the development environment war so often, when we all know it's a lifetime lock-in to Windows? Perhaps it's because the open source community offers too much choice." From the post: "Microsoft offers the certainty of no choices. Choice isn't always good, and the open source community sometimes offers far too many ways to skin the same cat, choices that are born more out of pride, ego, or stubbornness than a genuine need for two different paths. I won't point fingers, everyone knows examples... The reality is that there are good, practical reasons that drive people into the arms of the Redmond tool set, and we need to accept that as a fact and learn from it, rather than shake our fists and curse the darkness."
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.
FAQ item (Score:5, Insightful)
Does this author have a valid point? Probably
Is this point, and any relevant discussion, different from the last time this was brought up a few months ago?
Probably not.
Re:FAQ item (Score:5, Insightful)
Parent
Re:FAQ item (Score:5, Informative)
Parent
Things to learn from Windows and OSX. (Score:4, Interesting)
Oh, it's helpful, all right. For instance, the only reason we've not released a port to linux - a free version, of course, we'd like to give back to the community - is because there is no standard GUI layer. It's a hodgepodge of these widgets and those widgets, this license and that license (really meaning, these liabilities and those liabilities.) Windows provides all that. Free. Built in. Plus a large market. So we developed for them. When Windows became intolerable because of activation DRM, we moved to OSX. Nice GUI layer, free, built-in. development proceeds apace, while linux runs servers. Others may have other reasons, but those are ours. The day the linux core gets BUILT-IN windowing and graphics, and I do NOT mean just xwindows or xwindows plus yet another sometimes-there and restrictively licensed widget set, is the day we make a port that we will release to the community. The community can then, of course, use our stuff or not as they see fit - but as is, it's not a choice. That's been the unanimous decision of the linux community: no coherence.
I want to say one more thing. The existence of a standard GUI layer in NO way means that you can't still have everything you have now. You'd just have one more thing, something people could write to as a default, even just as a fall-back.
That's my 2 cents.
Parent
I don't get it --why not pick an arbitrary GUI? (Score:5, Insightful)
For example, as a die-hard KDE user, I'll ask: what happens if you just pick GNOME and go with that? If it's a useful program to me, I'll install your GNOME program on my KDE machine. For example, I run GnuCash and not KMyMoney, I run Gnumeric and not KSpread, I run Abiword and not KWord (or OpenOffice.org), and I run Firefox and only occasionally Konqueror. I plan to continue to use KDE for the foreseeable future, and I've never downloaded the default Ubuntu, only Kubuntu.
Unless I misunderstand you, you seem to be saying: "Microsoft has a single door to walk through. But Linux provides double-doors, so I don't know whether to walk through the left one or the right one. So I won't bother, and I'll just stick with the single door because the lack of choice is less confusing."
Parent
Re:Things to learn from Windows and OSX. (Score:5, Informative)
No, it does not. Well only sort-of.. The "standard GUI layer" of Windows is limited to the plain widgets we all know from Windows 95. The ones Notepad and WordPad still use. Ugly menu's and big bevel toolbar buttons. If you look closer you'll see Notepad, Windows Explorer, Visual Studio, Office all use different menu's and toolbar handles. They're all custom widgets, not standard.
Most advanced widgets for Windows are part of a commercial widget toolkit [wikipedia.org] you've chosen. This can be MFC, ComCtl, VLC (Borland), Windows Forms (.Net), WPF (.Net3), Qt, and I'm missing others (e.g. remember those big sized OK-buttons a big green check icon inside).
All those different frameworks do have something in common. Windows provides central settings for fonts and color schemes. This makes them all look the same. That's something Linux should really improve.
You have two good options for Linux:
Parent
Re:Things to learn from Windows and OSX. (Score:4, Insightful)
Parent
Re:Things to learn from Windows and OSX. (Score:5, Insightful)
Sarcasm aside, I am (and have always been) shocked at how various Linux distributions differ. I'm by no means a Linux expert, but come on, if you can't agree on where to put your init0.d-init6.d (or whatever it is, yes I'm looking at you Gentoo) then how do you expect an outsider to write something that works for "Linux"?
I mean we hear all this crap about Microsoft and how ME breaks 98, and 2000 breaks ME and Vista breaks XP, etc.
But do the math, how many operating systems are we talking about here? now compare that to Linux distributions available today.
I'm not trolling, I'm no shill and I definitely do not work for Microsoft.. but I just really believe that "too" much choice sucks.
I just (literally) bought a new house (closed escrow today) and I've been in the carpet choice dilemma for the past two weeks! (mind you it took me a while to settle on carpet instead of hard wood floors, pergo, etc.).
Come to think of it, I think this carpet analogy (that I'm about to write) is right on money here. OS is like carpet! It's the foundation that you build on. Think of how carpet pretty much dictates what kind of furniture (style/color etc.) you'll be placing on it, OS will do the same with your applications.
I would have a much easier time choosing between 2-3 carpet types and 10-20 colors than the amazing number of styles/options out there (visit the carpet section next time you're at home depot and you'll know what I'm talking about).
Things like carpet and operating systems (I can't believe I'm lumping them up in the same sentence) are not mundane. They are a *huge* deal because of the consequences of the choice (much like posting this without hitting the "Post Anonymously" checkbox). They're something that you will invest a good amount in, and that will be with you for a long time.
Choice is a VERY good thing, too much choice may even be perfect for those who know "exactly" what they want.
I live and breathe computers, and I think it's silly that I'm spending all this time researching "the" perfect carpet for me and my family. I also believe that the home decoration specialist that knows what kind/make/model/color/class of carpet they want for the hallway of their second house (and have it written somewhere) would be as frustrated as I am with carpet if they had to choose from the plethora of Linux distributions out there today.
The choice is even worse for software companies that put money or even the whole company on the line when they make a platform choice.
I'm done ranting, gotta hit the sack and hope that I come to a decision about the carpet before we get the keys!
Side [OT] (as if this whole thing wasn't anyway) note:
If you happen to know something about carpet, or where I can get more/good information please post it. No pets, one year old and an average budget. Thanks in advance
Parent
Re:Things to learn from Windows and OSX. (Score:4, Insightful)
But as you say, too much choice is crippling. To quote author Madeline L'Engle: "Freedom is a terrible gift, and the theory behind all dictatorships is that 'the people' do not want freedom. They want bread and circuses. They want workman's compensation and fringe benefits and TV. Give up your free will, give up your freedom to make choices, listen to the expert, and you will have three cars in your garage, steak on the table, and you will no longer have to suffer the agony of choice."
Parent
Re:Things to learn from Windows and OSX. (Score:4, Interesting)
The truth of the matter is, you can easily write a "Linux" application that runs on pretty much all major Linux distributions.
I disagree. The real problems we have with many choices are all because we have a monoculture. Because there is one dominant OS and that OS is intentionally incompatible with other things, fragmentation is an issue. If we had four OS's sharing 75% of the market and another 10 OS's sharing the rest we'd have significant investment in all the major ones and in technologies that allow for good cross-platform development and portable applications so it did not matter which OS you are running as much, since it would preclude your using a given application.
I picked out some carpet a month ago. Like any other decision, I had criteria. It needed to go with two different wall colors and needed to have a pattern to hide the stuff tracked in from outside and the garage. If there were only 10-20 colors, I would have had a carpet that was less suited to my needs than what I did get, since I doubt one of these 20 colors would have been a combination of colors complementary to my walls along with a dark and a neutral to help hide dirt and the like. If you don't like having choices, then just pick from a limited selection from one company or collection. I don't see why this is hard. Variety and competition breed innovation and improvement and allow for a better fit to a given task. It is only when we have a monoculture that the problems appear and one vendor can intentionally make sure you have no choices by making sure floors are either compatible with their carpet or are weird and non-standard ones that do not work with anything other than one specialty floor.
So it is better for a company to have only one or two choices, than many choices to find the best fit for their needs? I'm not sure I understand that argument at all.
I don't know a lot about carpet, but I recently did some research and consulted someone who knew a whole lot. I'm happy with the result. Consider what it will look like in two years given the type of traffic you have. Consider changing trends and what will quickly look dated. Spend the extra money for thick, high quality padding underneath the carpet as that makes a whole lot more difference for the price differential than the cost difference between the carpets themselves.
Parent
Re:Things to learn from Windows and OSX. (Score:5, Insightful)
I swear to FSM, I'm gonna go postal the next time I see this argument. Come over here and let me beat you with a clue.
The vast majority of computer users are not developers, code warriors, uber-geeks, or anything of the sort. All they want is to check their mail, browse the web, and run a word processor. They don't understand this distinction. They don't want to understand this distinction. So what happens is that they call it whatever they hear it being called.
It's akin to pointing to a parking lot and calling all of the vehicles in it "crankshafts", and then berating some hapless would-be driver for not understanding the distinction that that happens to be just one critical part in the overall makeup, and even though you casually call them all "crankshafts" the vehicles are likely to bear little semblance to one another in form or function.
Yeah, I know. Another car analogy. I'm trying to be feel apologetic...
Parent
Re:Things to learn from Windows and OSX. (Score:4, Interesting)
Seeing as both are available on windows/mac/linux, its really hard to understand why you are saying that there are too many choices. There are two, and they port to all linux distros as well as Win/Mac.
Parent
Re:Things to learn from Windows and OSX. (Score:5, Interesting)
Back to the original question, the reason that so many companies choose the Windows development? It just works. I can install MS Visual Studio, connect to MS SQL Server, pull in web services off of IIS. And it just works. I call developing in a Microsoft environment "pointy-clicky-draggy-droppy". You don't really have to think about too many config files or whether something works together. It may be dumbed down, but as a developer, I don't want to really have to think about configuration, I want to think about code.
My primary development environment right now is Eclipse and Java. I hate it. Why? Too many choices and no way to know which is the right choice. I have to deal with this configuration and that configuration and a few
Layne
Parent
Re:LMAO Non free finally wins. (Score:5, Insightful)
Here you have two prime examples of "too much choice" in action.
You're assuming that everyone uses an apt-get based package distribution method, and you just can't do that.
You're also assuming KDE is there, and that's an even more flawed assumption.
Parent
good strategy (Score:4, Insightful)
It's easier and more efficient to ask "paper or plastic" than to follow that up with "paper made from wood pulp or grasses?" "recycled wood pulp or all-new?" "paper from hardwood or from softwood?" "Made from trees from the Northern hemisphere or southern hemisphere?" "Bleached or natural?" "Logo printed on or blank?"
Sure, some people will want all these decisions, but they shouldn't be a requirement of the OS. Solve the Gnome/KDE nonsense and you'll see Linux propagate much more than it already is.
Parent
Re:FAQ item (Score:4, Insightful)
Does the open source community do anything to change it's fractured ways since the last time this was mentioned?
Probably not.
I agree with him... I think open-source software is awesome. But there is too much fractured choice in the OSS community, and sometimes businesses are better managed and operate smoother when OSS is not part of the equation.
Just my opinion... I know someone will flame me *toast* *poof*
Parent
Re:FAQ item (Score:5, Interesting)
The difference i think is management, which Microsoft has, however flawed, and open source as a general rule, does not. Even within single projects there is useless argument, and forks for ridiculous reasons. In most cases, the required action is for one party to be kicked in the ass, hard. There are RARE cases where the majority of the community sees something going wrong and forks, such is the case with X.org.
Then you have cases like gnome and kde, which each develop totally redundant, sometimes useless ways to do the same thing, sometimes neither one does it well either.
Over and over again i see MAJOR parts of the system literally missing, like a device manager, while other parts, like file managers or office applications (openoffice, gnome office, koffice) are developed 3 or 4 times over in parallel by groups who either refuse to use code from another group simply because it has a G- or a K- in front of its name, or neglect to even look around to see if someone has already coded a similar app that could be used and improved.
In all honesty, gnome and kde have driven me away from linux for everything but core server use, and my next laptop will be a Macbook simply because i'm tired of it all.
Parent
Re:FAQ item (Score:4, Insightful)
Besides, many F/OSS people write code not just because they want to produce something specific, but because they like to write the code. There are many babies in the world, but every woman wants her own, strangely enough.
What commercial coding adds is discipline. Your manager may order you to write this documentation, or to use that library - because he has a reason, good or bad. And he has power to make sure you do it. If the project requires coding an ugly routine in an ugly language a F/OSS coder would rather not do it, and he'd be right - he is not paid to suffer. But a commercial coder will do the job, even if it involves 8052 assembly language instead of Python on Planes :-) Every job has its unpleasant parts, and while a F/OSS coder can skip them a commercial coder can not; if the spec calls for an embedded testing code, for example, or Doxygen comments, you put it in.
Discipline and dictatorial approach affect the result a lot. Basically, every commercial product is designed either by one person, or by very small group of people. This person (or group) has complete control over every aspect of the product; s/he might be wrong but at least the product is consistent, and not designed by a committee as it sometimes happens.
In addition to that, commercial products pass the rigorous testing by the free market, and that testing starts when someone thinks about the very idea of a new product. The project may not go forward until there is a good plan how it will be sold, and to who, and for how much. If these numbers make no sense then the product won't be even made. In F/OSS world, for example, I am free to write - and to release into the world - yet another clone of Vi or Notepad (we have hundreds by now, probably.) These clones haven't been weeded out by the market, and so many of them are not viable - but they are out there, just polluting the set of choices because someone will pick some and will be disappointed. You can't reasonably expect a user to choose one out of so many apps? That is a problem.
And, as someone already mentioned, if you combine AbiWord, KWord and OO's Writer you still don't get MS Word, even though the combined labor that went into all three is probably comparable. Effort dispersed, spent on competing projects is ultimately wasted. But it is so hard to join efforts because compromises and agreements are needed. In a business that would not be a problem.
Parent
Re:FAQ item (Score:5, Insightful)
Where in the world have you worked? This is so far from my experience that I'm starting to wonder if I ever worked in software at all.
Parent
Re:FAQ item (Score:5, Informative)
Take a look at freedesktop.org.
* Sharing of sound system - both Gnome and KDE 4 will work with gstreamer
* Joining of messaging system. It was dcop (kde) and corba (Gnome). Now both will use DBus
* Common themes that make kde and gnome apps look the same.
Plus lots of 'small' points. Both follow the
Parent
Re:I hears yah (Score:4, Insightful)
"Having this many different tools is too confusing. Instead of socket wrenches, box end wrenches, open-end wrenches and hammers, we should just use crescent wrenches for everything"
Parent
Re:I hears yah (Score:5, Funny)
Just because you can have something doesnt mean you should.
Parent
de facto standards (Score:3, Interesting)
Nothing to see here. Market forces and ease of use win over features, stability, or quality.
Choice Wins (Score:5, Insightful)
Re:Choice Wins (Score:5, Insightful)
They're all similar. They are web apps which did similar things, so I wrote the applications in similar ways using similar technologies. The build similarly, they install similarly. I would choose new technologies as I went, if they were clearly better but I tried to fit them into my existing assumptions.
Choice is great if you are a rogue cowboy developer. Lot's of stuff all over the place, bits and pieces thrown together. I remember a project we had here, it'd been outsourced to some third party. It came back with just about every piece of free open source software you can imagine. The data entry screens were Java running on Apache, the reporting screens were Python, the admin screens were running Perl scripts. The data entry stuff used Oracle, the reporting used postgres. The whole thing was tied together with some other bits of glue and tape. Thank God the morons who wrote it were horrible architects and the thing couldn't scale, otherwise this piece of unmaintable crap might have ended up in production.
But when you're trying to write documentation to hand stuff off to the next person, it is so much easier if what you have left behind is all similar to other stuff. It's just so much more maintainable, and easier to train the new guy in.
That's what wins in the long term. It's not raw freedom and choice, it's making intelligent choices and then sticking with them.
Parent
Hmm (Score:5, Insightful)
Not that simple, sadly (Score:5, Insightful)
And that is assuming that OSS developpers are a bunch of nerds in their free time, doing software just for fun. Sad to say, his assumption is closer to reality.
Oh, there are thousands of 1-2 man projects on sourceforge done by enthusiasts in their free time. Chances are you haven't even heard of most of them. They also tend to be small projects.
If you look at what's in your favourite Linux distribution, though, it's a different story. Look at the kernel credits some day. You'll see a lot of people from IBM, Red Hat, etc. Hate to break it to you, but they're doing a paid job there. Others may not be employees at such, but got paid/sponsored by a corporation to develop that stuff. E.g., ReiserFS was pretty much paid for by SuSE.
Other programs there? Mozilla? It even got started because Netscape wanted a browser that can stop MS's onslaught onto their business. Then it got bought by AOL, and nowadays it's Google footing the bill. Open Office? Got started as a proprietary project, then bought by Sun. Nowadays it's Sun doing pretty much the whole work, with people paid to code on OOo. It's costing Sun a lot of money. Etc.
See, the F/OSS that gets taken anywhere _near_ seriously these days is the work of corporations. Pretty much it's just a framework for a bunch of corporations to pool their resources into fighting MS. None of them has the resources to challenge the behemoth single-handedly, and some have already lost against the behemoth when trying to "solo" it. E.g., ask IBM what happened to their OS/2.
Where this long rant is going is: of _course_ those corporations are aiming at becoming the next MS. In fact, some of them were the original (near)monopoly long before MS. IBM used to be _the_ name in computing business, long before MS even existed. (And incidentally was just as underhanded as MS. The term "FUD" was first used to describe IBM's tactics, long before MS even existed.) Sun was _the_ name in professional micro-computers. Etc.
And some of them suffered quite humiliating defeats at the hands of the "beast". IBM created the PC, and everything had to be "IBM PC" compatible. Then MS helped shift that to "Intel x86 compatible". When IBM tried to introduce the micro-channel architecture, it discovered that it no longer is in control of the very architecture it created. The market just ignored IBM and took the PC in the direction other companies wanted. Then even Intel lost control. It became "Windows compatible." It may not have been immediately recognizable as a defeat, but it became blatantly so when Intel had to go ask for MS's permission to implement their own 64 bit extensions... and got told to use AMD's instead. Ouch.
In a sense, MS helped "create" Linux. At the anti-trust trial, MS used Linux as an example in their "we're not a monopoly, other people can still make good OS's" sophistry. It just told everyone what other OS they could use instead, if only it was more up to modern standards. And they just proceeded to help with bringing it there.
At any rate, the short story is: most of the successful F/OSS is the work of corporations, and _of_ _course_ they want to be the next MS. Or at least to take some market share from MS. And _of_ _course_ they'd like to make a profit (indirectly) out of it. That's the whole _point_ of bothering with it.
E.g., Sun isn't developping OOo because it just likes making cool software. It's because at some point people were saying, basically, "Yeah, well, but your workstations don't run MS Word." If the software they pay big bucks for doesn't address that problem, they might as well fire that team and move on.
E
Parent
It's not the choice (Score:5, Insightful)
Perhaps the most telling event was when I got a copy of Sun's Java Desktop System. It was a complete SUSE-based distro with Sun's unified desktop on top of it. I forget what the exact problem was, but in order to change a *BASIC* system setting, the instructions required that I directly edit a system file.
Excuse me?
This little gaffe was repeated by Mandrake with its command-line audio setup. RedHat with its inability to automatically handle its own damn package format. So on and so forth. I forget how many times integrated tools should have existed, and... well... didn't. I won't even get into the "broken by design" GUI choices of GNOME.
Now Ubuntu has been slowly trying to push this back; to make Linux a bit more user-friendly. But it's just one distro among many. There needs to be a concerted effort from all companies that SELL Linux. They need to give as good of an experience as they can possibly give. Simply repackaging the same software with a new GUI theme isn't going to cut it. They need to actually spend some money on covering the gaps that the unpaid community isn't going to cover. (I mean, let's be reasonable. They're not getting paid to develop a boring dialog and test flipping the switch 300 different ways.)
The development tools themselves are fine. In fact, Java is pretty well covered by Eclipse and Netbeans. If Linux distros make more of an effort to integrate the (now OPEN SOURCE!) Java into the system, they can make developer's lives even easier. Mono is also an acceptable choice, but the key thing is to get it integrated. Make your commercial Operating Systems FEEL like commercial Operating Systems. Not hobby OSes that have a nice coat of paint on them. In other words, maybe you commercial guys could pull your weight a little? Maybe?
* Ok, you can start flaming me now. I'm sure I've said something that offends distro X fanboys. Bring it on so I can ignore it.
You're looking at the wrong market (Score:3, Insightful)
What you want requires a commercial distribution target for pre install on low end consumer grade equipment. Even ignoring the Microsoft tax, such a proposition is a bit shakey, financially.
Re: (Score:3, Insightful)
Seriously, I appreciate and agree with your comments. But more than that, the fact is that FOSS vendors do not promote a default modern development environment that budding application developers would appreciate. Its all geared toward system-level developers (which probably explains why our applications are managed in centralized repositories as if they were just another part of the OS).
Its all terribly backward when applied to the personal compu
Re: (Score:3, Funny)
Sigh...
It is idiotic posts like this that make us all dread these types of stories on Slashdot.
Hits the nail on the head... (Score:3, Insightful)
Re:Hits the nail on the head... (Score:5, Insightful)
Once all of that happens you'll find that, for almost any average user, there is 1 or at most 2 ways of doign things, and all the information online that is easy to find is all relevant to you. Support will be for the 1 or 2 most popular distributions, which will have very standardised configurations that everyone uses. Sure, the hundred different ways of doing things will still exist, and anyone geeky enough to mess with them will find that things are little different than they are now -- its just that most people who aren't interested will never even be aware of all of that. In the same way that most average Windows users are only dimly aware of Linux as a small niche player, eventually we'll reach a point where most average Linux users are only dimly aware of other distros as small niche players. Nothing changes for us geeks, and nothing changes for average users (except the OS they consider "standard").
Parent
As if choice is inexistant on MS platforms (Score:4, Interesting)
Some examples of choices developers have on windows platforms:
* IDEs - visual studio, eclipse, netbeans, dev-c++, codewarrior, just to name a few I've used
* The various
* Databases
* Webservers, IIS, apache, or something else?
* antivirus, Vista tried pretty hard to end all of these though.
If you're just moaning about how Microsoft has a large vertically integrated set of tools, well, there's Java. Nobody does this, because its stupid and they have the choice not to.
The reason why everyone uses Microsoft.... (Score:5, Insightful)
...is not because open source offers too many choices. After all, Microsoft's products are still a choice among many other solutions. The reason why much of us still use Microsoft software (to be more specific, Windows, Office, and programming environments related to those two products) is because of a few reasons:
Microsoft alternatives do have their merits. To use operating systems as an example, OS X is a great general purpose OS, and I love the customizability of open-source OSes such as Linux and BSD. However, most software is written for Windows (you're guaranteed to find a Windows software package for almost anything, whereas you'll have to search harder when using an alternate platform), and if you have a Windows problem, somebody will know how to fix it.
I admit, I'm not the biggest fan of Microsoft. However, most of us can't avoid their software, like it or not. After nearly a year of not having a Windows machine, I installed a Windows partition to do class assignments. I don't like Windows, but I need to do what is necessary to complete the assignment. For some people, replace assignment with job and add "to pay the bills."
I don't think MS's monopoly will last forever. But, for now, expect to be still using Windows and other Microsoft solutions. When you are in a lion's mouth, wiggle until you wiggle yourself out.
Consumers hate choice (Score:3, Insightful)
Consumers would get confused if they had to choose from 15 different versions of laundry detergent, so we only have Tide.
Re:Consumers hate choice (Score:4, Insightful)
As are all your examples, actually. The differences lie in taste, not capability.
You've basically demonstrated that you don't get the point in the article at all. I guess that is why this keeps getting posted, over and over again. It's the sledgehammer technique.
Parent
Lifetime Lock-in? (Score:3, Interesting)
It's not a lifetime lock-in when they discontinue your entire development environment and language. Yep, by discontinuing the VB6 language they saved us from that terrible lock-in. Now we are free to re-type those millions of lines of code (and years of effort) in another language on any platform we like. How thoughtful of them.
monoculture bad (Score:4, Insightful)
Variety, for example, is necessary for adaptation, creativity and resistance to disease.
Thanks, we know (Score:5, Insightful)
Guess what? We all know that. We've tried Eclipse and KDevelop and Glade all your other tools. You have pretty cool languages but you insist on keeping your barriers artificially high by forcing a primitive toolset on everyone so that only the anointed few can develop software for your platform.
Of course one of the core problems is someone like this, who from the article seems like the quintessential "Microsoft sux" type-A personality suddenly realizes that Microsoft (and Borland and others) have been writing far superior development tools for the past ten years that actually increase developer productivity and having great success at it. What an idea! Having to learn 14 different tools to get something done might be good for bragging and leetness, but they kill productivity. In the real world, that kills the deal.
Imagine what kind of killer product you would have if you paired Ruby with a good IDE and a good graphical debugger. Or Python. A good front-end to MySQL that's actually easy to use. Or an admin tool for Apache that makes sense. But "ease of use" is not "leet", so no dice. "We don't want VB in Linux". That's a great attitude, and it will continue to perpetuate the idea that Windows is the only "easy" platform to write software in, with Microsoft tools. There's no reality distortion field here - that's just the truth.
So much potential wasted because of a culture that idolizes unecessary complexity as if it were a badge of honor.
Re:Thanks, we know (Score:5, Insightful)
Visual Studio is far from perfect, but for a tool that I used day in and day out, I don't have many complaints overall. How many programs can you really say that about?
Parent
Maybe (Score:3, Interesting)
Maybe Microsoft actually copped on to the fact that businesses wanted tools to build the apps they needed while the Open Source community were patting themselves on the back about how cool and fantastically leet they were for having text editors and shell scripts.
Whats interesting is that the two current leading Java Open Source IDEs (Eclipse and Netbeans) are both tools which started out life intended as commercial offerings but were donated to the community by IBM and SUN.
Here's another reason... (Score:3, Insightful)
And before someone drags out the dead horse named "why don't you document some of these projects", the answer is I can't document something I can't figure out how to use. And as others have already pointed out, a lot of open source software is not intuitive.
Apache vs IIS (Score:5, Insightful)
This goes for virtually every non-default configuration of Apache and IIS but here are a couple examples.
Allowing only certain IP addresses to access a website:
Apache -
1. Research on the web how this is done using Google.
2. Find something called "mod_authz_host" and an example of its use here http://httpd.apache.org/docs/2.2/mod/mod_authz_ho
3. Get confused by all the different examples.
4. Attempt to insert "code" into httpd.conf to limit access to certain IP addresses.
5. Test to see if it worked.
6. Research, edit, test more as needed.
IIS -
1. Click a few buttons
2. Enter IP addresses allowed.
3. Test (it works first try as expected since editing was intuitive).
Use SSL:
Apache -
1. Research on the web how this is done using Google (lots of research).
2. Install something called OpenSSL
3. Copy a few files to a windows directory
4. Find an openssl.cnf file that doesn't exist with the OpenSSL install for some reason.
5. Create a SSL certificate using command line.
6. Due to legal/political constraints, download a different copy of Apache with SSL from a strange 3rd party website and replace current copy of Apache that you had installed.
7. Make several changes to httpd.conf file.
8. Install this new Apache as a service using command line if needed.
9. Make several more changes to httpd.conf file (uncommenting LoadModule line, including ssl.conf in an IfModule thing).
10. Copy the certificate files made earlier to an Apache directory.
11. Edit ssl.conf file on several lines to identify server name, document root directory, then also include the certificate path.
12. Restart Apache, pray it works.
IIS -
1. Go to website properties using GUI
2. Click Directory Security tab
3. Click Server Certificate
4. Follow Web Server Certificate Wizard to create certificate.
For extra credit, require SSL connection - In Directory Security tab, Secure Communication area, click Edit, and check the Require secure channel SSL checkbox. I gave up on that for Apache and figured out some way to just forward requests to https (a bit of a hack it seems).
Things just seem more intuitive when using IIS rather than editing conf files and hoping things work in Apache. There is a lot less frustration. It's a shame. Yes I did look for 3rd party Apache config GUIs and couldn't find anything that looked good.
Re:Apache vs IIS (Score:5, Insightful)
I have a motto about the differences in systems running on Linux (or FreeBSD etc) and Windows. On the xnix platforms, it takes days to set up and it runs for years without crashing. On Windows it takes minutes to set up and runs for hours without crashing.
Oh - and one other little point. It is very interesting to see the word 'monoculture'. One of the major challenges for farmers when they grown monocultures is preventing the spread of disease (like viruses) because lack of differentiation of species makes it so easy for disease agents to spread. Sound familiar?
Up to Vista, I found Windows best for home and business functions. Linux/FreeBSD was best for 24/7 servers. Now I thin ubuntu has taken the lead for the home as well. But the barrier for the business systems is much much higher, the alternatives will really have to pull their socks up if they are interested in entering the market in a large way.
AJ [www.nerds-central.com|nerds-central.blogspot.com
Parent
Won't be long now. (Score:3, Insightful)
Lots of people aren't too happy with Vista, and OS/X, Linux, and BSD are gaining ground.
The keys to the kingdom are backward compatibility, always an MS strong point. But the open-source community has this nailed -- the POSIX API's are over thirty years old, and won't change. It's only a matter of time before Microsoft changes just enough so that developers can't rely on them to be rock-solid anymore, and there will be a mass exodus.
It will start with specialized apps like video and audio editing software (already happened to some extent) and gradually will work its way through the entire business suite of tools.
Some years ago, I offered to write a Postgresql database app for a small business. They refused, saying they wanted to use SQL Server, even if it was more expensive, since "Microsoft isn't going anywhere anytime soon."
Today, I doubt there would be that same certainty. Ten years from now, I expect the tables will have completely turned, with Linux based apps seen as the "old reliables" that never go away.
Oh, god, what bullshit! (Score:3, Insightful)
The whole "choice is bad" meme is complete and utter nonsense. http://angry-economist.russnelson.com/barry-schwa
FOSS allows you to CHOOSE your monoculture .. (Score:4, Insightful)
I have yet to see people try to find a new toolset every time they build a platform. Usually, an IT shop decided on which tools it will use to do the job (including which hardware, code language and dev framework) and will stick with that choice, simply because that's where their expertise lies. Only when the toolset is not up to the job or there is a simpler/better way to address the task at hand will there be a re-examination and/or switch, and such changes are in both environments (Win/FOSS) also driven by the people doing the job doing the usual looking around for ideas and products - that's simply part of the work (did I just argue that Slashdot reading is essential? Yes!
After that it's learning how to maximise your use of the toolset and work around the problems with it, and that tends to result in some branching out from the default platform as well. Do MS shows only use 100% MS code? IF SM had their way, sure, but life's not like that. The only difference with an MS shop is that experimenting doesn't immediately cost license fees and instantly creates the risk of a FAST visit being successful, but that too is an issue hat can be managed.
So this 'choice' is a starting issue, not a live ops issue.
The challenge of a monoculture is not that it's mono, it's about who controls the direction. An MS monoculture doesn't really to be driven by user need, witness the heap of crap that is Vista, and the total mess they made of the different versions of
At that point you can start asking questions about true business benefits and TCO.
Strategic Incompetence (Score:4, Insightful)
Re:+5 (Obvious) (Score:4, Interesting)
People feel overwhelmed and decide not to choose anything.
That is basic psych.
http://www.google.com/search?hl=en&q=too+much+cho
Parent