1 / 24

A Brief Introduction to the History of Computing - 4

A Brief Introduction to the History of Computing - 4. ANU Faculty of Engineering and IT Department of Computer Science COMP1200 Perspectives on Computing Chris Johnson April/May 2003. History of Computing 4. History of the computer market: into the 4 th generation

Download Presentation

A Brief Introduction to the History of Computing - 4

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Brief Introduction to theHistory of Computing - 4 ANU Faculty of Engineering and IT Department of Computer Science COMP1200 Perspectives on Computing Chris Johnson April/May 2003

  2. History of Computing 4 • History of the computer market:into the 4th generation • Generations of programming languages • High level languages • Computing history heroes:the Turing Awards Intro to History of Computing 4: programming languages

  3. 1. 4th generation market: 1981- • 1981 IBM PC – a 16 bit personal computer for office desktops;command line operating system MS-DOS. “Word processing” becomes a software application for PC not a dedicated box DOS:A\ dir *.* Intro to History of Computing 4: programming languages

  4. 1. 4th generation market: 1981- • productivity software: word processor, spreadsheet, paint and draw • 1984 Apple Macintosh WIMP 1985 Microsoft Windows for PC • applications become centred onGraphical User Interface,push use of memory and processor speed enormously File Open Print Close Intro to History of Computing 4: programming languages

  5. 1. the 4th generation... • 2003 common families of processor chips drive nearly all large and small computers • computer networks are as important as computers Intro to History of Computing 4: programming languages

  6. 1. 4th generation market: 1981 – mainframes, personal computers • mainframes continue as main computers – re-invented as servers to enterprise networks of personal workstations and PCs • mid 1980s: local computer networks transform the personal computer to the enterprise network; the Internet for email • mid 1990s: the World Wide Web on the Internet transforms the desktop PC from a tool for local processing and information management into a communication tool Intro to History of Computing 4: programming languages

  7. 1. 4th generation market: manufacturers The biggest manufacturers of servers, workstations, desktops, laptops: market is fragmented, volatile, year by year • Compaq (includes DEC) [1 million servers; 14 million PCs worldwide; 12% of Australian PC market] • Dell [700k servers; 11% Australian PC market] • IBM [660,000 servers] • Hewlett-Packard [10%] now merged Compaq 2002 • Sun [360,000 workstations; 9% Australian PC market] • Apple [4% of Australian PC market] • NEC [6 million PCs world] • many other small companies: 48% Australian PC market, 25% servers, 80 million PCs 2001 figures from Gartner Group press release web pages The software market is now the big money– Microsoft, Oracle. Intro to History of Computing 4: programming languages

  8. 1. the market: from 1970... • mainframes: IBM and the BUNCH (approx 1968) • IBM • Burroughs->Sperry Rand/Unisys • UNIVAC -------------------/ • NCR • Control Data Corporation CDC - supercomputers • Honeywell • a few in UK (ICL), France (Bull), Germany (Siemens) • the minis (approx 1970) • DEC Digital Equipment Corporation • Data General • Varian • Hewlett-Packard... and others • the micros • Apple (and Apricot and Acorn and...) • Xerox • Commodore ... many others Intro to History of Computing 4: programming languages

  9. the market: from 1970 to 2001computers a commodity: fragmented,volatile • Compaq (includes DEC & H-P)[1 million servers; 14 million PCs worldwide; 12% of Australian PC market] • Dell [700,000 servers] • IBM [660,000 servers] • Sun [360,000 workstations, servers] • Apple [4% of Australian PC market] • NEC [6 million PCs world] • many other small companies:48% Australian PC market, 25% servers,80 million PCs 2001 figures from Gartner Group press release web pages Intro to History of Computing 4: programming languages

  10. 2. Programming languages • don’t forget the software! • the history of computing includes softwarejustas much as hardware • software is • applications • operating systems and environments • utilities: compilers, editors... • all created by human effortas collections of related programs using programming languages Intro to History of Computing 4: programming languages

  11. 2. The Generations of programming languages “Generations” of languages relate to the degree of problem-orhuman-orientation vs machine orientation. These generations are not the same asthe generations of computer architecture. [from Brookshear Figure 5.1] Intro to History of Computing 4: programming languages

  12. 2. Language generations 1,2,3 • machine languages • assembly languages • high level languages • FORTRAN, COBOL, ALGOL, LISP • the biggest differences are in • execution control structures,(program control, flow control) • data control • modularity Intro to History of Computing 4: programming languages

  13. programming languages machine lang 1945 assembly lang 1951 high level lang 1954 60s 4GLs 70s AI based 80s network-aware 90s computer architectures valves 1945 transistors 1959 Integrated 1964Circuits PCs 1981 2. Generations ofprogramming languages -& computers many high level languages of different types Intro to History of Computing 4: programming languages

  14. 3. High level languages: the evolution of types of language Simula-67 Eiffel [Brookshear Figure 5.2] plus S67 & Eiffel Intro to History of Computing 4: programming languages

  15. 3. High level languages: a family tree FORTRAN APL Modula Ada Pascal COBOL C ALGOL LISP [from Eric Levenez] Intro to History of Computing 4: programming languages

  16. 4. History of high level PLs: the elements of high level PLs • data control • definition: naming and types • storage life • structure • manipulation (arithmetic) • program execution control • jumps, conditions, loops, subroutine calls Object-Oriented languages • Simula 67 • C++ • Smalltalk • Eiffel 1985 • Java 1995 • C# } • program modularity • abstraction • subroutines • nesting • classes & inheritance Intro to History of Computing 4: programming languages

  17. 4. Aspects of high level programming languages (1) • program (execution) control • how the point of execution moves through the parts of the program • examples in Eiffel: • if-statement, loop, function call • data control • names of variables have a limited lifetime during execution • names have restricted visibility (scope) in parts of the program • examples in Eiffel: • function local variable, object feature variable Intro to History of Computing 4: programming languages

  18. 4. data control and program control - an Eiffel program from earlier class BDM creation doit -- read a given number of ints, find min and max feature doit is local count, max, min: INTEGER do io.read_integer; count := io.last_integer -- omit prompts io.read_integer; max := io.last_integer; min := max from i:=1 until i=count loop io.read_integer; if max < io.last_integer then max := io.last_integer end if min > io.last_integer then min := io.last_integer end i:=i+1 end io.put_string("The largest number was: "); io.put_integer(max) io.put_string(" and the smallest was: "); io.put_integer(min) end end -- class BDM data control: the scope of count, max, min data control: the scope of i Intro to History of Computing 4: programming languages

  19. 4. data control and program control: machine language (g1) • add two numbers - see Brookshear p. 208 156C 166D5056306EC000 • Extending this "language" from a sequence of numbers to include comments makes life easier for the original programmer - and for the next programmer to read it. ;add Price (6C) and ShippingCost (6D), Total to 6E156C ;load 6C to R5166D ;load 6D to R65056 ;add them, result to R0306E ;store R0 to 6EC000 ;stop here Intro to History of Computing 4: programming languages

  20. 4. data control and program control: assembly language (g2) ; data storage address definitions (these generate no instructions).DEF Price 6C.DEF Shipping 6D.DEF TotalCost 6E; The actual instructions of the program; correspond exactly to the machine instructions above; Add Price and Shipping to calculate TotalCostLD R5, PriceLD R6, ShippingADD R0, R5, R6ST R0, TotalCostHLT [adapted from Brookshear p.208] Intro to History of Computing 4: programming languages

  21. 4. control flow in assembly language ; pricing variables - now with automatic layout in memory Price: .SZ 1Shipping: .SZ 1TotalCost: .SZ 1; if Shipping cost is greater than zero then; add Price and Shipping to calculate TotalCostLD R6, ShippingJZ R6, NoAddLD R5, PriceADD R0, R5, R6ST R0, TotalCostJMP Next NoAdd: LD R6, Price ; else TotalCost equals PriceST R6, TotalCost Next: HLT Flow control is by test and jumps. A loop is a jump back to an earlier point in the program Intro to History of Computing 4: programming languages

  22. 4. data control in assembly language ; pricing variablesPrice: .SZ 1Shipping: .SZ 1TotalCost: .SZ 1; if Shipping cost is greater than zero then; add Price and Shipping to calculate TotalCostLD R6, ShippingJZ R6, NoAddLD R5, Pricecontrol flow ADD R0, R5, R6ST R0, TotalCostJMP Next NoAdd: LD R6, Price ; else TotalCost equals PriceST R6, TotalCost Next: HLT Assembly language provides no data control. These labels are all just addresses, data and program instructions mixed together Intro to History of Computing 4: programming languages

  23. 4. data and flow controlrecap class BDM creation doit -- read a given number of ints, find min and max feature doit is local count, max, min: INTEGER do io.read_integer; count := io.last_integer -- omit prompts io.read_integer; max := io.last_integer; min := max from i:=1 until i=count loop io.read_integer; if max < io.last_integer then max := io.last_integer end if min > io.last_integer then min := io.last_integer end i:=i+1 end io.put_string("The largest number was: "); io.put_integer(max) io.put_string(" and the smallest was: "); io.put_integer(min) end end -- class BDM Intro to History of Computing 4: programming languages

  24. 4. other aspects of high level programming languages • syntax • description of the form of constructs in the language • semantics • description of the meaning of constructs of the language • compilers and interpreters • the means of translating a high level language program to execution on a computer • run-time system • utility support for all programs of the language during execution in the computer Intro to History of Computing 4: programming languages

More Related