I don’t mean corollary things like, “there are fewer programs written for Linux”. Someone could write every program on windows for Linux…or could you!? That’s what I want to know.
I can’t think of any theoretical Windows program that couldn’t be re-written to run on Linux; everything that Windows does internally can be replicated given enough effort.
A major advantage is that Windows has got a single, consistent graphical user interface, whereas Linux has multiple competing graphics environments, which aren’t always internally consistent. All of them run over X11, which is somewhat antiquated and a general pain in the ass.
Marketing. There are no technological limitations inherent in Linux (in fact, I’d say there are many advantages to building on a Unix core [see Mac OS X]), but no Linux vendor can come close to the marketing force of Microsoft.
Linux distributions would need to gain quite a bit more market share before developers start seriously considering either porting or moving their Windows software products to a Linux-based platform. Right now, for a lot of devlopers, it doesn’t make sense to do so.
Another advantage Windows has (this might fall under “marketing” again) is bundling. Though computer systems do exist that come with a pre-installed Linux OS, they’re a small fraction compared to the number of pre-installed Windows systems sold.
I agree with you here, but it’s a problem of too many choices. Within a single desktop environment (GNOME, KDE, etc.), the look-‘n’-feel is fairly consistent. When you start to mix and match, or use a program that uses a GUI toolkit the desktop environment can’t force to “blend in”, you run into a lot of interface inconsistencies. And while it’s true that Windows programs generally look the same, I can think of exceptions there too.
X11 also suffers from having too many features, which can make it difficult to deal with. But it works, and has some really nice features (network transparency, for one), which is why it’s stuck around for so long.
Does Linux have a 3D graphical library on par with DirectX? I know that Linux video card drivers aren’t very good(but that’s not a technical limitation of the kernel; there are patent and copyright issues here). That would make it difficult to port high-end games to Linux.
X11 (most implementations, at least) supports OpenGL, either via software emulation (like Mesa) or through the graphics adapter driver for supported cards. And graphics hardware drivers aren’t completely terrible. Both ATI and Nvidia supply Linux drivers that work “okay”, depending on whether you’re trying to use them on supported Linux distributions.
OpenGL has been around for quite a while, and while it’s probably not as easy to write for as DirectX, it is in wide use among scientific/technical software developers. It’s also not the only full-featured 3D graphics library, but is probably the most well-known.
I saw screenshots of Linux systems a few years ago that were running desktops that look suspiciously similar to what Vista has with it’s aero interface. :dubious:
Also, according to a lot of the articles I’ve read over the years most of the computers that do CGI for places like LucasFilm are all running Linux.
IMHO, what Linux needs to gain real traction is for one of the following things to happen: Somebody comes up with the “killer app” for it that won’t run under Windows for some reason (say DRM issues or similar), Microsoft to really screw things up with the OS (which may have happened with Vista, according to some sources), somebody with real leverage, like say, Google, Wal-Mart, or Dell, to suddenly decide to throw their weight behind Linux. Something like that is starting to happen in Europe with various municipal and national governments ditching Windows in favor of Linux. If any of those things happen and you can expect Linux to have a significant share of the market place. Certainly that’s the goal of the folks behind the Ubuntu distro.
Oh, one other thing, now that I think about it. The “One Laptop Per Child” project needs to take off. All those laptops will be running Linux, and thus a significant portion of the world’s population will be more familiar with Linux than Windows and hence likely to stick with it when they grow up.
National governments? Really?
Yeah. AFAIK, none of them have completely switched over to Linux, but large portions of them are running Linux. The NSA’s got one of their main systems running Linux, and IIRC, many of the US Navy’s critical systems are Linux based. There’s also several European governments that are planning on making the switchover. In the various Linux mags, there’s always a section detailing who’s adopting Linux and, as you can imagine, they just love pointing out when large government bodies dump Windows or whatever to run Linux.
CGI is one thing. I was wondering about games.
Well, various versions of Doom have been ported to Linux (there’s even a Linux variant that can allow you to play Doom on your iPod), and given that oodles of games out there use the Doom engine, I don’t see what the problem would be.
Microsoft knows how to market Windows better and knows how to give customers what they want. Users don’t want an operating system to be packaged with five different text editors (for instance). That’s just idiotic. They’d like a single text editor that does the job and fits in with the rest of the system (i.e. no custom GUIs, no stupid keyboard shortcuts that only work in the editor and nowhere else on the system).
For game developers, MS has DirectX, a single API that handles everything from mouse input to 3D sound and 3D graphics. Whilst separate APIs exist for all of these on Linux, you need to learn them all individually, as opposed to a single API for Windows that has consistent naming conventions across the board. MS also offers masses of documentation for developers, not just for game developers, that just isn’t really there on Linux. What is the Linux world’s equivalent of MSDN, for instance?
Similarly, there’s no office software on Linux that really can compete with MS Office at the moment. LaTeX is brilliant if you’re technically inclined, but Open Office isn’t in the same universe as MS Office.
I agree, but I can think of at least three text editors that come as standard with Windows…
As far as the OP is concerned: Yes. In fact, there is a project called WINE (stands for WINE Is Not an Emulator) which aims at recreating the Windows API on non-Windows x86 OSes. That way, Windows applications will run under those OSes as well. It works well enough I can play Solitaire under Linux. I suppose that answers your question.
Three? I can think of two: Notepad and Edit. Wordpad is a word processor, which isn’t the same as a text editor in either intent or functionality. It’s like confusing a minivan for a Willy’s Jeep (you know, Patton’s Jeep, as opposed to a soccer mom’s Jeep). That is one of the big things that first attracted me to Linux lo these many years ago: Linux gives you tools and documentation, as opposed to eye candy and Clippy.
This exists. In fact, both KDE and Gnome have their own ‘default text editors’ which fully meet this standard. You have to explicitly look for anything else.
Sourceforge and the O’Reilly books. Oh, and electronic documentation that is actually useful.
Do you have any reason for saying this?
I regularly run a ‘window manager’ that completely lacks the concept of windows.
It’s also the only thing that does everything it does: It’s a network-transparent layer over damn near everything that can shove pixels to a screen, and it has no wired-in philosophy of what should or should not be allowed. Replacing X with something more ‘conventional’ (that is, a brain-damaged clone likely invented over a decade later) would ruin a lot of real programs and hurt real businesses. Besides, nobody (that is, only a very few) programs to raw xlib: Everybody chooses a high-level library. It would be nice if one or the other of them gained a commanding presence (Qt, most likely), but it largely isn’t a problem in my experience. Then again, I’m not a user interface zealot.
Surely you’ve got to be kidding!
Explicitly look? Fedora Core 5 comes with about five editors. You don’t have to explicitly look for anything.
Er yeah. OO.org documents look like shit. Its dictionary is shit. Its unstable and liable to corrupting files (IME). If your time is worth nothing and you want to produce ugly documents, use OO.org, otherwise, do yourself a favour and ignore it.
I think it would be too kind to call it a word processor; it’s really a text editor that just happens to know a little about formatting. Besides, try to open a big text file in notepad and Windows asks you if you want to try wordpad instead - so I think it qualifies as a text editor in intent.
I think there’s another command-line text editing method too - one that was more of a line editor, but I can’t remember what it was.
Windows wins for supported drivers - buy a device, it will come with Windows drivers. The downside is that there is now less documentation for the hardware, and more of the processing for the device is passed back to the CPU in a proprietary binary object (making it hard to write open source drivers for Linux).
Linux wins for breadth of drivers and legacy driver support - if a device was documented and used, there is probably a Linux driver for it in the kernel. You can run modern Linux on gear that is old and obscure, because someone cares enough to maintain drivers (and people compete to get Linux on the most obscure device possible).
Linux is more flexible - Windows gives you a single vision of how stuff should be, and if you don’t like it, you cannot do much about it.
Linux, on the other hand, is completely configurable if you take the time to understand what is going on underneath. And Linux keeps getting better, with better frameworks (like DBUS and HAL) that provide the ability to customize your system.
Network Management - Windows has AD - a unified system for managing Users and Systems and Organizations across a network. You can delegate tasks, supply right and distribute data and applications across the world. And it works.
Linux has a bunch of ad-hoc tools that do not (yet) provide the large-scale management of big networks.
Finally - security. Windows has a finegrained ACL based security system (covering files, devices, registry) capable of management via network wide policy. It is very flexible and capable, but feels clunky and does not (easily) support privilege escalation/de-escalation.
Linux has a simple file permissions scheme, and has only recently developed a policy-based rights restriction system (SELinux) that is complex, powerful, and gets turned off an awful lot because it makes things too hard, and no-one knows how to use it. Windows wins here.
Si
I think it all comes down to this: it is not what Linux can or can’t do, it is what people have done with it. Programs for Win come with installers; I have not figured out where and how to install programs for Linux. When I do try to install a program, I keep tripping over permissions, which I never understood. I do most of my work (which is largely using a text editor and using latex) from a command line and there is no text editor for Linux that is really like the one I use under Windows (which in various incarnations I have been using since 1984). There are people who swear by emacs or vi, but 23 years of use have left me a prisoner of the one I use. As far as I know there is nothing like 4NT for navigating directories in Linux. All these things could be done in Linux, but they haven’t been. I have tried a Windows emulator in Linux, but it never worked in a completely satisfactory way.
You need to find a better distribution: yum (for rpm based systems) and apt for Debian based systems are really easy.
for source based stuff
./configure
make
make install
usually works.
From the command line your choices may be limited, but you may find that someone has created a set of Emacs Macros to give you your favourite keystrokes.
I’ve never used 4NT so I can’t comment
Windows emulation is making great strides, but I take your point. Mostly it is motivation (of the developers), and many of them would rather make something new than replicate something existing.
Si
The game industry doesn’t write programs for Linux, so Windows does games better. The largest number of users out there are not able to understand using Linux. I saw the same deal with Windows computers though, until they got to something like 98SE. Windows does common user interface better. All are broad generalities, because though Windows has multiple versions, it doesn’t have the huge number of installation packages and variations out there.