What makes Linux different from Windows ? Where to start ...
Windows is an operating system. Linux is the kernel of an operating system, GNU/Linux (which is probably what you mean by Linux) is a complete operating system that uses Linux as its kernel.
The kernel of an operating system is responsible for doing all the dirty work. Except for the BIOS and the boot loader (which selects and/or loads an operating system kernel), it's the first thing that's loaded into your computer when it boots. It manages all the various devices your computer has, such as hard disks, sound and graphics cards, RAM, and so on, and it also takes care of some nifty extra stuff like virtual memory and multitasking (running several programs at once). The Windows kernel does things one way, the Linux kernel may do things another way. Which way is best has been the subject of endless discussions. Personally I think that Linux feels more stable, and I can run more things at once than in Windows. Some also say that DROD run better in Linux than in Windows, take that as you will
. In any case, both kernels improve all the time.
The distinction between the kernel and the rest of the operating system is important. In the case of Windows (and some others, like FreeBSD and Mac OS X), the two are strongly intertwined -- you don't usually use one without the other -- but in the case of Linux, there's a
lot of different operating systems (called distributions, or distros) that all use Linux as their kernel.
Distrowatch.com currently lists 336 different
active Linux distros, and that's just the known ones. The non-kernel part of the operating system is responsible for making things work, such that you can log in, run programs, have a graphical user interface if you want one, and so on. Most of the Linux distros are similar, but some do things very differently. The vast majority (but not all) are Unix style, as Linux is a Unix-style kernel.
One difference that you as a user will probably notice is that the graphical user interface (GUI) is not part of the core system in Linux. The OS works perfectly without it, and as long as you don't require graphics, there's nothing you can do with the GUI that you can't do without it. The command-line interface in Linux (the shell), usually bash (Bourne Again SHell), is
vastly superior to the DOS/Windows one, to the extent that you can't really compare the two (there's not any discussion about this one). In fact, many things are easier to do in text-mode, such as sending the output from one program as input to another program, which outputs to the input of yet another program, and so on. This is another difference; in Windows, you usually have one monolithic program to do exactly what you want, and not much else, while in Linux (and other Unices) you have a large amount of smaller programs that each specialize in doing a small part of the job, which you can plug together in a large variety of ways to do exactly what you want.
Of course, as a desktop user you're probably more interested in having a graphical user interface. Most desktop distros include some variant of
X, the X Windows System -- usually XFree86 or Xorg (Xorg is more common these days, and have some more features). X takes care of setting up the display, input devices and such, and is responsible for doing all the drawing (hardware accelerated if possible), but it doesn't actually do much by itself. To get a desktop environment like you're used to in Windows, you want a Window Manager. There's a huge amount of window managers available, all the way from complete desktop environments with extreme amounts of eye-candy and lots of extra fluff, to minimalistic window managers that simply allow you to open windows, and nothing else. Most window managers and desktop environments support theming and are very configurable, so you can alter their look and feel and make things behave exactly the way you want. The most common desktop environments are KDE and Gnome. These give you a large amount of features, including everything you're used to from Windows and more (although some things works differently than you're used to). KDE is closer to Windows than Gnome, so you probably want to try that first. KDE is both a window manager and a desktop environment, while Gnome separates the window manager from the desktop environment, although it does come with a default wm.
One problem with Linux is that since there's so many various distros, there's many different ways to do things, so you may run into compatibility problems now and then. This has improved thanks to standards like the filesystem hierarchy and freedesktop.org, but it's still valid. Also, there's no standard GUI look, and there's many different user interface libraries that each may behave in different ways, so the desktop may not always be such a unified experience as you're used to from Windows and Mac OS X.
Another problem is that some hardware is Windows-only. This is also less of a problem these days, but you should be aware of it. There's also less commercial games (although there is a ridiculous amount of half-finished open source ones).
There's much more to be said, but I think this post is large enough by now and you're probably tired of reading it
. Linux isn't perfect for everyone, but many people seem to like it. The best way to see if it's something you could enjoy is probably to just try it yourself. You don't have to partition your hard drive, just head on over to the
Knoppix site and download a LiveCD that you can burn to a CDR, pop in your CD-drive, and reboot into Linux without having to install anything. It'll even autodetect all your hardware, so you'll get right to the desktop without having to do anything except waiting for the CD to load.
Hope this helps, and good luck
- Gerry