Subsequently, the MS-DOS operating system developed by Bill Gates completely copied CP/M and its API, and added some simple functions on the basis of these APIs. Pragmatic Bill Gates turned Kildal's invention into a huge commercial application, and immediately even though MS-DOS API occupied a dominant position in software development.
However, when Microsoft introduced the Windows operating system, the huge API family of the system did not copy the achievements of Kildall. However, it turns out that these Windows API created by Microsoft are really bad: the code is ugly, the structure is chaotic and so on. However, Windows adopted practical pseudo-multithreading technology and efficient memory management, especially the simple and easy-to-use graphical interface, which immediately captured the loyalty of ordinary users. A large number of programmers have also participated in the development of Windows programs, and these poor APIs are naturally indispensable. Microsoft spent more than five years improving and developing the early Windows, and finally monopolized the global desktop operating system market. None of us can live without Windows API today, unless you don't plan to write software that supports Windows!
From 65438 to 0988, Microsoft purchased Ruby, a visual programming language developed by Alan Cooper. Then Microsoft combined Ruby with the dying QuickBASIC language to create Visual Basic. Ruby in Alan Cooper has implemented a software API named VBX, which allows programmers to dynamically expand the functions of Visual Basic. This fact once again proves the importance of software interface. The VBX interface is also the predecessor of the current popular component object model COM.
In addition to the influence of Microsoft, the Unix world also invented its own API, which is TCP/IP. With it, the network can communicate freely. TCP/IP first became popular in universities. Then, in the 1990s, mark anderson launched the world's first web browser Mosaic, aimed at young people who are not programmers but want to benefit from using computers. Later, Netscape Navigator was born on this basis. It can be said that the invention of internet and browser finally brought us into the information age.
The earliest Navigator can do nothing more than find and display files, which is no different from Macintosh Finder or even Windows Explorer. However, due to TCP/IP API, Netscape can find and display files on other computers on other networks outside the computer. The new world suddenly opened.
Throughout the 1990s, Netscape spread all over the world like the flu virus. Up to now, with the efforts of general API, computers can communicate very conveniently, but almost no users will directly interact with these TCP/IP interfaces.
If there is no excellent API that conforms to the trend of the times, any advanced technology may have to be lonely for a long time before it can wait for fate. Once the mature API appears, the prospect of software can be roughly seen.
For example, whether your mobile phone or your PDA, such as PalmPilot, are actually computers with different processing capabilities. Both devices are equipped with short-range wireless (usually infrared) communication ports. But how do they communicate with each other through these ports? If there is no common API between these devices, it is impossible for your mobile phone to communicate with your PDA.
There will be the so-called "stranger service" API in the future. For example, when you walk down the street, your handheld device, whether it is a mobile phone, PDA, laptop or car navigation device, will automatically communicate with the surrounding facilities, shops, offices, vending machines and others.
At present, several companies are committed to developing the above-mentioned general API, and the most promising one may be Jini of Sun Company. But Jini's positioning, like the previous CP/M, focuses more on computer scientists than solution providers.
A large part of our software development today is developing Web applications, and interactive design and business model rather than technological innovation have promoted the progress of the Web. Technically, the big developers in the Web field will not dig too much into the Web itself, and they also lack the patience to write large and complex programs. However, in turn, these big manufacturers can combine the software components written by other developers in advance, so that they rely more on the software API written for them than before.
In short, no matter what API we design, the most important thing is to understand why we are targeting it or for whom. This is the key point to remember. Only after we understand the needs of the target audience can we create a useful API, realize a suitable user interface and integrate different software parts designed by different people well.