Each year witnesses the arrival of new APIs and the death of old ones and not-so-old ones. Software developers are faced with tough decisions, develop for which operating systems, with which language, for which hardware? It can usually be summed up as a choice of APIs. Why is it an especially hard choice?
Long gone are the times when an SDK could fit on a floppy disk and the number of pages of its documentation was less than three digits in decimal base. To master fully, let's say Win32, you'll need time just to go through the documentation, the examples and practice. Even more important, you'll need to have some understanding of software concepts which might be obvious to the Computer Science student but which are not to someone whose main background is developing for an old simple file operating system. Concepts such as semaphores, call-backs, paging, queues are more and more considered known notions. Hence deciding to develop for a new API must be a well thought out decision.
With the increased complexity of development, the time to market can be long enough for changes of popularity of APIs to happen during the development phase. And the changes can be dramatic. Did you believe Microsoft when it told the world that all programs should be developed first for OS/2 and then for Windows? More recently, did you think that Taligent's frameworks would be on every desk? Did you expect the - current - success of the Web? Will you bet on a future with applets travelling in an integrated phone and computer network, where the bandwidth of the network will be bigger that the one in your local machine?
Very happy new APIs...
(C)1996, Centaur Communications Ltd. Reproduced with the kind permission of EXE Magazine.