Original Web site: http://www.blogwind.com/Wuvist/comment.aspx? Article _id = 6984
A few days ago, I accidentally saw such a fierce article. I haven't seen such a long article in English for a long time. I was so eager to translate it into Chinese.
This is only the first half, and the second half is still being translated.
Http://www.joelonsoftware.com/articles/APIWar.html
How Microsoft lost the battle for API
By Joel Spolsky
Sunday, June 13,200 4
You should have heard of this saying: "Microsoft is finished! Once Linux successfully captures the share of the desktop operating system, and the network application software replaces the desktop application software, the entire huge Microsoft empire will crash"
In a sense
It is indeed a huge threat to Microsoft, but it is too early to predict that this will bring the end of Microsoft. Microsoft not only has huge cash deposits, but also maintains stable profitability. It takes a long time to make it possible.
Decline. Even if Microsoft has made serious mistakes over the next ten years, you cannot guarantee that it will not take the last mile to win back the market. So don't say that Microsoft is finished. In early 1990s
Some people think that IBM will be a complete failure, because the mainframe has become history! Robert X.
Cringely once said that the mainframe era will end in the millennium, because all mainframe applications developed using COBOL will expire due to the millennium bug and these applications
Software source code has long been lost, and people can only re-develop these applications on the CS architecture.
But what is the truth? We are still using the mainframe. What is the problem caused by the millennium insects. In addition, IBM has successfully transformed itself into a successful technology consulting company, which is making cheap plastic phones. Therefore, it is a serious exaggeration to assert from limited data sources that Microsoft's last day is.
In any case, there is another less obvious phenomenon that most people ignore. That is, Microsoft has lost its eye pearl-Windows
API. Microsoft's monopoly position and the soft profit of the Windows/office series not only represent all of Microsoft's benefits, but also cover up a large amount of losses or barely return to the product line.
Windows APIs are no longer a developer's interest. This egg is not completely dead, but it is also suffering from an incurable disease, and no one has noticed this disease.
Here, please allow me to apologize for the exaggerated words in the previous paragraphs. I thought, I was getting started with endless discussions about windows in business magazines.
The editors of API Microsoft's strategic assets are similar. I would like to spend a few pages explaining what I really want to express and justify it. Therefore, please do not explain any previous conclusions. This will be an article
A long article. I need to explain windows
What is an API? I need to explain how it is lost and the long-term significance behind it. Also, because I am discussing long-term trends, I need to use exaggerated and highly generalized languages.
Developers, developers
Also
Do you remember the operating system definition? It is the thing that manages the resources of a computer and enables applications to run. In fact, people do not care much about the operating system.
Application Software. Such as word processing software, instant chat software, email, personal finance, websites with photos of Hilton Paris, etc. Only the operating system itself is of little use. People buy
As a system to use a variety of powerful application software that can run on it. Therefore, the operating system that supports the most suitable application software is the best operating system.
In my above words, I want to launch such a logic conclusion: If you want your operating system to sell well, the most important thing you need to do is to attract developers to develop software on your operating system. This is Steve Bauer.
Mo jumped to the podium and shouted, "developers, developers,
Developer !" This is so important for Microsoft that it has become the only reason why it is not completely "open" Windows development tools. Because Microsoft does not want to inadvertently cause other development tool providers
Damage. There are a variety of different windows development tools that will make developers more interested in the Windows platform. However, Microsoft also "really wants" to open its development tools. Through Microsoft's
"Empower
IsV program ", developers can spend $375 to buy five complete msdn cosmic versions (in other words:" basically all Microsoft products except aircraft simulators ."). Net support language commands
The row compiler is bundled in the free. Net runtime. The C ++ compiler is also free of charge. All the things that encourage developers to use the. NET platform for development, in a sense, put Borland
Such companies drive out of the market.
Why can't apple and shengyang sell computers?
Ah
Oh, of course, this title is a bit silly. Apple and shengyang certainly can sell computers, but they are not the two most lucrative computer markets: Enterprises and home computers. Apple can still only occupy a single-digit market
Only shengyang talents use shengyang's desktop computer (please understand that I am talking about general trends. When I say "no one, I actually mean "fewer than 1 million people", and so on .)
Why? Because apple and shengyang computers cannot run Windows applications, or when they can run, they must use expensive and less-running Virtual modes. Remember, people buy computers for the applications they can run! Mac is not used because Windows has many more desktop applications than Mac.
Therefore, Windows API is a very important asset of Microsoft.
(I understand, I understand that at this moment, 2.3% of the people in the world are using the Macintosh computer, and you can't wait to send me an email indicating that they love the Apple Computer! I again stated that I am talking about the macro trend, so you should not waste time. I understand that you love your Mac. I understand that Mac can run allYouRequired. I love you too, but you only account for 2.3% of the world. Therefore, this article has nothing to do with you .)
Two forces in Microsoft
There are two opposite forces in Microsoft. I will call them Chen Rebang AND THE msdn magazine bang at will ).
Raymond Chen is a member of Microsoft's Windows development team. He joined the team since 1992, and his blog: Old New things are full of technical details about some things in windows; some seem silly, there may be good reasons.
The most interesting part of Raymond Chen's blog is the story of the hard work of the Windows development team to support backward compatibility:
Let's look at things from the user's perspective. You bought three programs, A, and B, and then you upgraded them to Windows.
XP. Your computer crashes randomly, and program C cannot run at all. You must say, "Never upgrade to Windows.
XP, which crashes at any time and is not compatible with program c ". That's all. You won't debug the system, and are sure it's program a that causes system instability, and program C cannot run because it uses no public
Windows interface. Therefore, you will choose
XP is returned to the retailer. (You bought three programs a few months ago, so you cannot return them. Windows XP is the only one you can return .)
I first heard such a thing from a popular game, a developer in a simulated city. He said the simulated City has a fatal BUG: it immediately re-uses the memory after the memory is released. In the DOS Ring
Fortunately, this is not a problem. However, in windows, the memory released by a program may be immediately acquired and used by another program.
Allowed. Windows
The developers of the release team tested several popular applications and completed them, but the simulated city still encountered problems. They reflected the problem to developers. The latter thoroughly studied the simulation program,
Locate the root cause of the problem and add special code to check whether the simulated city is running. If yes, run the Memory Manager in special mode. In this mode, the program can use the released memory.
This is not a rare thing. The Windows testing team is huge, and their most important responsibility is to ensure that everyone can smoothly upgrade their operating systems, no matter what applications they install
Using software, whether or not these applications use undisclosed old system interfaces or rely on problematic system resources. In fact, if you check the software compatibility section in the Windows registry
There is a long list of software specially processed. The new version of Windows will simulate some bugs in the old system so that these software can operate normally. Raymond Chen wrote: "I blame people
When Microsoft upgraded its operating system, it was particularly annoyed that it was maliciously incompatible with some applications. If a software cannot be installed on Windows
If it runs under 95, it is the failure of the software. To fix vulnerabilities in these third-party software, I have spent countless sleepless nights running them on Windows 95 ."
Also
Many developers and engineers do not agree with this method. If a software adopts an unconventional operation mode or relies on some undisclosed system features, it should not be handled during system upgrade.
Renew them. Developers of Apple's Macintosh operating system have always stood in this position. This is why there are few software on Apple computers that can run on the new OS. For example, many developers
Instead of calling these pointers normally through system interruptions, we get used to directly copying and redirecting from the External table to the jump table and calling them directly. Apple's official programming bible inside
The Macintosh also states that the program should not do this. However, this is what people do, and the program can run correctly and faster. Until the new version of the Apple operating system is released
These programs are completely unable to run. If software companies develop commercial applications in this way, I can only wish them good luck.
In contrast, some dos applications I wrote in 1983 still work normally in Microsoft's new operating system. I have to thank Raymond Chan. Of course I know, it's not just Raymond Chan's work.
There are many others behind it. However, only Raymond Chen posted these details in his niux's "Old New stuff", and I called this camp Chen leibang by his name.
Chen leibang is one of them. I call the other camp the msdn magazine gang. Because msdn magazine is always filled with exciting articles describing new technologies. For example, COM +, MSMQ, MSDE, and
Various controls such as office and IE, MSXML, DirectX (I am referring to the latest version), and Windows Media
Player, Sharepoint... Right! Invalid poiont! Some people say this is a super gorgeous development framework, but if you use it to develop commercial application software
Always go out. One such problem is DLL hell. Something can run on the local machine: Why can't it work elsewhere?
Chen leibang believes that if developers only need to develop a program once to run the program on all occasions, it will bring the greatest convenience to developers (well, all occasions refer to all Windows platforms.
.). The magazine help believes that providing a new and powerful secondary development platform is convenient for developers, if developers can endure the great pain of converting the development platform. Chen leibang is a stable school. Things
It is enough trouble. We can ensure that the existing programs can be maintained. The magazine gang is a reform school who repeatedly advocates a technological revolution that no one can catch up.
This is the problem.
Microsoft has lost its belief in backward compatibility.
Inside Microsoft, the reform school magazine helped win the war.
Their first trophy is that VB. NET is not backward compatible with VB 6.0. This is the first incompatible upgrade product in my memory. After I upgraded to VB. NET, my original VB 6.0 code could not be perfectly imported into the new product. This is the first time Microsoft has despised the user groups of old products.
Outside of Microsoft, Tian does not seem to have collapsed. Although the VB6 developers opposed this, they gradually disappeared. Because most of them are internal enterprise developers and they have moved to web development. Long-term injuries are temporarily hidden.
After the victory of VB, the magazine has mastered the dominance. Suddenly, technological changes became acceptable. IIS
6.0 The New thread model said goodbye to the old application. When I find that Windows Server
2003 of users are shocked when they encounter problems when using fogbugz. Also,. net
1.1 is not fully compatible with 1.0. Now everything is clear. The Development Team of the Microsoft operating system is affected by the help of magazines.
The API performs repair enhancement and they chose to completely replace it with new things. The Win32 platform is already in history. Developers now need to consider the winfx platform-a brand new one.
Windows
API. Everything has changed. Now it is based on the. NET, XAML, and aveon codes that can be managed. Yes, these things are much more powerful than Win32, I admit it. However
It is not an upgrade, but a revolution that abandons the past.
Third-party developers have long been tired of Microsoft
The complex development process on the Windows platform is gradually transferred to the Web. Paul, who runs Yahoo store in the Early. com economic bubble
Graham once said brilliantly: "At present, start companies should consider developing web-based software, because developing desktop applications has become boring. Because your desktop application must be based on Microsoft
Provides APIs and deals with their bug-filled operating systems. Moreover, if you write something useful, you will find that you are only doing market research for Microsoft ."
Microsoft has become too large, with too many developers, and they are used to the benefits of technological upgrades. They suddenly think that it is not a big deal to bring everything back. Development
Yes. If the old Microsoft, I mean the Microsoft with the help of Chen leibang, is also providing something like aveon, this "avron" will be a series
DLL files running on the platform, and applications can bind them together. Technically, Microsoft can achieve this. However, Microsoft must provide
(Longhorn. In addition, Microsoft is trying a far-reaching technological revolution similar to replacing dos with windows. The problem is that
Windows
XP does not have much advantage; Windows does not have much advantage over dos. Angular does not seem to be able to lure people into buying new computers and installing them, as if windows persuaded people to buy new computers.
Computer. Well, maybe changjiao can convince people that Microsoft needs to do this. However, so far, all of these seem less convincing. Microsoft has made too many mistakes. For example
That is, winfs. According to Microsoft's publicity, winfs implements file search by making the file system the same as that of relational databases. They ignore the search principle. No
Ask me to enter keywords for all files on my hard disk, and then ask me to search for them using the query language. Please, all I need is to quickly search for the hard drive I killed that day when I input a string.
All you need is full-text indexing and other technologies invented in 1973.