Virtues of Monoculture, Or Why Microsoft Wins
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 really needs to be put in a FAQ somewhere.
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.
A monoculture is not 'diluted' by various compteting camps. The very nature of Open Source allows for such diversity that it will obviously be split ito smaller groups of enthusiasts. It's the nature of the beast.
What the monopoly says, goes. They define a standard. Because they're MS, they define a standard that's different and incompatible with official standards. You either go with the market, or you swim upstream. This is about as clever as saying, "the reason red is red is because it's not yellow."
Nothing to see here. Market forces and ease of use win over features, stability, or quality.
"People who do stupid things with hazardous materials often die." -- Jim Davidson on alt.folklore.urban
As in - Why not limit the number of websites? Too much choice!
http://stephan.sugarmotor.org
Interestingly enough, I had this arguement today with a co-worker. Choice and flexibility afforded by open source and more importantly open standards will pay dividends for companies that think long term. The shrink wrapped mono-culture beat can be the less expensive option in the short term (no retraining, prepackaged apps with ready training and documentation, cheap labor). But, open with lots of choices wins in the long run every time because it gives ownership of IT to the companies that use it instead of the companies the produce it. Freedom and choice may be the difficult choice in a short-term return corportate culture, but the companies that embrace open standards will be the long term winners.
This article assumes that open source developers are aiming at becoming Microsoft like. Maybe they're just in it to make good software: not a profit, not make money for shareholders, or anything that that Microsoft is obviously aiming for. And the article is also using a very narrow definition of "win", one which I'm not sure is possible for OSS to attain.
"Thanks for all the money you paid to us. We've used it to buy off ISO among other things" -Microsoft
The problem isn't the choice, it's the follow-through. Open Source software maintains its momentum as long as there is an itch to scratch. As soon as that itch is satisfied, the work stops. Even if the code is unsuitable for your average joe. Technically, this is where the commercial distributions are supposed to pick up the slack and do the rest of the work. You know, offer an integrated Linux environment. Something to make all that money we're throwing at them worth something. But they don't. And I have no idea why.
:-/
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.
Javascript + Nintendo DSi = DSiCade
backslash: http://ask.slashdot.org/article.pl?sid=06/11/22/15 51236 m l
and the original Joel blog post: http://www.joelonsoftware.com/items/2006/11/21.ht
In advance, to any GNOME fanboys (because I feel like I'm on the front lines of that holy war): this doesn't mean people shouldn't be able to do things. If it's easy to learn how to do things, then it's *great* to be able to do things. By 'things', I mean reassigning hotkeys, and changing the contents of the toolbar. The interface for these actions is uniform across all of the core KDE apps and many of the peripheral ones, so after learning just one simple gui, the user gains great control over all the programs in his KDE desktop.
There's plenty of choice on Windows. The only difference is that these choices involve paying money for things whose worth you can't evaluate until you've used them for longer than a month. Branding helps tremendously in such a situation, as does bundling, both of which MS has in spades.
.NET languages
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.
I Browse at +4 Flamebait
Open Source Sysadmin
I choose the danger!
"What the monopoly says, goes. They define a standard. Because they're MS, they define a standard that's different and incompatible with official standards."
.NET standard, or the Mono standard?
Would that be the
"Nothing to see here. Market forces and ease of use win over features, stability, or quality."
Well considering the story is about development environments (I'm not certain how desktop environments got dragged into this). Are you saying that Visual Studio is incapable of producing quality code that's stable? Or is two and three a function of the programmer wielding the tool, and not the tool itself?
...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.
Saw the headline, immediately groaned "Oh God, not this sh*t again!" And I'm only an AC!
Once again for the whole thread to follow: if having too many choices bothers you, then just pick one tool for each job at random, cling to it for life, and refuse to acknowledge that the others exist. After all, that's how a lot of you became Windows users back in 1995...
The "problem" that open source based systems have isn't all that complex - it's their tiny "market share" that holds development back. Various flavors of distribution just fragement the tiny market - even if every distribution sang the same tune it wouldn't change the big picture.
The way to "fix" this is to help others to migrate to Linux systems. With the open source advocates pulling - and Microsoft pushing (with their anti-consumer acts) it's a sure win for Linux. It's going to take some time to get there, though...
This is why there is only 1 car manufacturer. 1 brand of soda, shoes, toothe paste and so on.
Consumers would get confused if they had to choose from 15 different versions of laundry detergent, so we only have Tide.
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.
I was thinking about all of this just yesterday - At work I develop code almost entirely in Visual Studio (98, 2k3 and 2k5) with a little netbeans on the side when I have to deal with Java. I installed Ubuntu 7.04 on the weekend (haven't used Linux in a while, thought I'd have another play). Now I have KDevelop, Eclipse, GCC+Vi, GDB, DDD, KDB, and about 15 other tools that all provide portions of what MS VS wraps up in one neat package, and none of them do it with half the quality. Eclipse is not bad, but 1. It's written in Java, and fairly slow, 2. Debugger integration was average at best and 3. The GUI is overly verbose, borders are too big etc. There are other issues but I guess most of them dissapear with prolonged usage (I'm still not 100% happy with Visual Studio, and I've used that for years).
My point is, Microsoft has made it MUCH easier for developers than Linux, at least for in-house software development. I must admit that there are some benefits to Open Source development tools for distributed development, but not all that many - Svn/Cvs are equally as usable under Windows (if not easier, with tortoisesvn/cvs), Cygwin covers a lot of gaps for GNU-Win32 development, etc.
I don't know if it's the amount of choice or what, and I must admit I haven't used KDevelop in a long time, it may be really awesome by now, but I really don't look forward to the day when M$ explodes and I am forced onto Linux/Mac OS X (I hear the Mac OS X IDE of choice is pretty nasty).
Will program for karma.
Keep in mind that monoculture has disadvantages too.
Variety, for example, is necessary for adaptation, creativity and resistance to disease.
Too much choice.
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.
Just maybe its that until quite recently the Microsoft development environment was vastly superior to anything being offered by the Open Source community. There were quality development and debugging environments from MS and Borland. More dev editors than you could shake a stick at. There was easy integration with multiple databases and it was easy to develop slick front ends to this data. There was tooling availabe for easy project management and application testing.
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.
Do not try to read the dupe, thats impossible. Instead, only try to realize the truth
What truth?
There is no dupe
The solution to his problem is not to get rid of one of them, but to put something in the documentation for AXIS saying "If you're working on a web service project, you may be better off using XFire." The fact that an open source project is able to recommend another solution like this is a strength. In contrast, a company (in this case Microsoft) with a vested interest in promoting its own monoculture is unlikely to tell potential customers to go elsewhere.
Conversely, if you have a choice of near-identical tools, any of which would be acceptable, why not just pick the one which is most popular at the time? This leaves you at the mercy of programming fads, but if you want a monoculture, you should expect that anyway.
If you all Google Slashdot, will it Slashdot Google?
So what if I have a choice between openoffice.org, abiword or LaTeX to produce my documents? As long as I save it as a PDF, anyone can read it. If I use Microsoft Word, I either install a 3rd party program to save it as a PDF, or require that the people I send the document to have the same version of Word as me, running on the same platform. Disclaimer: I didnt' read the article.
The way to "fix" this is to help others to migrate to Linux systems. With the open source advocates pulling - and Microsoft pushing (with their anti-consumer acts) it's a sure win for Linux. It's going to take some time to get there, though...
It's those MS tactics that treat consumers like criminals like Activation and WGA/WPA that have finally driven me away from MS. Though I'm using Windows now my desktop replacement PC came with Linux preinstalled, I haven't compleatly switched yet due to not having the new PC ready yet, and for a laptop I plan on getting a Macbook Pro.
FalconShould there be a Law?
The people paying money for commercial Linux distributions aren't Uncle Ed and Aunt Martha. They're corporate or government IT departments, and they don't need every setting available to the GUI.
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.
A major problem, in my opinion, that a lot of open source products have is the lack of decent documentation. Everyone wants to code, no one wants to document. I'd be here all day if I tried to list all the open source products I've looked at and tried that I gave up on simply because there was no documentation, or only poor documentation, and I had to move to something commercial that was at least properly documented.
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.
I want a new quote. One that won't spill. One that don't cost too much. Or come in a pill.
I prefer Apache since it's free but....
s t.html .
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.
simple, fast homepage with your links: http://www.ngumbi.com/
It's not about too much choices, it's about easy choices.
The writing is on the wall for Microsoft. Sure, they've had the developers in the past, but I think it's only a matter of time before they jump ship.
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.
If moderation could change anything, it would be illegal.
Oh, god, what bullshit is this! Choice is not a problem! If choice was really a problem, then somebody would create a Linux distro with no choices. "Sit down, shut up, and run the software we choose". Except, nobody does that because nobody wants that.
r tz-master-chooser.html
The whole "choice is bad" meme is complete and utter nonsense. http://angry-economist.russnelson.com/barry-schwa
Don't piss off The Angry Economist
I'm not trying to be mean, I'm seriously asking this, because I would have to disagree. And in 26 years of voting in national (and local) elections, I've truly wanted to vote third party every time.
Besides possibly H. Ross Perot, what *viable* third party candidates have we had for President?
The very first election for President that I voted in, I voted for Jon Anderson. I was an idealist back then, and thought he could win. I voted for Badnarik in 2004, but only because I just couldn't bring myself to vote for either major party asshat...a limp dick like Kerry was as bad a choice as an idiot like Bush. But even when I pulled that lever (Anderson) or pressed that button (Badnarik), I knew they couldn't win. And I didn't vote for Perot because he quit in the middle of the campaign (but then came back later) and I don't vote for quiters.
And if you say Ralph Nader is, or has ever been, a viable candidate, I'll have to laugh hysterically.
I want a new quote. One that won't spill. One that don't cost too much. Or come in a pill.
I'll admit, the difference between Kdevelop (KDE's IDE) and Anjuta (arguably the GNOME alternative) are trivial but too often annoying in reality. But there frankly is a reason why I, among others use Kdevelop: It simply looks better than everything else in KDE. Now, of course, because it is linked in deeply with KDE as a whole, unless you upgrade every time a new KDE release comes out, the development libraries&junk may fall behind. I upgrade about every 6-8 months, but I see how, if somebody didn't, that could be a huge pain. But Anjuta, though it uses GNOME/GTK+ libraries (GTK+ is used for almost all programs, but the GNOME variants can cause trouble), it isn't so deeply linked in. So this deepens the debate, especially since the two environments go forward at often random paces. When I started using GNU/Linux, I got frustrated at this, and it caused me to use my Windows IDE, Microsoft Visual C++ more often. Because it has its own formats for organization, I started becoming more dependent on it as I added more headers and crap. That is why Kdevelop gives Microsoft market-share. I think, but am not sure that KDE is the most common desktop environment. Ubuntu may have altered the balance, though.
i'd say thats about spot on. when presented with more then 2 choices most people um and err for ages then just randomly pick an option based on what colour the like, or which has the biggest logo. and i would definately agree that many OSS projects are forked out of ego clashes.
If you mod me down, I will become more powerful than you can imagine....
yeah too much choice...it makes no sence http://www.runescapeblog.cn/
If they were open source you'd first have to put the soda together yourself and the documentation would be incomplete. Come to think of it I'm sure the cars do exist and we all know about he open source beer, right?
Next time you want to go out for drinks just tell your friends it will be a few weeks until their ready (or pay someone to do it for you...or just get tired of it and pick up a six-pack of propriety beer from the supermarket..). (:
Quack, quack.
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.
I've fallen off your lawn, and I can't get up.
Sort of like the way the command economy of the Soviet Union did such a great job of both competing with the "chaotic" capitalist west and, at the same time, creating a "workers utopia?" The Soviet Union failed at both the same way the Microsoft monoculture neither provides as stable and secure of a computing environment as open source nor does it meet the needs of specific groups of users. With Microsoft monoculture, one size fits all whether you like it or not. For most applications, Linux provides a plethora of choices from several well designed GUI applications to powerful command line utilities. These choices allow the user to determine which alternative suits his or her needs best.
Continuing with my analogy, the arguments in favor of Microsoft's monoculture remind me of the same ones offerred by Lenin. Stalin, Khrushchev, et al when they argued that their socialist, centrally-planned economy would triumph over the chaotic capitalist system. We all saw how that played out.
Looking at the latest excretions from Redmond, Microsoft seems to only be interested in extracting more money from their users by offering less functionality for more money but with a glitzy interface. Capitalism will slowly drive companies that see Microsoft's offerings for what they are to use open source alternatives and be more profitable than those that pay squeeze to Redmond. People will find a way to manage open source choices in a corporate environment (sort of like the way "corporate distros" like RHEL and SuSE already do). Speaking from experience, it's not at all hard to lock down a RHEL installation while managing the updates and the choices available to users.
Real choice drives real innovation. Lack of choice results in stagnation.
Cheers,
Dave
They that can give up essential liberty to obtain a little temporary safety deserve neither safety nor liberty.
Ben
You see, people do not want choice because they have no choice in that matter.
well he was.. anyone who makes it on the ballot is considered viable, and green or libertarian would be true leftist representation, especially compared to "D for right" and "R for ultra right".
.. .because if enough people pull that lever "even though they cant win" then guess what.. they will win.
i'd still stick with the third party no matter how much you thought "they cant win"
VLC FOR MAC IS DYING! IF YOU DEVELOP, PLEASE SAVE IT!!
Just call it what it is: Economics of scale. The more people use Windows, the more support (programs and service) there will be for Windows. OSS is small and scattered, so support will be also. It's like running your car on petrol or ethanol. Ethanol is better (just for arguments sake), but why doesn't everybody use it? Because the infrastructure isn't set up for it. Same with Windows. Everybode uses Windows, so someone who doesn't use it has to adapt. And not everyone want's to do that.
Why does Ubuntu ship with a set of default window decorations identical to Vista?
Get real, only Sun has managed virtual desktops yet.
I have no idea what that means.
Mac is intersting but the free desktops just blow it away.
ROFL
Yeah, the MasterMenu model is doing great. Is E out of alpha yet?
The above is a pathetic variant
"I don't like your opinions and I can't argue intelligently, so I'll just go ad hominem on your ass. It's the only thing I know"
compare the experience of installing Mepis to Vista, XP or OSX ... The collapse of Vista sales is going to force Dell and others to ship gnu/linux and that will be the end of M$
Amusing as always.
People are zombie like drones that are unable to make up there own minds?
Could be that the buying public is to stupid to know the benefits of choice or must have there hand held.
How about that the basics of freedom are lost on the populace even though is it one of the basics of our culture?
Could be that people like the infringing their personal freedoms.
Could it be that the the clash of competition really isn't is the sound of freedom?
Communism worked, right?
Mark Twain said: It is by the fortune of God that, in this country, we have three benefits -- freedom of speech, freedom of thought, and the wisdom never to use either.
If society fits you comfortably enough, you call it freedom. -- Robert Frost
If a nation values anything more than freedom, it will lose its freedom;
and the irony of it is that if it is comfort or money it values more, it
will lose that, too. -- W. Somerset Maugham
Freedom begins when you tell M$ to go take a leap.
Freedom is nothing else but the chance to do better. -- Camus
The right to be let alone is indeed the beginning of all freedom. -- Justice Douglas
So did I miss any trite one liners? It is all this subject is worth, anyone who doesn't believe in choice should have there head examined. Even a choice between two bad options is better than no choice at all.
It may be interesting to some that a lot of folks at MSFT do not use the very IDEs their company is so good at. A lot of people use Notepad, Notepad2, Ultra Edit, EMACS, vi, Source Insight. Hardly anyone uses Visual Studio for builds in particular on anything but prototypes. The cause of this is the build system that majority of teams use. It's sort of makefile based (but not quite), and it makes using Visual Studio impractical because things can only be built from the command line.
So folks who talk about the advantage that a good IDE gives you as far as productivity most likely have never worked on anything bigger than a few hundred files in a project.
That said, there's a system now that could change all of that. It's called MSBuild and it ships with Visual Studio. For anyone who does command line builds and whose codebase is mostly managed code, I highly recommend looking into it.
I want some of what you are smoking. On second thought, that would probably bring down the DEA.
Seriously, the end of MS, gnu/Linux taking over consumer PC sales?
That requires a complete integrated system of a level which still doesn't exist in the Linux world. With all due respect to KDE and Gnome, it's not just the GUI we are talking about here. Taking Windows or Mac OS X as an example, they've integrated virtually everything about operating system control into the GUI. The command line doesn't even have to exist to operate either of these systems, ever. Application development for these systems is very well thought out and very integrated. User experiences are highly consistent and easy to make consistent. The drivers do exist, and on Windows, it will even go out and find the latest ones for you (presuming the vendor told Microsoft about them. For the record I am running on Vista 64-bit with modern graphics hardware and can play games just fine.) Installation is a no-brainer, auto-configuration isn't even something that is mentioned any more - it's a given, it HAS to be.
It's fine to be a FOSS fanboy, but you have to give credit where credit is due, otherwise you discredit yourself. Whether Microsoft stole, embraced and extended or invented their current experience, the fact is it's been executed very well, and it's not just something slapped on the face - it goes all the way to the core. You may disagree with certain choices, but if you do, remember that there are a dozen FOSS guys who probably disagree with your choice too and the only reason you aren't railing against them is that they aren't popular enough yet.
To get back to the original topic, FOSS is actually good for MS because it's an open experimentation area. In addition to their own innovation (yes, believe it or not there are people there who are actually as competent) they can build on ideas which are fleshed out in the community. Everyone wins, even the people who are locked into the monoculture because, as you by now may have realized, monoculture as it applies to commercial software developers does NOT mean stagnation, it means integration, and that includes ideas which were not developed in=house.
If the damn MS monoculture makes everything so much easier, why is Developer Studio seemingly incapable of maintaining compatibility with its own damn project file format?
I know, I know, not the point of the article, but I've been bitten in the ass so many times by everyone having a different version of DevStudio that I'm bitter about it and I've moved on to the happy land of Emacs and Makefiles.
Why does MS feel the need to BREAK everything whenever they come out with a new product? Right, once one person on a project upgrades, it forces everyone else to do so, too. They have a _terrible_ rap sheet for breaking backwards compatibility. They do it purposely with DevStudio, Office, Windows itself,
+Insightful
But what doesn't - Active Directory and inherited ACLs; I have a test OpenSuse 10.x box here, running in PDC mode, and WinXP clients don't see grayed out inherited permissions - they are all enabled, always, and if you set some of them the change is ignored. And I don't have proper security groups (I read about remapping, though) but I have some weird unix groups in the list of ACLs - WTH? I can't unleash this mess onto the users. Samba team does not hide the fact that 3.x release is not a duplicate of a proper Win2k3 DC, but that hardly helps. I guess I'm stuck with Win2k3 for the moment.
I would be happy to give Linux a serious chance, if it were even nearly as easy to use as Windows. While I'm far from 1337, I'm savvy enough to know what Linux is and to do programming for fun. So, if a piece of software annoys me into not using it, it's too hard for the average user.
I tried out Ubuntu Linux, marketed as the CD distribution that finally makes Linux usable. I installed Firefox and Thunderbird and OpenOffice partly thanks to that CD, and that's great -- for Windows. When I tried out the actual OS, I got a slowly-booting desktop with no tutorial and no obvious way to get started using Python (which is included) or use the file system, or install anything. I was running the "Live CD," which might explain the slowness, but as a new Linux user, how was I supposed to figure out how to do basic things like find where stuff is in the file system or install programs? So I ask around and am told, go on IRC for advice. It's great that there's a community of users to help with problems, but things shouldn't get to that point for a new user. The advice I got online was to start invoking absolutely non-intuitive text commands like "apt-get sudo" just to start doing basic installation tasks for things like getting a firewall and support for a thumb drive (so I could actually transfer files to/from Linux). So I had a system I didn't know how to do anything useful with, and gave up before trying to plug the machine into a network cable to go online to download software to run my wireless card. And then when I later tried the latest distribution, it just wouldn't start up at all.
Upshot: If you build it, they will come. Linux will only be suitable for me and others' tolerance for frustration -- remember, it's competing against something that we already know how to use -- when it's got a little hand-holding and some easy ways to do standard tasks. Dumb it down beyond what you think we need.
That's if we're to use Linux at all. Isn't it possible these days to build something new and easy to use, not dependent on the essentially decades-old Linux?
Revive the Constitution.
Oddly, I feel less compelled to make choices with open source software, but I feel they are there when I need them. Usually there are one or two mature and active software projects. The KDE/GNOME divide is a perfect example of this. XFCE exists, sure, but it's not considered heavily as a default DE for a corporate environment. On KDE, if you want a collection-based music player, you have Amarok. On GNOME, you have Rhythmbox. Not much thinking involved. On Windows, I am forced to choose between Windows Media Player, Winamp (with collection enabled,) iTunes, and many others I'm sure I'm missing. I'm at a loss for other "application types" for which this is true at the moment. For any given application niche on Windows, there are a number of often-equal-seeming alternatives. In any case, I feel after a default Ubuntu install, I have 90% of what I need there for me already. Apple, if I'm not mistaken, provides a similar experience. You have a small set of choices, and they work well together, and "feel" integrated. At the same time, I retain flexibility; I use mpd as my music player despite Rhythmbox being available and sufficient, I use irssi+bitlbee despite Gaim being available and quite nice. In short, I make choices because I want to, not because I have to. There's a great suite of default applications provided as part of the GNOME project (and included by the ubuntu-desktop package,) and I only need look forward if I want to go a little beyond "being comfortable."
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.
Sure, everone knows that M$ licensing and development is far less complicated or expensive than gpl code. Why, you should see how much I have to pay my accountants and lawyers to keep track of the terms on gcc, kde, gnome and so on and so forth. The burden this passes on to my users is just unimaginable. I'm going to give all of that up right now and buy OSX, Vista, Visual Studio and half a dozen software packages that I need to get real work done on these real platforms. Apt-getting is just too complicated. I give up, Steve Jobs and Bill Gates, I am truly sorry that I have deprived your companies of well earned revenues over the last seven years that I've been without your spiffy, easy to use, license, develop and distribute software. What was I thinking as I simply did my work without worry or cost?
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.
apt-get install kdevelop. Pay attention to the recommended and suggested packages and go. It's that easy. There are others that may be easier, but KDE's package will be more familiar to you. Hope to see your work soon, Happy hacking!
Friends don't help friends install M$ junk.
I glanced at the headline, and it dodn't make sense at first. How can MS win when there's Viruses aplenty in a Monoculture? I clicked on the article and it was then I realised it wasn't Viruses, but Virtues.
/destroyed, the 'culture' of Open Source lives on in the remaining forks, and that sustains the philosophy.
I think Polyculture is a Virtue. In the IT world faced with a few hefty gorillas, it's "United we Fall, Divided we Stand" that works. Had Open Source been a monoculture, it would've been a sitting duck for predators like MS or Oracle to gobble up at their leisure.
The only common culture that unites the Open Source world is the culture of writing clean, readable, efficient, honest code that works as intended (advertised). These virtues are alien to a Monoculture that is Microsoft. Multiple desktops, multiple browsers (I wish Konqueror, Firefox and Galleon had comparable userbases), multiple programming languages, IDEs, compilers etc. are the precise reason why Open Source wins, and keeps winning. Even if some of these projects are bought over / subverted
Monoculture is a wet-dream for viruses, it has no virtues for the intellectually inclined.
If you keep throwing chairs, one day you'll break windows....
Choice has a cost, but it also has benefits, and the benefits tend to outweigh the costs up to a point. I don't think open source has even reached that point yet. There are about half a dozen significant open source IDEs around, and that is not too many for a market with millions of developers. There are about half a dozen significant Linux distros around, and, again, that's a good number, and it's self-limiting.
And it's not like Microsoft is offering a consistent, coherent, compatible product line either: Microsoft has half a dozen supported but obsolete versions of Windows, a fuzzy platform strategy, multiple incompatible APIs, etc.
Arguing that handing over computers to a single company is a good thing is about like arguing that the Soviet Union represented a better economic system than the US; it does not. Choices have costs, but those are costs we need to bear if we want to have long-term growth, innovation, and success. We need more alternatives to Microsoft, not fewer.
We have some real problems in the Open Source world of programming. Microsoft has been cleaning up their Mess Inside.
C# is a win for Microsoft. It's a decent language. We have some real problems in the language end of open source. C is still widely used, despite its age and some terrible design flaws. C++ has become something of a mess, and the C++ standards people are off in template fantasyland, instead of fixing the thing. Java has acquired too much baggage, although the underlying language isn't bad. (Amusingly, Java turned out to be the replacement for COBOL, something its designers never intended.) Perl doesn't scale up well, and Python is too slow. We don't have a good, safe, hard-code-generating language in the open source world. (And don't say that's impossible; it's been done several times.)
Microsoft is better at middleware than the open source world, especially the parts that have to play well together. All Microsoft apps have access to a standard interprocess communication system and a standard database. Neither is great, but they're always there, and they're standardized. The Linux world has about a half dozen interprocess communication schemes, none well-supported by the OS. There's CORBA; Gnome and OpenOffice both use CORBA. Incompatible versions. All of this was horribly ugly prior to ".NET", and the transition was even uglier ("Managed C++"). But the all-C# world is relatively clean.
Build tools in the open source world are still 1970s technology. I was using "make", "sccs", "db", and a version of EMACS in 1978. Now we have "gmake", Subversion, "gdb", and EMACS. That's rather minor progress. For some reason, Eclipse has never caught on much.
And, as the original author pointed out, Microsoft is way, way ahead on developer documentation. They have people writing articles on how to deal with the ugly parts of their own software. That's rare in the Open Source world. There's an endless supply of beginner books and recipe books, but quality technical notes on the tough parts are rare.
I don't like it either.
Which development environment offers the best integration with MS products? Surprise its visual studio.
If you have a windows shop your stuck with it. Borlands tools do not include things like the VBA for office.
http://saveie6.com/
...rather, a complete and utter lack of *recommended* choices is the killer. (apologies in advance for lumping Linux and Open Source together)
Every Linux app I install has a laundry list of "you must have ______ installed first" items on the list. Fine. So I go to install those, and each of those apps has its own laundry list. Fine, whatever. It's a pain in the neck, but I can deal. I should only have to install each of those new apps once (and perhaps upgrade once in a long while for security, stability, or new features), yes?
Not so fast, buddy. Most open source Linux apps have this nasty habit of having a good deal of their useful features turned off by default. Turned off, that is, meaning not compiled into the program. At install time, you can specify config options. There's usually a list of 40 or so that you can include if you like... some are harmless, others will nerf the program. But unless you've configured that particular app a half dozen times before, there are probably a few options the hapless admin neglects to specify properly, and he doesn't find out until quite a bit later, when he finds himself re-re-recompiling.
Hey, says the open source community, he should RTFM! And indeed he should. But when the documentation for "--use-feature-x" is "Enables use of Feature X", or worse, "TBD: Write a more helpful explanation," the only source of useful information is a mailing list archive where someone else has encountered your cryptic error message and gotten their problem solved in a manner that is relevant to your situation. That, or there are SO many options that signal gets lost in noise. Or those options are only relevant if he's running Python 2.4 on a version of Fedora Core (64-bit only) that is less than 6 months old and Apache 1.3 or 2.2 but not 2.0, with LDAP implementations other than OpenLDAP, or if it's Thursday.
Repeat this about 15 times as the necessary feature enablings, version upgrades, etc. percolate back to the app you actually WANT to install, and you begin to wonder about how good an idea this whole "open source" thing is.
And this is all AFTER you've made a decision. A frightening number of install docs include a phrase like "you can use one of 4 database/server/scripting implementations. They are all different. They are all good and bad at different things. We used to like option A, but now we're feeling differently about option B, ever since they made a dirty gesture at option C. Option D (the one you already have installed on your system and are familiar with) is far superior, but we don't fully support it, and there's a 1% chance it'll hose your system when used with our software. You should go sit in a corner and mull over the pros and cons for the next two hours." Would "Option B is a good choice unless you're serving a REALLY big filesystem, in which case you should use Option C. A and D are also available, in case you care" be so hard?
The open source world, in its efforts to give the consumer lots of choices, seems reluctant to give recommendations. If they TELL you that you'll save a crapload of time at the expense of a miniscule performance hit by including a few extra modules in your apache install, somehow they've done a disservice to the community as a whole by preferring one feature over another. Which client should I use to connect to my new server? "Well, there are 38 available. 15 of them will hang and leave dangling processes on the server, and another 10 don't even have the support for the most useful feature, but that's not our problem... enjoy the impartial list." The ones that DO give recommendations for packages and configurations then usually have conflicts or inconsistencies with the packages they recommend, leaving you, the admin (or, HORROR OF HORRORS, desktop-users Nana and Pop-Pop), to trial-and-error smooth the edges for the next hour/day/week.
One thing Windows really has going for it is that, for better or worse, applications seem to come with default configura
-- I prefer the term "karma escort."
Seriously, it's very cathartic to shake my fists in the air and curse the darkness, don't knock it. It's an old tale, having such a powerful implacable enemy stiffens the spirit of the protagonists. Makes for a much better tale, too. To go with the geeky reference, that's why Stargate worked so much better at the start of each enemy-era; once the antagonists get cut down to size it's not nearly as interesting as when the heroes face impossible odds.
I remember sigs. Oh, a simpler time!
Is the issue that there needs to be an Exchange killer or that there needs to be something Exchange compatible? A lot of organizations do great without Exchange; without it, it seems almost anything goes. Once Exchange is in the picture, you gotta have Windows. Or Mac and just Termserv into a central server... And there might be a Linux option (never looked).
Is a choice between 30 indistinguisable options better than a choice between 3 distinguishable options?
Slashdot users, I bow to you. It's hard to beat that much bias and ignorance as you've demonstrated in most of the posts over here. Which is why you'll never be convinced that Windows has benefits, and the world will keep using it.
Don't let this little disparity bother you, just put a spin on it and contribute 100% of it to evil MS schemes, which force you to use Windows, never mind the OSS options.
I'm a Microsoft flunky... I admit it. (First post here on /. by the way!)
Personally, as a developer, I have explored open source options and found them to be generally incomplete, with little to no documentation (compared to MSDN, most docs are a barren wasteland, but I'm talking about even the most basic of documentation).
For example, I am building a 3D game. I explored Ogre, and I found it difficult to use, with far too many independent side-projects that required me to update from 5 or 6 different websites every time the core engine was updated. Seriously... building a commercial app kinda sucks when you have to rely on hobbyists for timely updates. What happens if the core engine updates, and one of the key add-on makers is on vacation for a month? Or just decides they don't want to do it? What if their whole project gets abandoned? These kinds of questions have to be asked when you're making something you want to bring to market. "Just program it yourself" was something I heard often... but that's really not the point, is it? People want to make a product that other people use, but more often than not, the project gets abandoned, gets handed off to new project owners time and time again... and when it's all said and done, it's a pain in the butt to really get a nice, stable, complete, well-documented project out of the open source community.
Personally, I've found that PAYING for my software brings with it a lot of perks: For one thing, you can hold over them the "I'm your customer" card... money talks! Secondly, market forces seriously drive quality standards... not really for Microsoft, but for other small developers that are competing.
To be blunt, and to really abuse a common saying... "You get what you pay for." If you don't pay jack squat... guess what you usually get.
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
A polar bear is a cartesian bear after a coordinate transform.
There is a very big difference between hardcore developers / computer geeks (us) and the rest of the world. Linux for many is just not as dummy proof as Windows is. (Windows crashes and is buggy but rebooting the thing fixes things, where as if you mess with the kernel on a linux machine, you can cause big trouble).
My Own Millions Blog
Not Borg Bad. How about cowardice, monopoly and brainlessness? They're not virtues, but sadly, they seem to be permanent fixtures on the human landscape.
I'm not sure I understand you. You say that because Linux has both GNOME and KDE (and others), there is not one standard GUI on which to develop. But why don't you just pick one? People have access to both, you know.
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."
404555974007725459910684486621289147856453481154 in hex is "You sank my Battleship?"
[GPG key in journal]
That last phrase
Too much choice ?
And, oh yeah.
An apparently unnoticed intelectual Elitarian charm-attitude is the cause of all this.
J. with a low-profile grudge
free dom(inion) - free energy - free your mind - whee!
-I've tried a few distro's and come to prefer fedora core (for now)
-rpm was rough, then I settled on yum to install software. I prefer yumex over kyum, not sure why.
-not so much with the compiling sources and the terminals and such but yakuake is a great improvement to konsole
-I've only added choices with livna, freshrpms, and atrpms for 3rd party repos
-amarok, xmms, xine, kplayer, and vlc are the finalists for media players out of how many? I have 15 apps that I could call "mp3 players" but don't know how many I've uninstalled as well. oops forgot mpd and mythtv
-can't decide between konqueror, opera, and ff. but I won't uninstall mozilla or dillo
-evolution, kmail, or thunderbird
-gaim or kopete
-alsa (with or without arts) and jack offer similar functions but aren't fun together; I guess it's more that I can't use jack all the time or live without it, but I usually leave alsa running
-koffice or ooo
-I've setled on kate
-kde or fluxbox
I'm not complaining about any of this. Without this mindset I wouldn't be so loyal to Seagate hdd's and Antec power supplies. I LIKE choice. My computer experience has evolved through trial and error, survival of the fittest. You might even suspect intelligent design. But there's a sacrifice of effort. And only weeks ago I was confused about skype and Vonage and SIP(?!) and I still don't know what I want.
But I wouldn't have it any other way.
Users who need more direction, like Joe from T-Mobile or Joe from T-Mobile can find someone like me and I'll choose for him and pick the apps I currently prefer, or flip a coin, when I install fedora or yellowdog on a PS3 or mepis on a laptop. Whatever.
Perhaps there's too much choice.
Or maybe irresolute doubtmonkeys shouldn't install software at all -- even windows apps!
Maybe somewhere in between. I like that I have to add 3rd party repos for some of this. what's that universe thing some people use? you get the idea...
Now; I think Windows users should be using Firefox, Thunderbird, Open Office Dot Org, foobar, Miranda, Photofiltre, and VLC. NOT IE, outlook, msoffice, wmp, msmessenger, mspaint, or mediaplayer. They should replace all windows utilities possible with stuff from portablefreeware.com or tinyapps.org and zonealarm and adaware are necessary. I don't think this paragraph gave anyone any difficult choices, but neither I nor slashdot nor cmmndrtco (sic) can be held accountable for DANGEROUS information you come across on the tubes of the interweb.
Odd, I started out trying to see it from their side, but ended up losing patience and sympathy. These are valuable if you're trying to help people but all I can say is...
"Life is used, get confusing to it"
Don't play dumb. There are significant differences between your choice of OS and your choice of website, the biggest being that most websites are not a platform for development and expansion. How many times have you purchased something and worried that it was going to be incompatible with your favourite website? None, I bet. Maybe there would be less of a problem if the OS market was standardised as much as the web.
You know, there is a difference between trolling and pointing out the flaws in your reasoning. Just saying.
>>We spend a lot of time complaining about all the evil ways Microsoft uses to foist
>>themselves on the world. By doing this, we automatically remove any blame that we
>>ourselves may bear for their successes and our failures.
This is what I see as essentially stalling progress in many areas of open source. The community isn't capable of evaluating the community's own flaws. There's a brand of open source "nationalism" where anyone who criticizes community policies and practices is derided as not being patriotic enough.
If you're trying to do anything that doesn't have a GUI tool on both these OS's, you still need the command line. 2 concrete examples:
-in windows, if you want to know what connections your computer is making, what applications are doing it, etc, what application do you use? I use netstat -ab for that, because AFAIK Windows has no GUI for this. (in Ubuntu I can just do system>network tools, and I have a graphical netstat right there).
And I'm not even mentioning all the stuff you need to dig into the registry for, which is worse than a CLI, IMHO.
-In Mac OS X, if you want to put Safari in debug mode, what do you do? you fire up your terminal, and paste the following: (ooh, how polished! It probably was way too hard to add a checkbox to enable debug mode in the menu...)
You may want to claim that that's stuff that's far from trivial, which the average user wouldn't need to do, and you'd be right. But if you put an average user in front of Ubuntu, he wouldn't need the command line either. Installing software is done through add/remove or synaptic, and there are GUI tools available for just about everything if you really don't like the command line.
I'm not convinced the article provides a solid basis for blaming choice as a problem.
:-)).
.Net. From an IT strategy point of view you're better off with a direction that YOU set, not the vendor. Not only is it cheaper, it's also less driven by a vendor's need to flog new products.
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.
Insert
I watched V for Vendetta again last night, and was reading some related material online afterwards. It introduced me to a couple of ideas which although I'd more or less known about instinctively, I possibly hadn't considered from quite that perspective. This is going to appear to be offtopic at first, but bear with me and you'll see the point as it relates to the issue of choice with Linux.
From what I've read, the central element of anarchic thought is apparently the idea of a scenario where people are genuinely self-responsible; where people are able to make decisions and choices about everything they do, and where it can be at least hoped that the need for an external authority is mitigated by said people having an internalised system of morality. In other words, the idea being while they are able to choose to do whatever they like, that people will eventually figure out what they are meant to do on their own.
However we keep seeing (no doubt unfortunately in the minds of some of us) that the above scenario, not only where Linux is concerned but in every other area of their lives, is overwhelmingly not what the vast majority of people truly want. I've found myself reading quotes from both Freud and George Bernard Shaw over the last 24 hours that stated that contrary to the commonly held belief, the majority genuinely do not want freedom, precisely because a prerequisite of freedom is self-responsibility.
This of course is where not only Microsoft in the case of software, but repressive states of all kinds in general life come into the picture. As V said, they offer order, certainty, stability, an absence of chaos, and most importantly, an absence from the need for a person to think for themselves, and all they ask in return is silent, obedient consent. They give people a scenario where decisions are made for them, where no thought whatsoever is necessary, nor responsibility taken for wrong decisions. As the old saying goes, "Nobody ever got fired for buying from IBM."
This is what people overwhelmingly want; what they are trained from the earliest age to want. National governments use the education system these days in order to start negative reinforcement against the exercise of free will within individuals as early as possible, and if such is instilled deeply enough and early enough, the process produces individuals who refrain from exercising choice as much as possible for the rest of their lives thereafter.
If you're wondering why people continue to want Windows over Linux, and continue to complain about the degree of choice inherent in Linux, you might perhaps also want to ask why people are also willing to allow the likes of George W. Bush and Tony Blair to remain in political office. The answer to both questions is the same, for they are in truth both different elements of the same issue; an insistence on avoiding self-responsibility and reasoned, conscious thought within the majority of the population.
How can Linux advocates overcome such, I hear you ask? Instilling independence in those who do not have it already is by necessity an incredibly slow and transitional process. In the case of someone complaining about being overwhelmed by choice, I'd probably start by asking them what it is that they as individuals want to do with a computer, and then direct their attention to a single distribution (or possibly even Windows itself, if appropriate) which will meet their needs. I've tended to notice that people aren't normally wanting a reduction of choice for people other than themselves, when they are asked, but merely want a scenario where they do not need to engage in it. Hence, if they find something which will meet their own requirements, they will very often cease to complain.
Some individuals are inherently lacking initiative and crave situations where they are taken care of by external parties. Sadly, there isn't much any of us can do in the case of such individuals, other than hand them a copy of Ubuntu or Vista, and a smile. Although I fall into the trap myself on here fairly regularly, I also try and tell myself that such people are not worth getting upset over, since they are a reality that we cannot change anyway.
When I looked at developing in Java I wanted to know what tool sets I should use. With Microsoft it is easy - you buy Visual Studio, develop you apps using MS-SQL, deploy to Windows servers. I was working for a company in 1998 and implemented a non-Microsoft email system called "NT Mail". When I left they ripped the NT Mail solution out and put in Exchange just because it was from Microsoft. It is easy to simply decide "Microsoft is the way".
When you move to Open Source you have a large number of decisions to make. For those of us who are in the OSS community we are comfortable with the idea of mixing many projects together to suit your needs. For example, I use velocity instead of JSP's. If I were in the Microsoft world it would be ASP or nothing. It makes the choices easier, but removing choice decreases diversity.
However, the problem exists for developers new to open source. They ask the question - what should I be using? And they get 100 answers that are all different. Every Linux user has their own favorite distro - and it changes from year to year. We have different development environments, such as Netbeans, Eclipse, JEdit and so on. We have different languages. We have different databases. And each has its proponents who will tell you why you should use their approach.
What we do not have is a "Visual Studio" package that includes everything you need to develop software in one easy to use install. I mean include the language, development environment, database, build tools, and put it into a package that is well documented.
Microsoft has a hegemony for one reason, and one reason only: Games. There are very few games on Mac and Linux.
If Mark Shuttleworth bought Take Two, and released GTA only for Ubuntu, well.....
I know plenty of non-gamers that are switching to Ubuntu as it is. And there are a FEW games on Linux, such as the excellent "Urban Terror".
Now if only I could get high res textures in Mupen....
rhY
I hold very few opinions. I hold information based on observation and fact. If you wish to disagree, please use facts.
What he's really talking about is the Network Effect, but doesn't seem to realise. The Network effect is why we speak national languages instead of reegional ones, why some form of English is ultimately going to replace all others, why TCP/IP is the only protocol our machines talk now. Why all keyboards are querty. Why we use the same currencies, why we all drive on the same side of the road. There is utility in all things being the same.
It also applies to user interfaces, libraries, operating systems etc but to a much weaker level. This simply means that it takes longer for the users of the various interfaces, libraries, development tools to converge on the same solution. The need can't particularly great because if it was, the convergence would be happening far quicker. It'll happen over time in the Linux environment, in the meantime, the market is going through the various Linux softwares and choosing the one which fits their needs best.
Deleted
Yeah I know it's cool to bash Balmer around here but he was so right.... "Developers! Developers! Developers! Developers! Developers! Developers! Developers! Developers! Developers! Developers! Developers! Developers! Developers! Developers! Developers! Developers! Developers! Developers! Developers!" Provide good development tools to develop software quickly and effectivly and people will choose your platform over the competitor platform that does not. Microsoft has been creating great development environments and languages for fast application development (VB etc) for years and they would be totally stupid to stop doing that now. It is what gets apps written for their platform which creates users, and so on.
We forget easily that choice itself is a choice. It's really something optional. Choice is a good thing to exist, because at some point people will always ask for something different and better. N00b and Joe Sixpack users, however, only get confused by too much choice. They'll be happy with the tools that come bundled with their OS/computer. When (if) they become more computer and internet literate, they'll come looking for a replacement for that blue E, for example. To put it short: initial myriads of choice is bad, it confuses the user. The possibility to have more choice is good.
Eh, you do know that such tools have existed for quite a while now? You might want to first check out Apache Ant, or if you're a .NET developer then take a look at NAnt instead. You'll find a good introduction to NAnt here.
Once you've gotten the hang of (N)Ant you might want to set up a automated build server: CruiseControl or CruiseControl.NET
I'm normally a big fan of MS development tools, but when it comes to automating the build process MS is really playing catch up.
It's very cunning really. The CLR environment is so incredibly limited that in order to do anything useful or interesting, you have to rely on calling on code outside of the CLR; so any interesting/nontrivial .NET app ends up being wedded to MICROS~1's implementation, anyway.
FYI, sysinternals publish a very nice TCPVIEW.EXE program that does the same thing on Windows. Of course, it's nowhere near as powerful as netstat (the version that ships with Linux' net-tools, of course, not the crappy ripoff that comes with windows) but that's always the case with GUI tools.
"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."
The percentage of non-FOSS which is documented and the percentage of FOSS which is documented are pretty similar in my experience. Perhaps you are unaware of the incredible 95% of software which is developed commercially, but which is not sold in a shrink-wrapped box in Circuit City. Many companies have internal IT departments which couldn't code their way out of a paper bag in VB, let alone document it. Go read the daily WTF if you think I'm lying.
"s/he might be wrong but at least the product is consistent, and not designed by a committee as it sometimes happens."
Andrew Morton. That's a name I can think of when I think of someone with vision for a particular FOSS project which are willing to say when things (don't) match their vision. Linus Torvalds also fits this bill. There are similar names in other projects, but I'm most familiar with the kernel.
"These clones haven't been weeded out by the market, and so many of them are not viable - but they are out there,"
The weeding doesn't occur at the store level, it occurs at the reputation level. All FOSS stuff is staked on reputation. If you have a high reputation, you are going to be used more and included in more distributions. If you are a crappy app, you'll never see a real user base. Since the programmer is programming for ego (see the somewhat inaccurate women/baby analogy), the programmer should be motivated to produce better work which becomes more popular. The KDE programmers sure seem to have worked to make sure that KDE is useful. The Gnome programmers have also worked towards some mindshare. Given how people used to choose window managers, but now choose desktop environments, I'd say that these programmers have changed the game wrt GUI interfaces on Linux. That sounds much like a market shift, but with eyeballs and hearts instead of money.
"Effort dispersed, spent on competing projects is ultimately wasted."
Oh, I'm sorry, I guess you're just a troll. Or you simply don't understand what FOSS is.
--
Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
at least 15 thousand software packages do exactly this: provide the source and let others filter out the differences.
It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
If only I could get a look at the user-agent strings to see how many of the "all praise consistency" crowd have posted their comments under Firefox. Those of you who did should feel a small twinge of moral ambiguity the next time you open a page under tabbed browsing. Microsoft only came out with tabbed browsing when choice put their back to the wall. I was reading the other day that ninety odd percent of the world's food production is confined to twenty odd species of plant and animal. While we're on the subject of restricting choice for the greater good, I hear that arranged marriage offers many practical efficiencies.
Simply put, he's right in a way. After all, developing software for an environment you choose, means anyone who didn't choose your environment who wants to run your software has to switch, or install more software, and deal with the problems possibly associated with such a thing.
;D
Remember when KDE, GNOME, Xfce and Enlightenment didn't share a desktop API? Look now at how Enlightenment reinvents everything using it's own special libraries? While Enlightenment has some distinct advantages over the way the others are designed, it is a DIFFERENT system. Want to install a GNOME core application on KDE? Well, you have to drag in most of GNOME, still. The same in reverse. Install Enlightenment tools on top? Well you have to drag in the rest of the E17 framework.
Install X on my system, and it still pulls in 5 different sound daemons.. yikes, and yikes again. Xine, MPlayer and GStreamer/Totem too. They all use the same libraries after all, but do I need 3 different ways to play a movie?
I personally prefer GNOME and Xfce if only because they use the same GTK toolkit - however I personally loathe GTK and the GTK API. I don't want to even get started in Enlightenment.
So, when you sit down and use Windows, what do you do? Well, you're pretty much stuck using Windows. And for all intents and purposes, there is a strict set of toolkits and APIs they provide for you (DLL hell wipes that off the map though). There is no "which API do I use to open a window and add a button" if you are using VisualC++ and reading the documentation, it will pretty much railroad you into one choice. But there ARE other choices.. they are just less obvious and less relevant.
I think this is why I like the concept of RAD stuff like Ruby On Rails, however I do hate Ruby, and Python, and I never got into Perl in a big way, and while I'm stuck with PHP, it's because it's closer to C++, which I absolutely love. If I had a choice I'd be coding everything in C++, with a single toolkit, but unfortunately because everyone else makes other choices, I can't.
Does my life deserve to be made this difficult by virtue of the freedom of choice? Probably
In the Linux world we have 2 dominant windowing systems: GNOME & KDE.
If you really wanted to you could develop for one of them (hint: Ubuntu, Red Hat and Fedora are GNOME shops, sorry Kubuntu guys, the distro is too green) and let the comunity port to the other, and you would have all your bases covered.
The no coherence argument is ludicrous, the Linux community has decided to have two main graphical environment, with several others for falling back or for specifical situations (low memory, low spec machines, etc).
The too much choice argument is a way to weasel out, it is a non argument frankly.
IANAL but write like a drunk one.
If you think there are no arguments and forks inside MS then you are more naive than is decen to be.
The only difference is that they happen behind closed doors and you rarely hear about them.
If you want any indication that there are forks, simply look at 2 major consecutive versions of most MS offerings, in some cases are so unrecognizable from its predecessor that you wonder if the latest development team kidnapped the previous one and sent them to Guantanamo or something like that.
IANAL but write like a drunk one.
A company can limit perfectly their choice of products and technologies to open ones, once that choice is made inhouse developpers must constrain themselves to use that limited "approved" set.
Don't demonize abundance of choice when the problem is lack of clear management strategies.
IANAL but write like a drunk one.
I also love Kubuntu and use it on all my machines at home... However I develop for Windows at work. Developing application in Windows can be as easy as VB. As far as I have seen there is nothing on this (OSS) side of the fence that comes close to it for ease of use, with (reasonably) good debugging. From there it's a skip and a jump into C# and beyond.
As a (bad) example of how far UIs have to go, I use Visual Studio 2005 at work and I use Matlab for my postgrad work. Both professional, closed-source products. The Matlab debugging facilities pale in comparison to Visual Studio's power. Makes life so much easier. I find Matlab a bit archaic, but KOctave seems even worse. I guess Matlab only has to do better than Octave on Linux systems.
Of course my argument is omitting things like Eclipse... but I have only used it a few times and found it too slow (slower than VS.Net!!) and user unfriendly.
Couldn't stand the weather
I am sure any user of any complex piece of software is going to find different pet peeves.
The reality is that Linux works, and like with any other software product, not all design decisions will adjust to your view of what is logical.
Of course if most people decide that the design choices are shitty then the product will not be popular and will not be used.
Well, great, we have discovered the black thread, what is next, the wheel?
IANAL but write like a drunk one.
Although Linux distros have many flaws, they have nothing to do with the reason why most people and businesses use Windows.
Linux and Open Source are new as a mature software solution. Microsoft started dominating the market many years ago now. If everyone bought computers today and gave them to employees that had never used a computer before, then of course we would win. But that is not the situation. Companies have documents in Word format; they have employees who think the big blue e equals the internet; people have paid for licences already. It will take time, but we will win.
Yeah yeah I know I was being a smart ass. Sorry about that (sort of).
I haven't seen a thing about this implosion of McCain's yet. This is the only place I've heard about it.
IT managers and CIOs know there are several commerciallly supported versions of Linux.
IT managers have had to deal with far more complex decisions when each company was pushing their own OS (at some point you had many different versions of UNIX, VMS, Windows, OS2, MSDOS, MacOS, and many mainframe propieatry ones (CANDE, A12 and who knows what else).
If anything, IT decision makers have it immensily easier now a days: one of the few remaining UNIXes for mission critical, scalabel problems, Linux for mission critical problems (mostly Red Hat) that may not scale well, Windows, Linux (Ubuntu I would say, Red Hat is good as well, SuSE) and OSX for desktop systems and departamental servers,
How chaotic is that?
Only lazy people want a one size fit all solution, that in the long term will cost them more money than the time and effor invested in doing a proper evaluation of what is available out there.
IANAL but write like a drunk one.
What the heck is "difference of taste"???
You clearly wanted to use choice, or need, but taste?
You are just trying to hide behind a lame word your bias.
In any given healthy market you will have lots of choice. The OS market is not very healthy, the abomination WIndows VIsta is is enough proof of that.
Lack of choice equals shitty products.
IANAL but write like a drunk one.
The second I encountered this text ... "It has a couple of really cool features, like the virtual, override and new keywords that let you specify what should happen when you cast a class to it's base class and then call a method on it that's defined in both." ... I stopped reading.
... and of course naming a facility by its proper name is not important in engineering.
... C# introduced explicit virtual methods just because of speed concerns. If a method is not a virtual one, there is no need for the runtime to do dynamic dispatch. ... it is a facility introduced only for the sake of speed optimizations, and its just making the language harder to use.
.NET a run for their money.
The author is referring to the way polymorphism works in C#
But besides that
The problem is
The flaw here of course is that there are always new optimizations introduced in newer virtual machines, and the good old Smalltalk, one of the most dynamic languages in existence, can give both Java and
In the end such optimizations become bottlenecks, and for example multi-core processors prove that garbage collectors are superior to manual memory management.
I thought Apple had fewer software options for most tasks than Windows, at least it has always seemed that way to me.
Likewise, BSD has fewer software options for most tasks than Linux since it has less development, so why does Linux take the OSS business market instead of BSD?
Note: I don't intend this as a flame at all, I like one of the OSes that this says should do good based on the logic, and I don't like the other. I like one of the OSes that looks like it should be bad in this comparison, and I don't like the other. I'm just saying the arguments logic doesn't seem to add up to me.
34486853790
Connection too slow for X forwarding? Try "ssh -CX user@host"
yes and no... the IBM compatible PC won out over Apple... you could have your choice of "X" machines that all run windows, or an apple.
Standard interface with more "other" options wins out over standard interface with few "other" options...
kinda like the old Henry Ford quote... you can have any color you want as long as its black
Thanks to file sharing, I purchase more CDs
Thanks to the RIAA, I buy them used...
It's not just you.
That is unfortunate, because people like you and posts like the one you just wrote are exactly the reason Linux is not catching on as fast as might otherwise be expected. You are the modern equivalent of the "RTFM, n00b!" morons on IRC. You are marginally more polite, but your immediate assumption is that the GP post is trolling, and not simply the real life experience of a somewhat technical but non-expert user who is considering moving from the tried-and-tested ground of Windows to the brave new world of Linux, and who isn't going to bow down and worship at the altar of Ubuntu before he's seen his miracles.
Instead of providing constructive advice about Python, for example, you mock the poster for his lack of knowledge, and make a flippant reference to Google. Of course people like the GP poster know how to search using Google. The point is that on familiar ground (Windows in this case), he doesn't have to. Thus expecting him to search on Google every five minutes for the first several weeks of setting up his new system is unrealistic. He won't waste his time doing that for long, he will simply switch back to using Windows, where the stuff he wants to do can be done easily in a way he already understands.
This is the challenge facing the Linux community, and smugly, arrogantly, pretentiously denying it isn't going to convince anyone about the merits of Linux as a platform — quite the opposite, most likely.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
The difference between a GUI-based configuration and a file-based configuration is that the former is easy to learn but the latter is easier to use once learned. If all you're doing is tinkering, then I'll grant you that having a GUI setup can get you up and running faster, but I work with both IIS ans Apache servers every day and the IIS ones are far harder for me to maintain because I can't quickly remove chunks of the configuration, or search inside the configuration to find a particular setting, or use search and replace to change a particular setting throughout the entire configuration.
A GUI also makes it far harder to automate administration tasks. On one of our servers the Apache configuration is generated dynamically from a database, because all of the sites hosted there are configured very similarly. I can deploy a new site just by adding a new entry to the database and restarting Apache. I'm guessing that there is a way to do such a thing with IIS, since IIS's admin interface uses some sort of RPC to communicate with the service, but I can't reuse my skills learned doing manual configuration when setting up my automated configuration; with Apache, I already knew what the virtualhost directives needed to look like so writing the script to generate them took only half an hour or so.
...But there is too much fractured choice in the OSS community... I agree with you. I hope one day we will see an OSS platform that enforces some kind of "open monoculture", if of course such a thing is not a paradox. Otherwise, I don't see how OSS will take the crown away from the other monocultures like M$.A platform such as GNU/Linux fulfills the needs of a minority. Don't get me wrong, I've used and love Linux since 1995, but it does not fulfills the need of the majority of computer users who needs well defined rules on how things must be implemented to integrate well.
I thought we had a winner with BeOS! I'm so sad it did not fly. I think we can pretty much put the blame on the lack of device drivers. And I think any platforms that wants to dethrone Windows will need to implement a very good "Windows drivers" compatibilty layer. It's sad but might very well be inevitable.
Valtor
"Sockets are the standard networking API, also useful for stopping your eyes from falling onto your cheeks" zeromq.org
The author mentioned
Do we really need Ruby on Rails AND Groovy on Grails? Rails and Grails address different market segments. Ruby only has a hope for adoption in new development projects. Grails can be crept in gently into Java projects. Groovy and Grails compile to Java classes and are indistinguishable from ordinary classes written in Java. Ruby is a relatively unique language whereas Groovy is more like reformed, dynamic Java. We mix Groovy and Java in our projects now and are very happy to have new tools to accomplish our tasks. I don't want to go out and learn a new language, like Ruby, but I sure as hell don't mind making the tiny leap to learn Groovy.I realize this is only a minor point in his argument, but makes me seriously doubt his credibility. Just because Grails and Rails sound alike doesn't mean they're interchangeable and that one or the other in pointless as he implied. Also, most intelligent people aren't bothered by the having too many choices, but more by having too many bad choices. Sure, we have Solaris, Linux, and BSD kernels all competing to run our server apps. Most don't mind since all 3 are solid choices. The problems come about when you have 12 different Java MVC frameworks, all of which are severely lacking in at least one area, presenting you with no clear choice. You can use struts and it'll be fast, but kludgy and lacking any good view-related features. You can use JSF and get great view features, but a noticeable performance decline in most circumstances and a very strange controller model.
Your comment covers my two main bugbears about IDEs. The first is the assumption that I want the entire project available to me at all times. I'm generally only interested in a tiny subset of the system at any particular moment. It's true that I could set up separate IDE projects for each sub-component, but it's far easier to simply only load into my text editor only the files I'm interested in. I cringe when I watch my IDE-using coworkers clicking frantically around the deep tree of files in the project trying to find the one they want to edit, when I just use the filesystem browser integrated into the shell -- which is designed for quickly navigating to files -- to locate the file and drag it into my text editor.
The second is the integration between the editing, build and deployment. Most of the time I'm writing web apps or other server-side code. Therefore the machine I'm running the IDE on (my workstation) is not where the project needs to be built to (my development server). I gave up trying to figure out how to get Visual Studio.NET to build and deploy my ASP.NET Webservices assembly to the server when I press the "build" button, so I just wrote a simple Perl script to parse the .csproj file and run csc directly. In other situations I've needed to actually build the project on another machine, perhaps because it has libraries available that I don't have on my workstation. At this point, the "build" function in my IDE becomes pointless and I might as well just use a good text editor.
Microsoft's tools are getting better, though. The above situation with ASP.NET Webservices was a while back, before MSBuild existed. More recent versions of Visual Studio.NET actually generate MSBuild scripts for their project files, so my Perl script can now be replaced almost entirely by running msbuild.exe. I still have a wrapper around it that lobs the binary on to the server, though.
for people who develop for Windows, the Internet and smart devices using the Visual Studio IDE simply makes life easier.
The argument seems to imply that *nixes have "lost". Stick a fork in their butts and turn them over because they are finished.
I'm no veteran, but for 7 or 8 years now I keep reading these stories about why linux / free software is so bad, but my expereince has been that its popularity and ease of use has only increased exponentially over the same time period. Major corporations are integrating free software in their businesses. People are getting an operating system AND just about every app they could ever need for free and they are writing complaints about how their mouse isn't wireless! This is great news, not bad. The article is trying to spread FUD.
Of these, I can rely on the first being present because it's roughly equivalent to using the raw X API: it's as close as you can realistically get to talking directly to the windowing system in Windows. MFC and WTL can at least be built in a way that doesn't create extra dependencies for the user; in MFC's case, we can statically link it. But I can statically link Qt/Gtk to my app too, if I like. The System.Windows.Forms .NET API requires the end-user to have the .NET Framework installed, and I have to be careful about my use of new features in the 2.0 release if I'm aiming for people who only have Framework 1.1 installed. WPF is only available since .NET 3.0, so therefore only available for people keeping their Windows XP machines up to date (it does, at least, install through Windows Update) or people running Windows Vista.
Running an app that targets a .NET Framework version you don't have installed is roughly as annoying as installing a Gtk+ app when you've got a wholly KDE-based desktop. At least in the latter case I usually have a package manager to worry about it for me!
Like in Windows when you have no other choice but to edit the registry is better ?
A quick example
a) tweak it by modifying the registry
b) installing a little utility designed for Windows XP
Also
I am in that category too
Linux has lots of monocultures--pieces of software that have become mostly standard:
* the Linux kernel (rather than, say, the Hurd)
* X.org (rather than XFree86, which is now dead)
* bash (rather than ksh, csh, tcsh, or my favorite, fish)
* Apache (I had to look at Wikipedia to see if alternatives even exist)
* MythTV (any other Linux PVRs?)
* GCC, and for that matter, most GNU tools
Perhaps usage standardizes on one piece of software when that benefits people, but usage fragments when there are benefits to choice. Doesn't seem like a problem.
Penny - plain text accounting
Seriously, who cares if the guy down the street doesn't use Linux because there are "too many choices"? Linux and its ecosystem of tools were written by people who needed to get things done. If the guy down the street just wants to play computer games, or write Word docs, and he doesn't want to bother with "too many choices", then good for him, he'll use Windows. And that will be fine for him. For me, at work, and in my personal life, Windows is a major fucking impediment to getting things done, and so I prefer Linux. The only thing that Linux is not suited for, in my opinion, is managing Windows (like maintaining your AD), and thank God for Parallels. But seriously, too many choices? Why should I bend over backward because some dolt (who doesn't seem to understand that in life, there is more than one way to solve a problem) can't grok Linux? Fuck that.
I'm happy with my tools. Sure, it's a psychological tenet that people are overwhelmed by too many choices. My personal tenet says that most people are dumbasses.
The only thing I would add concerns the trepidation about developing for Linux GUIs. As far as I can tell, there is nothing wrong with Qt+ or GTK. My question is that if I am leaving a platform GUI such as Windows, why do I want to embrace another platform GUI such as Qt+ or GTK?
True, Qt+ is a somewhat portable GUI is that there is a Windows version, but then you have the famous developer seat-license fees, and there is some version of GTK under Windows of some controversial level of capability. I am betting on Java Swing. Of all of the non-Windows window managers, widget collections, and graphics libraries, it seems to be farthest along in offering everything GDI can do in terms of hardware-accelerated graphics, and it has FOSS support (check out the FreeHEP VectorGraphics package for generating publication-ready EPS output from Java Swing plots -- simply awesome)
I really think the GUI should be an independent layer on top of the OS because while I will get "locked in" to that GUI layer, I won't get locked in to the underlying OS, and I don't care if that OS is Windows, OS-X, Linux, Solaris, whatever. There are other independent GUI layers (Python-wxWindows, Python-TK, GTK and Qt+ to a degree), but Java Swing is the most capable of them all.
It looks like your trying to cast a class to it's base class without first defining a method.
a ges/ClippySuicide.jpg
http://www.faculty.english.ttu.edu/barker/4367/im
davecb5620@gmail.com
Because the current OS/apps 'everyone' uses (Windows)
has some serious problems
that in spite of all that support out there
have still yet to be fixed.
It sounds to me like it is pretty well broken
and I should look for something better.
"Enjoy what you're doing! If it becomes drudgery, you're doing it wrong!" - Jim Butterfield
I have nothing but distaste for the Microsoft monoculture and the blinders that result in people who know nothing except the Microsoft way. This was driven home to me recently when I had to take a .Net class from Learning Tree, and the teacher, who seemed very knowledgeable about the topic and had years of professional programming experience, asked "what's LDAP?" with a genuinely puzzled look on her face when I asked about using it for authentication. Oh, but she knew about Active Directory! This is just one anecdote among many that I witness that display the abject ignorance of computer professionals who think the entire computing universe is Microsoft or Apple, and perhaps that oddity Linux.
1) Your software still looks like a 16-bit Windows application. I imagine the code isn't very portable to begin with. Hence your difficulty in porting.
2) GTK is your GUI target. If you need a C++-based library, then target wxWindows or QT (added bonus, you get Windows compatibility for free with those two).
There aren't any other choices. It really isn't as complicated as you make it out to be.
THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
Apple lost out on hardware cost. Because Microsoft doesn't make and sell the computers on which Windows run, competition has driven down the cost of hardware.
I recently needed to purchase a new laptop. I looked at Apple/Mac and I looked at current Windows laptops. I ended up buying an HP for less than US$900 because the comparable Apple product was more than twice the cost.
There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
"Not an actor, but he plays one on TV."
Which part of Linux has too much choice?
The GUI? GTK+ and Qt. Just about every system has GTK installed. If you want to complain about that, first show me three mainstream multimedia apps in Windows that use the same toolkit. There's a reason you don't see dozens of nonstandard bitmap-based apps on Linux. They look like shit.
The system binaries are glibc, gcc, ncurses, bash, etc. DLL Hell doesn't exist because the distros handle all the dependencies for you. The kernel setup is only a problem if you're writing drivers or have severe NIH syndrome.
For graphics you have opengl. For sound and input you have SDL, and optionally OpenAL if you want hardware accelerated sound. DX10 doesn't give you the option of hardware accelerated sound. How is that "better"?
Blame the user and tell him he's lazy for not understanding crap that just gets in the way of getting work done.
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.
the major advances in civilization are processes which all but wreck the societies in which they occur - A.N. White
With that attitude you might actually start making money.
Oh sure, I'm not up to IBM standards so I'll never make money (five billion dollars a year) like they do. I'm a flunky that needs insane licensing, hard to maintain and featureless code that is somehow "easy to use." I'm tempted to say something snide about how rich I'd get shopping at outrageously expensive department stores, but many of them actually provide a service for their money so the comparison would not be fair.
Friends don't help friends install M$ junk.
There is also a lot of hardware that will only work with windows: combination print/fax/scan machines, wireless NICs, WinModems, specialized devices such as barcode printers, POS equipment, and so on.
or W2K or whatever.
I don't know where this bizare idea that people will switch to linux, instead of staying with what they already have.
The problem is not the existence of too many choices. The choices should be out there for those who need them, but they should also be transparent for those who don't need them. This is one reason Ubuntu has proven to be so user-friendly. It makes many choices for you by default, which are good choices for most users. It doesn't force users to think about choices that they don't really care about anyway.
On the other hand, I think that open source development often wastes much of its potential by creating too many varieties of products. I have a dozen video players installed on my system, and I'm still searching for a good one. There might be a good one available if the development work hadn't been repeated across so many similar products.
Reasonable, though with my current experience, HP is one of the few companies where given the choice, I'd still pay the Apple premium (and then replace the OS).
34486853790
Connection too slow for X forwarding? Try "ssh -CX user@host"
Windows is in the sweet spot of how much it does without asking you, and in how many options it has. Linux does absolutely nothing without explicitly being told. Apple does a whole lot without consulting you for your opinion on the matter. Windows is in the middle, offering what many find an acceptable compromise of configurability and functionality.
-- I prefer the term "karma escort."
gtk+ runs on win32 and Mac OS X quartz.
so it's really as simple as: QT, or gtk+ . If you like c++ then gtkmm or qt. There are also java and c# bindings.
Indeed but pick a toolkit and take.. say.. Windows Vista. All of the APIs you wanted are there in the base OS install. Whether you use .NET or unmanaged code, the .NET stuff basically is a special language interface; it's no different to using a Python binding for GTK under Linux. The effect is, that you get to compile code in for the CLI, using managed code framework, rather than poke at the OS as low as you can go.
Sure, there are variants and wrappers but we are talking about the whole Windows windowing system basically layering substantial improvements in usability on top of the same basic Windows UI. Windows provides - since a long, long time ago - little utility functions so that if you DO want to draw a pretty looking button that matches system style, it is in fact a simple call away.
What if you want GTK and Qt apps to look the same? Well, there is no underlying standard X GUI toolkit, most applications have zero concept of what window manager is running around their window canvas, and when they draw a button border, they do it on their own special little GUI toolkit.
From a usability standpoint I think it's awful. Any OS that purposefully lets people install themes like a Denon HiFi (all black, with tiny charcoal-grey lettering, tiny blue lights and no contrast) means the system is basically totally unusable. I applauded Microsoft when they said they were code-signing themes and only allowing the two basic ones in XP; I love the way Apple apps pretty much all have to look the same way (even if they do change their mind every 5 minutes between candy and brushed aluminum). You get a button that looks like everyone else's buttons, so everyone can see a button and know it is a button.
FreeDesktop should, I think, define a standard "Window System Look" API and library somewhere which allows these things to be plugged together. A single and simple theming API which arbitrarily enforces certain usability points (standard window toolbar icons for example) maybe based around Cairo or something. Then, GTK and Qt and whatever else on the planet can just USE it. Want to draw a button? Yeah sure, do it in your own GUI toolkit API, after all there are some advantages of using either. But let's make them look the same and act the same without having to meticulously recreate theming on every toolkit known to man..
The advantage that a good IDE gives you isn't something that "folks talk about" anymore than gravity is something "folks talk about".
This has got to be the most backward-ass, half-baked, clueless assessment of why to use a product that I've ever seen --- "Please give me just one thing, because I am incapable of choosing from many other great alternatives. I'm incapable of developing my product so that it will work. I must be shown the way."
Let me give you a good reason why one and only one choice sucks -- when your one and only choice sucks. Visual Studio 2005 was, and in large part still is, a complete disaster. Don't believe me? Google 'Microsoft Visual Studio 2005 sucks'. Follow the first link, and read with horror how even the most ardent MS dev fan boys had their asses set ablaze by their wonderful lack of choice:
http://www.microsoftweblog.com/2005/11/05/problems -with-visual-studio-2005/
I've worked with Visual Studio for years (not weeks), starting with Visual C++ 1.52. I've seen it rise and fall, and let me tell you, it's falling now. Many experienced developers are still clinging to VS 6 circa 98 because everything since just plain sucks. That's what you get when have no choice -- no choice. Ask the ISV's that developed with Visual J++ how they felt when MS and Sun got into it and MS, throwing a hissy fit, just *drops* the product. Ask people who have developed millions of lines of code in Visual Basic how they felt when MS abandoned them and EOL'd Visual Basic. There's lack of choice for you.
This guy has one week working with a MS product, and now he's telling the rest of us the error in our ways. Why is this clueless drivel even on slashdot? I understand the right to post whatever your like on your blog, but you call this slashdot worthy?
Too much choice. You've got to be joking. Is that the best argument for using MS products?
http://uncyclopedia.org/wiki/User:Steve_Ballmer
I have found only one single reason to hang on to IE, I have the displeasure to sometimes need ActiveX. If it wasn't for that I would have stopped using IE long ago. However, here again it's a choice for best fit. In a Win only world you would just be stuck with IE..
As for choice on word processors, I like OpenOffice better than Word, but that's because its word prediction feature is something I use almost daily. And my spreadsheet needs do not exceed Calc
If you look at the overall picture there's almost no reason why I should stick with Windows either, and I don't - my desktop is running more and more time in Ubuntu :-).
Does that make me a Linux fanboy? Umm, yes, probably. I simply like things that work, and for me (as in 'for me PERSONALLY') Ubuntu does the job better than Windows. May not apply to everyone (nor would I say that), but it works best for me..
Insert
I know about all sorts of other build environments. They're at a disadvantage now, because the only one that Visual Studio actually supports is MSBuild. Embrace and extend.
Then Microsoft must be full of insane persons. Even folks who use Visual Studio use it as a glorified Notepad most of the time, without even attempting to use its project management.
I know Vista is no good. I have XP, but eventually I will also put another computer on the other side of my desk with Linux. Also many people find Windows easy so they use it (but there are also people that find Windows still difficult). And with viruses and spyware and other stuff it will make problems and slow down and nobody will know what wrong with this.
I have read these messages. The new game-console system that I am creating is designed to fix this problem (because it is more than just a game-console system). If you want something, get the DVD for it if you don't know how to do it yourself! But you still can do it by yourself if you want (unless the DVD is commercial and closed-source). Or, you could get a program written in BASIC and this new system will run it directly from the source-code without needing to do anything else. You can also edit it if you connect a (optional) keyboard.
I know there are many different Linux distributions, but I will make a new one that will work with your TV and/or VCR. (It might not be fully compatible with a DRM TV, I haven't tested it, but if you set the aspect ratio and just don't use the HDMI, then it should work OK.) I may fix the kernel (and even the BIOS) to provide compatibility. Most people can do it by just inserting the DVD and push START button (on the game controller or IR remote control), you don't even need to log in or anything like that. But, if you want, you can do nearly anything more complicated than this if you prefer.
Just because the actual sale isn't occuring on the software doesn't mean the software isn't part of the sales-pitch. Having good software available for the hardware platform they are pitching is very much in their interest and impacts the ultimate sale.
Okay, that's where we disagree then...the definition of "viable". My definition is tighter than "can make the ballot"...I define "viable" as "could have a realistic chance of being elected". Ralph Nader was not viable, by my definition, because they will be serving ice water in Hell before he could get elected to national office.
I want a new quote. One that won't spill. One that don't cost too much. Or come in a pill.
Choice is bad - obeying is good.
Linux bad, Windows good.
I don't care if he's talking development environments, that's what he's saying.
Windows shill.
Nothing to see here, move along.
Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
Oh, and re: making a decision; I'd start with Consumer Reports for the 'functional' parts (durability, stain resistance, etc) and maybe find some home visualization software, if such exists, and try out the various carpet types. Or, like I said, just close your eyes and imagine the possibilities first. Or go to a real carpet store and ask for suggestions on picking out a style. I figure people who work at dedicated carpet places would have some ideas.
and that outlook is the reason why "they will be serving ice water in hell before he could get elected".
if people voted based on what they want rather than how they think other people will vote those candidates would actually have a shot.
that kind of outlook is a self fulfilling prophecy.
I remember there being stories about this at the turn of the first millennium:
people were absolutely convinced the rapture would occur at the end of the first millennium, so they slacked off and didnt tend their fields properly, and loe and behold famine struck and killed them off.
VLC FOR MAC IS DYING! IF YOU DEVELOP, PLEASE SAVE IT!!
"Why does Microsoft win the development environment war so often, when we all know it's a lifetime lock-in to Windows?"
This question only makes sense when addressed to the hobbyist, not the professional. Though even in that context, I'm not sure it's even true for the hobbyist.
I mean, do you really think that any non-Microsoft IDE could ever do very well against a Microsoft IDE when developing for a Microsoft OS, whether or not it's open source, or even regardless of how good it is, when the non-Microsoft solutions will always be playing catch-up when new OS features are released? And of course, when Microsoft makes an active effort to induce new incompatibilities, often just to make it harder for the competition?
Serious developers will choose Microsoft development tools because they're developing for a Microsoft OS. Period. You might better ask why people choose to develop for a Microsoft OS, but once that choice has been made, the choice of Microsoft development tools quickly becomes a no-brainer. Unless you're on a very tight budget, that is (i.e., you're a hobbyist). No professional chooses a platform because of the development tools, they choose development tools because of the platform.
Software is made in layers, mostly. It is not always written with layers, but it 'is' layers. The stack is sometimes reordered, but it's layers all the same. Domain + Rules, Presentation + Manipulation, Implementation + Persistence. The layers that change the most often are technical layers like presentation + manipulation + implementation. All the rest is relatively stable. When you go for open source, you decide when to change the technical layers. You decide how loose the coupling is between the changing/non-changing layers. When you go monopolist, they decide when to change the technical layer. And mostly they decide how loosely coupled the layers are. Now which choice is best?
--------
* Sigh *
I'm leaving my company now, and I'm writing up some documentation on the systems I've left behind.
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.
That is all fine as far as it goes. In fact that shows more discipline on your part and something you should be commended for.
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.
This, however, does not follow. Your argument seems to be that, because you can make bad choices, that choice is bad. That perhaps we need to be protected from ourselves. Perhaps even that all software development should be done on training wheels.
The fact is, if you have any engineering skills at all, you are going avoid the problems you mentioned above. In short, blame the engineer, not the fact that the choice was available.
LedgerSMB: Open source Accounting/ERP
Like with political systems, market choices are difficult to handle and need *education* as a
.NET path, you're pretty much stuck there forever, Mono not withstanding.
prerequisite.
Platform lock-in is NOT the only problem: consider the fact that using proprietary technology
means that you give up control and thus create a risk, namely if your supplier has a bug in
their code, only they can fix it. Now if they are too busy (or you too unimportant to them),
this may totally screw your project in the absence of open sources.
In an open source project, however, you could hire a technical consultant specialised in your
product/API in order to fix a bug/add a feature, and feed it back in the community. You'd help
yourself and improve the world at the same time.
This is not Microsoft bashing, but a criticism valid for all kinds of black box technologies.
> Now, least you think I've been turned to the Dark Side, there is one BIG problem with a monoculture,
> which is that you've essentially sold your soul for the stability of a clearcut set of choices.
> You go down the
The one good thing I can say about most pre-Ubuntu Linux users was that they had slightly more knowledge. They knew that they were using an alternate OS, and they typically knew the name of the distro they used, so you didn't waste any time trying to figure out which of the multitude of initialization scripts, package managers, and even (in some cases) default window managers were around. People who switched FROM the norm (both within Linux, in the case of the window manager, and in general, in the case of using Linux at all) tended to know what they were using. That didn't mean that support was easy. Your buddies complain about 3 versions of Windoze because they don't work together - each has it's own arbitrary and insane limitations of a sort not found in the free software world. Simply untrue. One example is Network-Manager, which can't handle certain wireless NICs because they don't talk to the kernel the using the same interface (and we're not even getting into NDIS stuff, here, which is a completely different issue.) Furthermore: free software all works together Be careful with this. Linux kernel versions may expose or modify APIs causing breakage. Some open source software targeted at Linux simply does not run on other free and open operating systems, such as FreeBSD or OpenBSD. ABI changes in libraries can cause conflicts--installing both libraries can be difficult (if not impossible), meaning that software which relies on a specific version may be incompatible with software relying on a different version (I've seen software which required me to downgrade my version of libc, for example).
Free does not mean that it will work together. A worst case scenario is that you can make it work by rewriting it or fixing the code, but when we're defining success by comparing the user base, you have to take into account that most people won't be able to manage this sort of thing.
Note that this doesn't make it worse than the Windows issues. The fact is that software changes, and sometimes those changes cause incompatibilities. With the Windows monoculture, however, there's only ever one moving target. With Linux, there can be many. I've been hearing this FUD about "confusion of choice" for a while. As usual, it's designed for people who've never taken so much as a peak outside their favorite non free OS. Anyone who's run free software for more than six months knows it's nonsense. I've been using Linux as my primary desktop OS for about 5 years now. FreeBSD is my server OS of choice. I haven't had Windows installed on a computer I own in probably 3 years, unless you count through emulation (which I use exclusively for support issues with family and friends). I hold to my opinion that confusion of choice is a legitimate issue. It may not be the fact that there are too many choices so much as the underlying reason that there are so many choices--FOSS developers target multiple platforms, interfaces, kernel/libc versions, etc. Spending the time and effort to actually make one distribution good (i.e. coding with that platform in mind, working on usability issues with that platform, etc) could have a good effect on Linux as a whole. Then again, it's also possible that it would become a "too many cooks" issue.
Clickable link
We use the most basic GUI API possible as a matter of policy. That is why you see the low color icons and so forth. It isn't an accident, or the result of "old code". Though it is a policy we've been following since 1985, when we released our first GUI program, PCLO, a printed circuit board layout CAD system.
However, your speculation on "difficulty in porting" is entirely off the mark. Our stuff is easy to port because the amount of dependencies on the OS, including GUI requirements, is minimal. The applications themselves are straight C code through and through. Our main apps were ported to Windows from the Amiga, a completely different system with a completely different GUI layer, in about two days. The application controls and signal catching are highly modular internally, and we have no problem whatsoever porting them. They were never "spaghettied" through the code, so it is not all that much work to replace them wholesale. The only potentially daunting task is bitmap conversion; there are hundreds of icon bitmaps buried inside Visual Studio, and getting them out is annoying to the tune of several hours of make-work.
Further, that same minimalist approach has meant that our software continues to work without changes on each successive release of Windows, and it also allowed us to port to the PowerPC, Alpha and MIPS versions of windows in very short order. Maintaining the RISC versions was a bit of a bitch because Microsoft kept doing things like invert the Y axis on font rotation and just generally foul up their RISC code. Our linux port was done in less than a week (and some of that was just fooling with different widget sets.) You presume we had "difficulty in porting", but that isn't what I said. I said we weren't going to release a port.
With regard to Windows, the same version still runs on 95, 98, NT, 2000, Me, XP and Vista. All releases and all service pack levels for all versions. The same system calls. The same code. It has to be recompiled for RISC targets, but that's only a minor problem; there's no difference in the GUI layer there, either. The lack of RISC machines is the real problem. Microsoft really screwed those people hard. But that's a different discussion.
The code for the application core is 32-bit and always has been (the Amiga offering / demanding a flat memory model long before Windows ever went there.) But even so, the current release version is anything but "16-bit." We're currently working on a 64-bit version that is broadly multiple CPU/core aware, and that is going to finally break our long chain of compatibility. I have to admit, way back in the 80's, 32-bit did seem like enough. Not that the tools really would have let us build a 64-bit app at the time. Still, although 32-bits is enough for a lot of things, 64-bit does some really nice things for deep pixel manipulation, and the new stuff is fun to fool with. We're still using the minimum calls to the OS, though. You never know what is around the corner.
GTK is LGPL. So we can't use it. wxWindows uses GTK, which is LGPL, so we can't use it. QT is costly for a proprietary application, and again, that's not going to fly with a free product.
Yes. I know. That's the whole point.
I've fallen off your lawn, and I can't get up.
There's no particular reason to presume that WinImages will stop working, unless MS drops compatibility with its basic OS resources - there's no sign of that. And of course you can always run old versions of windows, sandboxed. In fact, that's pretty much the only way I run Windows these days, snuggled inside Parallels, networking turned off, happily inside an OSX window.
We're not going to make any changes for Vista; that's not to say that it won't work there. If Vista gets weird to the point where WinImages won't work, so will most everything else. We hardly use any system calls at all compared to most applications, the ones we do use are really basic (memory allocation... dialogs... widgets... windows.... menus... mouse... fread / fwrite / fopen / fclose) and the only DLLs we really depend upon are MS's own Visual Studio DLLs that define the system interface (which again, aren't about to go away) and DLLs that we supply that are entirely under our own control. Having said all that, we've done absolutely zero testing in/for Vista on the one hand, and on the other, we've had zero problem reports for Vista, and it's been quite some time now. So I think it's pretty safe to say that for the same reasons WinImages worked without changes through 98, NT, Me, 2000, and XP... it'll work with Vista, too. But no - I won't promise that, and we aren't advertising that. I keep meaning to run downtown and pester the local computer guy who has Vista running and run a basic test install, but you know, I really don't care that much. Vista is like XP; it is DRM'd out of the box with "activation" and I just think it isn't worthy of support.
Our Amiga customers were left with fully functional programs that worked 100% on the very latest OS Commodore shipped with the machines; we ran on every one from the lowliest 500 or A1000 to the last gasp towers. The Amiga market then completely lost coherence with CBM's demise, and has only gotten worse to this day. Nothing we can do about it. Windows is another ball of wax entirely. Activation DRM is everyone's concern, and as things stand today, we're not encouraging anyone to buy Vista because it is no better than XP in that regard.
I can't answer that. I don't like to make promises we may not be able to keep. A couple of things, though; it isn't a port. It's a 64-bit app, brand new from the ground up, including new UI ideas. WinImages is the source for the technology, sure enough, but no code is being moved. So it'll be a while. You'll have lots of time to get used to Leopard, of that I can assure you. Once it is done and we're comfortable with the stability, we'll consider porting back to Windows. But that isn't a promise that we will do so. Right now, Windows kind of sucks. Microsoft has some things to do yet if we are to continue supporting new versions of the platform. And my feeling is that Microsoft doesn't really give a flying fig. However, my impression is also that most of he world doesn't give a flying fig about Vista, for a wonder.
I've fallen off your lawn, and I can't get up.
If you're trying to do anything that doesn't have a GUI tool on both these OS's, you still need the command line. 2 concrete examples:
FWIW, I think the point he was making is that you are far more likely to have to "resort" to the CL in Linux than you are in windows, much like you're far more likely to have to "resort" to editing config files in Linux than you are in Windows. Sure, some tasks in windows are going to be better achieved using the command line, but in linux I have to use the command line, and edit a config file, to get my laptops TV out working. Most users never want to put Safari in debug mode, but they might well want to hook their laptop up to the TV for big screen WOW.
Now the reason I put resort in quotation marks is that I like using the command line (for some tasks), so thats not a show stopper for me, but it is for a lot of people.
"I realise this is not a very popular opinion but it's the truth, and there for needs to be said" -Bill Hicks
>> What commercial coding adds is discipline.
> Where in the world have you worked?
Commercial coding adds a "need to ship now" discipline that doesn't necessarily lead to good code. I doubt that Donald Knuth was driven by commercial pressures when developing TeX and Metafont. In many cases, good code is a result of the right person becoming interested in the right problem set.
It seems to me that the Open Source movement is driven in part by "commercial pressure" (programs people use are intrinsically more interesting than programs people don't use) but also things like "sexiness" (e.g. 3d animation tools or games are sexier than, say, spreadsheets -- which is why we have far more open source 3d toolkits, libraries, etc. than spreadsheets) and some kind of Je ne sais quoi I'll call "charisma" (e.g. FireFox for various reasons was far more charismatic than Mozilla).
One of the "sexiest" things for computer programmers is writing their own computer language. This is why the Open Source community is blessed and plagued by so many languages. For a programmer, how "fundamental" what you're doing is to the world of computers is a badge of honor, which is why designing languages and operating systems is cooler than writing compilers and editors is cooler than writing word processors and spreadsheets. It's also why anyone coding in an interpreted language secretly or not so secretly feels inferior to folks using compiled languages.
These are all natural phenomena. I think that the only solution would be for a bunch of very smart and egotistical people to swallow their own pride and decide, say, not to fork their own Python variant and instead just help make Python better.
May be I don't understand pleasure of Shell programming, AWK and command line? Instead of being content in Microsoft's walled garden, check out a Linux distro and see what it's like. It will be like going from AOL to a real ISP. Here's a good link to get you started on Debian. Save such advices displaying only your Linux inferiority complex for your children.
I personally prefer the command line and/or editing a .conf file for some tasks too (It sure beats navigating huge preference dialogs. Imagine how a preference dialog for Apache would look like if it were to include all possible options Apache has).
...) won't need the command line on any of those OS's, while the advanced user will have to resort to using the command line/editing .conf files/editing the registry once in a while. (Yes, I count the Windows registry as a huge .conf file, as that's what it basicly is, except that there's no comments with an explanation for *any* of the options).
But the average user (browses the web, checks e-mail, gets pictures off his camera,
I think you hit the nail on the head there.
Although, I will say this - Linux does a lot without being told, depending on the distro (Gentoo is the only distro I've tried that does less without being told than FreeBSD), but the distros that do a lot without being told, don't always do the *right things* without being told, is another problem.
34486853790
Connection too slow for X forwarding? Try "ssh -CX user@host"
But the average user (browses the web, checks e-mail, gets pictures off his camera, ...) won't need the command line on any of those OS's, while the advanced user will have to resort to using the command line/editing .conf files/editing the registry once in a while.
Funny you should say that, because I just installed Ubuntu 7.04 on this laptop, and I had to use the command line to get the wireless card working so I could browse the web and check e-mails.
If I want to add another hard drive to my desktop, or set a network share to be mounted at boot, then I'm going to have to edit a config file. That's fine by me, I like the command line, but the point is that if I liked GUIs instead, then I would still be forced to use the command line.
I've used both Linux and Windows for years, and despite the leaps and bounds Linux has made over the last three or four years, you still find yourself on the command line or editing a conf file far more often in Linux.
Oh yeah, just for the record, in all the years I've been using windows, developing for windows, supporting windows, I have never, ever, edited the registry, or any other config file.
"I realise this is not a very popular opinion but it's the truth, and there for needs to be said" -Bill Hicks
System power and capacity (speed and amount of memory available and required)
Connectivity (type and speed required)
User interface (type and resolution required)
Small applications could be embedded. Larger ones could be hosted on a microprocessor. Huge ones would end up on mainframes or super-minis.
After a certain level of complexity, applications broke the 640K limit and ended up in alternative operating systems such as Unix. Having to make platform decisions such as BSD/SYSV and OpenLook/X were serious committments. The fragmentation of the Unix community made it difficult to specify a particular vendor and platform because of unknow lock-in implications.
I do remember at that time we wished for a standard platform for general development with plenty of headroom and versatility. GNU compiler tools were not quite there yet and vendor language tools were expensive and often a lock-in. Unix was ominous, and NetWare was unstable/touchy. The Mac and Windows 3.0 had memory management difficulties.
When Windows 3.1 in enhanced mode arrived, memory management became easier. People writing non-trivial Apps used Windows if only for the memory model and later to use the GUI. There was a time I used to own a variety of compilers for the Dos//Windows platform and would use whatever was best for any particular application. With the advent of Microsoft Foundation Classes (MFC), the vendor lock-in (Microsoft) began because the MSC usually came with their latest MFC version and competitive compilers usually had down level versions of the MFC. This was the beginning of the end in my mind. Visual Basic only made things worse.
Hard core applications such as Autocad were ported to "workstation" class machines and vendors bit the bullet when it came to porting costs.
In my mind, the arrival of the code wizards that would generate 28000 lines of code in a few seconds only made things worse.
To all the ACs.
Homophone based mis-spellings are common.
This one's pretty funny, but I'm not an idiot, just sloppy.
You sound like you're about to have a fit over it.
Now you tell me THAT is not pathetic.
Linux is not an OS. Neither are any of the variations on Windows. The reason that I say this is that in neither case does the so called "OS" run the application. The application calls the required code in the os kernel when it wants to use it. The distinction may be subtle but is important nonetheless. Getting back to the original point, which is why hasn't Linux taken off? Apart from the obvious point of its lack of intuitiveness there is the apparently less obvious point of its price. Being free makes it worthless in the eyes of most software buyers. I am stunned that it has done so well. A measurable share of the OS market is far more than it should be entitled to hope for. I am not a big fan of windows but I like linux/unix even less.