All Things Microsoft > Microsoft Software

Muzzy, why does Windows rule?

(1/26) > >>

Aloone_Jonez:

--- Quote ---
You might want to start it in another thread, because I am curious what Windows has that Linux does not.
--- End quote ---


Well the only good thing about Windows is most hadware and software is designed for Windows.

muzzy:
Oh my. I was afraid of starting this thread myself because no matter how you put it, such a thread on these forums would smell too much of a troll. Anyway, now that the thread is here I might just as well answer.

You say that most hardware and software is designed for windows, and that's indeed a good thing. However, there is a reason to this other than windows merely being so popular. Windows is a good platform. The fact that so much software is made for windows is because so many developers use windows. There are many reasons for developers choosing the platform, but technical issues are among them. The ease of doing things, everything the platform provides, and the mechanisms it offers.

Some of the strong points are Asynchronous I/O design for server apps, DirectX for multimedia abstraction, audio compression manager, COM objects and how they can be used by third parties, heck even the Clipboard. Lately, the .NET is becoming another strong point, but that's more interesting one because it's only loosely tied to windows. Anyone is free to implement the whole system which is standardized and documented. Since windows is providing so many standard apis, application development is straightforward and sane.

Windows also has a strong UI system, and mechanisms to seamlessly integrate and interoperate with it. Clipboard, Drag&Drop, Common Controls, the whole window class mechanism for widget management, etc. On *nix platforms, the X11 natively only supports bitmaps and primitives, no widgets whatsoever. As a result, all applications use whatever libraries they want to, and results tend to look different based on what libraries were used.

Since the *nix systems doesn't provide common apis for many important highlevel operations, they tend to end up with multiple different libraries implementing the same things, in different ways, at different levels of conformance to standards. For example, see all the XML libraries out there. For windows, there's MSXML and anyone's free to use it. Ofcourse, nobody's forced to use it, but if someone got the idea of selling an xml library I'm sure we'd have another fight about integration and competition killing practices.

Having all the apis available is what makes the platform nice for developers. See PHP for an example. PHP was already damned popular even before anyone had bothered to write any kind of language specification. All development was rather empirical, with "let's see if this works now" attitude. Yet, developers loved it, because things were so easy and straightforward. With all the libraries bound to the language, everyone could use all those things without hassle. Having to install libraries and especially having to deal with redistributing libraries to users of the software is quite quite troublesome. PHP is widely trusted because when the server supports PHP, you know your applications should work there unless they depend on something unusual. Same applies for windows. When you have a windows system, you know your applications are going to work. With a linux as an application platform, you only have the kernel and whatever libraries the language guarantees to exist. Anything else and the users have to install something new, which is a hassle.

Phew, that was a long post and only addressed some specific things. There are multitude of reasons why windows is such a great OS, and a lot of them have to do with specific tasks at hand. For a generic view, it's tough to point out things because there are always exception cases where another system is better, and people tend to think that finding such exceptions invalidate everything the generic points stand for.

Feel free to ask more specific questions for more specific answers.

Aloone_Jonez:
How about OLE?

Apart from applications suit like OpenOffice I've not  seen any evedance of any standard Linux OLE API or it's use in Linux programs.

Do you perfer FreeBSD to Windows NT / Linux as a server OS?

muzzy:
About server OS, I don't really have a preferences. NetBSD, Debian GNU/Linux and Solaris are all fine choices, depending on what I want to do with the server exactly. If it has to be a shell box, I'd probably go for Debian since the GNU userland is pretty much "standard" nowadays, people know how to use GNU tools.

About OLE, that's good too, as part of COM technology overall. Gnome is slowly beginning to gain similar functionality afaik, depending on CORBA for the actual work or so I've heard. The in-place editors and viewers that OLE can give you are indeed quite interesting stuff in the win32 land. Since the system has standardized menu system etc for applications, all OLE objects can interact with them too, to merge the activated object menus into the host application. It's a quite powerful UI concept indeed. Since COM is a binary standard, it's language neutral and you can implement the container objects in any language that can implement the COM binary interface.

COM is just a technology, and different applications define interfaces you can implement with COM. Then, these objects can be registered into the system to be used by any application. COM object types include DirectX image/audio filters, Widgets such as buttons and gauges, Application extensions such as toolbars and plugins, Embeddable objects (OLE) such as bitmaps and midi sequences and video clips, Utility objects such as winsock object and XML parser, and application objects to enable scripting of applications. Blah blah blah. No, I didn't copypaste that from anywhere, but I did "cheat" a little and used OLE/COM Object Viewer (ships with visual studio) to refresh my memory :)

Calum:

--- Quote from: muzzy ---
You say that most hardware and software is designed for windows, and that's indeed a good thing.
--- End quote ---

jeeesus fuck!


no.

you know what? i am not even going to go further than this. i'm not even going to read this thread, let alone respond.

any thread that starts with a line like this, really doesn't need or want my input, sadly.


"good thing" !

Navigation

[0] Message Index

[#] Next page

Go to full version