Something relates to Computer Science and Technology, something relates to China and something I am not sure!
Tuesday, November 3, 2009
Some my understanding of the research on Linux and Windows
1. the difference of usability between operating system
As Linux is under GNU license, everyone can distribute him or her own Linux version. So the hole Linux industry and academic community are separated. This situation looks like the conflicts between Democracy and Capitalism. Democracy provides more freedom to people, but Capitalism has higher efficiency. For example, Microsoft provides a total solution for software distribution, including compiler, packaging and managing tools. In the other side, Redhat/Fedora Linux use "yum" and "rpm" as their default software installing and managing format, but Ubuntu and Debian Linux use "apt" and "dib" to do the same thing. Furthermore, those two groups of users do not want to merge to a unique format on Linux, as they are all too confident on their own techniques to accept the others`. This problem also can be seen in user-interface design. KDE, GENOME and xface are all try to keep some characteristics and attract/keep their users. By doing this, the isolation even increase.
The result of such community isolation is that it is impossible to provide an universal easy-to-use system as there are so many specification and modification you need to make. For hardware and software providers, updating and maintain their products on all distributions would be very expensive. Furthermore, as the softwares, even the operating system itself, are developed by a huge number of companies, communities and individuals, so it is impossible to keep all of them in one style. For example, Mplayer may have a dependency on mmx.so.6, but Xine may depend on MMX.so.5. If the user do not have the capability to read error information and install them properly, it is very likely that the user cannot use the software they want and finally give up to use.
2. the documentations of WPF/D3D and G3D/OpenGL
As WPF, D3D, Blend are all products and Microsoft wants to sell them to the developers, so Microsoft hire a lot of programmers, scientists and engineers to enrich the documentation and code examples. We can search the definition of every function and class of WPF from MSDN.com. In addition, it is easier to get source code and examples, as there are a lot of developers, may be hired by the company, maintain blogs, which show a lot of code segments to help new user to start up. This is also true for Matlab. However, as most packages we used on Linux are opensource or free, the developers do not have enough strength to maintain a documentation as good as those companies. For example, when I use G3D to draw characters on the screen, the documentation, which is supposed to be 500 pages, provides no information about how to use Gfout. The next thing I do is sending help request to the developer`s forms. They answered my question nearly 20hours later. During that time, I solve the problem by reading the source code.
3. tools on Linux and Windows
This topic is very familiar with the topics we talk above. On Windows, Microsoft provides a very long, unified, optimized product line.