TRENDS OF COMPUTER PROGRESS 45 INFORMATICA 1/90 Keywords: trends, computer development, Matjaž Gams1, Karmen žitnik12 technology, programming 1 Institut »Jožef Stefan«, Ljubljana 2 Iskra Unitel, Blejska Dobrava ABSTRACT: In the last decades computers are one of the leading factors influencing the progress in many areas of human activities from theoretical sciences to applied technologies. Analyses of computer history show several distinctive laws indicating that a) computer progress is very constant over last 50 years b) this progress is at least one order of magnitude faster than progress in other sciences and technologies c) there are no reasonable limits for this progress in near future and d) we can expect computers to greatly enhance their impact on everyday life by becoming dominant over human capabilities in several important fields such as massive memory. POVZETEK: V zadnjih nekaj desetletjih so računalniki med najpomembnejšimi vzpodbujevalniki razvoja človeških dejavnosti - od teoretičnih znanosti do uporabnih tehnologij. Analize računalniške zgodovine odkrijejo nekaj značilnih zakonitosti, med njimi a) razvoj računalnikov je zelo stanoviten v zadnjih 50. letih b) ta razvoj je vsaj za red velikosti hitrejši kot pri drugih znanostih in tehnologijah c) v bliZnji bodočnosti ni videti pomembnejših omejitev razvoja računalnikov in d) lahko pričakujemo, da ee bo vpliv računalnikov na vsakdanje življenje ljudi bistveno povečal s tem, ko računalniške sposobnosti prehitevajo človeške na nekaterih pomembnih področjih, npr. pri kapaciteti masovnih pomnilnikov. 1 Introduction Several authors have tried to make unbiased analyses of computer history, their implications on everyday life and prognoses of computer progress (see all references). Some of these authors belonge to established industry, some are recognized scientists of different branches - from sociologists to computer researchers. But, most widely published and read opinions are mainly those belonging to popular or semi-scientific group. Publications of this kind often tend to exaggerate or even deform certain facts in order to attract a common reader. On the other hand, some of the laws presented in our article are well known in the computer community. Still, it might be interesting to throw some new light upon that especially because public opinion and certain governmental designers seem to be unaware of these mostly indisputable facts. And finally, our view might clarify the position of the fifth and the sixth computer generation. 2 Evolution of the basic computer component A switch can be regarded as a basic computer component and by making evident it's progress we can understand the basis of computer progress. In Table 1 we see that roughly each 10 years a switch was produced in a different technology. In the first 10 years electronic computers were based on valves, in the next 10 years on transistors and somewhere around 1964 chips emerged as a new product integrating transistors into one integrated circuit. The following 10-year periods were based on new technologies that achieve higher and higher density of transistors: LSI - Large Scale Integration, VLSI - Very Large Scale Integration and finally ULSI - Ultra Large Scale Integration. 10-YEAH PERIOD 1 2 3 4 5 SWITCH VALVB TRANSISTOR CHIP' LSI VLSI Table 1: The progress of the basic component of computers - a switch - can be roughly grouped into fiv.a 10-year periods. 46 In each 10-year period the switch was produced in a new technology, it became much smaller, faster, more reliable and with longer exploration period. The improvement of overall efficiency is especially noticeable when compared to the price of one switch. The technological progress of the basic computer component largely influenced the progress of computer hardware, architecture, peripherals and also software. 3 Software evolution Software progress can again be schematically represented by the development of the basio meaningful part of programming languages (see Table 2). 10-YEAR PROG. UNIT TYPE OF LANGUAQE 010110100 MACHINE LANGUAGE LOAD I ASSEMBLY LANGUAGE DO 1=1,10 PROCEDURAL HIGH-LEVEL LANGUAGE (FORTRAN) 4 The 5th and the 6th generation In the light of our presentation of computer history one might wonder where to put the 5th and the 6th computer generation. The heavily published project of the 5th generation started in Japan and attracted attention of Western scientific and industry community. The high goals of the project which started in the land of economic and technological miracle triggered several advanced projects in USA and Western Europe. But unlike the 5th generation project In Japan these projects used very different terms which are more consistent with our view. The basic confusion comes from the fact that our denotation of the fifth generation represents computers in the late eighties which don't have the intended properties of the Japanese 5th generation. Further more, in order to come to the fifth generation should we wait for the computers to become similar to those defined by the Japanese 5th generation programme? The problem is similar with the 6th generation: from the trends of computer progress it is possible to prognosticate the properties of the future generations but only the history is the unbiased judge which records where and what happened. procedure MODULAR HIGH-LEVEL inverttvar A :aT); LANGUAGE (PASCAL) succ(X,Y) : -parent(X,Z), succ( Z, Y ). DECLARATIVE LANGUAGE (PROLOG) Table 2: Evolution of software through the progress of the basic unit of programming languages again enables structuring the history into 5 roughly equidistant 10-year periods. First programmers had to oode in sequences of 0's and l's in machine code. This awful task was substituted by programming in simple instructions that were still strongly hardware oriented - for example, LOAD I means that the value of I is loaded into a specialized register - accumulator. However, these assembly languages represented a large step ahead in the direction of simplified humancomputer communication, The next generation of procedural high level programming languages enabled programming in terms of hardware independent statements. For example, the presented loop in Fortran in Table 2 means that the following statements are to be executed 10 times. These statements remained only slightly changed also in newer languages like Pascal, Modula and Ada, but they enabled new concepts - a subroutine, a process and a module together with structural programming. And in the last 10 years there are two additional lines of software progress: a) declarative Prolog-like languages which enable programming by declaring logical theorems whereby the"computer does the proving task and b) specialized tools such as advanced relational data base management systems, program environments with editors, debbugers, program verifiers and tools for automatic code generation from specifications. Each new software generation was more adapted to a human way of communicating meaning more and more work for translation into machine code was left to computers. But, while the price of computer work was very rapidly declining, the price of human work remained more or less constant. Therefore, the technological progress of computer capabilities directly dictates more and more human-like communication. 5 Practical implications of computer progress Practical implications of computer progress are influenced by technological development and as well as several other factors, with market being one of the most important. Market break-throughs happen whenever a new and better type of computer product reaches technological maturity. Since this is advanced product with preferable cost/benefit ratio, it causes great commercial attraction. All products of this type are bought by customers and the supply/demand ratio is preferable for any producer capable of mastering new technology. The production grows very rapidly and gradually overfills the market - the supply becomes greater than the demand. A hard competition ruins many producers but on the horizon there is another technological breakthrough which rolls the circle once again (see Figure 1). commercial effect of computer progress computer capabilities years 1940 1990 Figure 1: Commercial break-throughs in the computer market happen in supply/demand circles following technological advances. 47 The widely known example is a sequence of break-throughs of microcomputers: home computer (Spectrum, Commodore) with a boom in computer games and children education, personal computer (Apple, IBM PC) with a boom in small business and smallef tasks and workstation (PS 2, SUN) with more complex applications. Workstations are in the stage of technological progress and we are just witnessing the technologically underdeveloped state of our country measured by the number of workstationa which have already ousted personal computers in many areas in the developed countries. An interesting product of this kind could also be Steven Jobs's NeXT. It qualifies as a state of the art in the areas of vision, sound, memory, software and cost/benefit ratio. The high-reso1ution black&white monitor shows exactly what will come out of the laser printer. It records and plays back music and voices with the fidelity of compact disc. The removable, erasable optical disk drive can hold enough information to fill hundreds of books. In a certain way this is a rather successful competition with the products of the Japanese 5th generation programme. We can roughly estimate the importance of computers today. To replace the work of all computers today we would need something like 1000 times more people than the whole human population. Despite the fact that not all of these work would have to be replaced by "brute" human work we can still claim that we would need more people for the replacement of all computers than for the replacement of all other machines! This tells us how vast is the amount of computer work. In certain fields of everyday work like commerce and technology more than every second worker in USA has an equivalent of an IBM PC. And in respect to all USA population this relation is one IBM PC equivalent per 8 men. On the other hand, in the Soviet Union only every seventieth man has a PC equivalent. 6 Trends of computer progress The development of Beveral computer characteristics is very steady over the last 50 years, among them the density of components on one square millimeter. Each 10 years the density of components increases 100 times (Figure 2). Greater density enables other improvements, e.g. shorter connections, faster computing and as the overall result computers become approximately million times more capable each 10 years. This progress is beyond any comparison with other technologies which are usually much more binded by the natural limits. For example, in only a couple of years with such a tempo of progress we should get a super fam ily car capable of reaching the speed of an airplane with a consumption of only a few drops of gasoline per 1 km. This is definitelly illusional, because natural limits for cars are obvious and unavoidable, for example air friction. Considering the present state of computer technology we can see possible limit9 in chip capacity, computing speed, overheating of components, etc. But it was the same in the past and each computer was actually produced within the limits of existing computer technology. There were no reasonable unavoidable limitations for the progress of computers in the past and there aren't any in the near future. In 'fact, it has always turned out that the cause of the limit was our knowledge or rather the lack of it! There are several potential break-throughs in the near future such as erasable optical disks, communication in natural language and through graphical interfaces; further away there could be superconductive fully intelligent computers. And even when we reach the limits of these technologies, there are plenty of others. For example, when we reach the limits in computing or chips posed by the electron (e.g. the tunneling effect), we might try with photons. 7 Massive memory - a possible break-through First electronic computers were useful because they outperformed humans in the speed and precision of numerical computing thus becoming valuable assistants. Similarly, important break-throughs happen when computers outperform people in other areas and so far there seems to be no end to this. The only question is when and in which area it will happen. One of the important areas where capabilities of computers are quickly approaching human performances is massive memory (see Figure 3). computer capabilities 1940 1990 years Figure 2: The development of many basic computer characteristics is constant over the last 50 years. The speed of progress is at least one order of magnitude greater than in other technologies. massive memory capacity \ v. \ human \ \ 1940 critical period years Figure 3: The progress in the capacity of computer massive memory is constant and promises to reach the effective masBive capacity of human brain in the near future. 48 The progress presented in Figure 3 is rather constant. Typical examples in Table 3 show the possibility of another break-through. LENGTH TIME TYPE CAPACITY OF BOOKS FOR TYPING first home c. 20K 3 mm 0.002 years IBM PC 20M 3 m' 2 years next pers. c. 20G 3 km 2000 years Table 3: Jumps in the capacity of massive memory from first home microcomputers to IBM PC and next personal microcomputers. Memory capacity of the computer is presented in the second column, in the third column we see the corresponding length of bookB on a book shell and in the last column years needed for typing that amount of information. The first home microcomputers had around 20K of memory. This amount of information could be typed by a typist in 0.002 years on a 3 mm wide book. IBM PC has a disk with 20M which corresponds to 3 m of books and 2 years of typing. One of the next generation personal computers will reach 20G corresponding to 3 km of books and 2000 years of typing. This certainly represents a qualitative le.ap since one person needs for hi9 work about 100-200M. To understand the importance of a qualitative leap ahead let us make a comparision with a car. If the first prototype of a car reached only 8 m/h and the second 8 km/h, we would achieve a leap of 1000. Although this would be a large Jump ahead, these cars would remain economically uninteresting. But one jump more by the factor of 1000 would radically change the commercial outcome: we'd have a car with the maximal speed of 8000km/h and a clear market boom. A qualitative leap ahead in massive computer memory will obviously enable us to store lots of books and lots of encyclopedias on one disk. Communications through picture and sound will become feasible and maybe even the rudiments of the human recognizable artificial intelligence. But how will it influence everyday life, e.g. the learning process and the access to (computer) libraries? Therefore! while we are able to see. that something important is going to happen, we are not able to see when and especially exactly how it will happen. 8 Areas of computer applications Areas of computer applications are presented in Figure 4. The circles represent the growing use of computers by mastering more tasks. In the last years we are already witnessing the shift from classical programming to new tools such as relational data base management systems and knowledge engineering techniques. Today's tasks are typically ill-structured and eystems require knowledge from human experts. For the next qualitative shift we need to overcome the parallel processing barrier and the artificial intelligence barrier. Then the systems will be able to intelligently handle massive amounts of knowledge, they will be able to learn from experience and modify their knowledge during the running. Somewhere around that time the computers might become aware of themselves. Figure 4: In these years conventional programming is being superseded by programming tools with the emphasis on knowledge engineering. The next stage is programming by intelligent and autonomous agents. 9 Summary Computer progress is practically constant over the last 50 years. The speed of this progress is beyond comparision with other sciences and technologies alike and is still very far from the limits that could threaten to slow it down. Even today a computer is the most important single machine invented by human and it will tend to largely enhance its influence on everyday life by becoming dominant over people in more and more categories. The designers of our research and industry directions should pay more attention to that! Literature Dreyfus H. L. (1979): What Computers Can't Do, Harper Colophon Books. Dreyfus H. L., Dreyfus S. E. (1986): Mind Over Machine: The Power of Human Intuition and Expertise in the Era of the Computer, The Free Press, Macmillan, New York. Laurie P. (1984): The Joy of Computers, Cankarjeva založba, Ljubljana. McDermott D. (1985): Artificial Intelligence Meets Natural Stupidity, Mind Design: Philosophy, Psychology, Artificial Intelligence, The MIT Press, Cambridge. Michie D., Johnston R. (1984): The Creative Computer, Viking. Newsweek, Time, Byte. Winograd T., Flores F. (1986): Understanding Computers and Cognition: A New Foundation for Design, Ablex Publ. Corp, Norwood. Zeleznikar A. P. (1987): Research of Computers and Information in the Next Decade, Informática 11, No. 2, pp. 57-59. Zeleznikar A. P. (1988): On the Developmental Iniciative of the Computer industry, Informática 12, No. 2, pp. 3-11.