Professional Skills in Computer Science Lecture 3: Historical Aspects of Computing
Total Page:16
File Type:pdf, Size:1020Kb
Professional Skills in Computer Science Lecture 3: Historical Aspects of Computing Ullrich Hustadt Department of Computer Science School of Electrical Engineering, Electronics, and Computer Science University of Liverpool Ullrich Hustadt COMP110 Professional Skills in Computer Science L3 { 1 Further milestones The Future Contents 1 Further milestones 2 The Future Fundamental questions Model-View-Controller Relevant learning outcome: 1 Ability to describe and discuss economic, historic, organisational, research, and social aspects of computing as a discipline and computing in practice; Ullrich Hustadt COMP110 Professional Skills in Computer Science L3 { 2 Further milestones The Future What have computers been used for? (Summary) • 1600 { now: Calculation Manipulation of numbers • 1960 { now: Information Processing Manipulation of numbers, text, images, audio, video • 1960 { now: Cognition (Reasoning) Manipulation of knowledge via reasoning / inference • 1970 { now: Interaction Allowing people to communicate, cooperate, compete • 1970 { now: Automation Computer-controlled machines and robots Hypotheses: • The wave of innovation in the 60s and 70s is due to the increased availability of computing resources to more and more researchers • Leadership is mostly due to early exposure to state-of-the-art systems and due to hard work Ullrich Hustadt COMP110 Professional Skills in Computer Science L3 { 3 Further milestones The Future What have computers been used for? What important milestones in the development and use of computers were not covered so far? Ullrich Hustadt COMP110 Professional Skills in Computer Science L3 { 4 Further milestones The Future Programmable general-purpose computers • 1837: Babbage's Analytical Engine Capable of base-10 fixed-point arithmetic, Capable of conditional branching and loops Programmable via punched cards Turing complete! Construction was never completed! No direct connection to later computers! Ullrich Hustadt COMP110 Professional Skills in Computer Science L3 { 5 Further milestones The Future Personal computers • 1981: IBM PC 5150 Intel 8088 processor 256 kB max main memory Microsoft DOS 1.0 OS 5 1/4" Floppy disk (hard drive added in 1983) CGA graphics (16 colours) Ullrich Hustadt COMP110 Professional Skills in Computer Science L3 { 6 Further milestones The Future Smartphones The introduction of personal computers in 1981 was the last big leap in widening access to computational devices before the introduction of mobile phone and smart phones • 1991: First GSM (digital cellular) network launched in Finland • 1992: IBM Simon Personal Communicator Combines mobile phone with PDA Screen can be operated by stylus E-mail support Can run third-party programs • 1996: Nokia 9000 Communicator Adds text-based web browser • 2012: 1.2bn smartphones versus 1.2bn PCs (7bn world population) Ullrich Hustadt COMP110 Professional Skills in Computer Science L3 { 7 Further milestones The Future NLS • 1968: The Mother of All Demos: (Douglas Engelbart, SRI) NLS \oN-Line System" A `networked' computer system with GUI, off-line mode, e-mail, collaborative word processing, hypertext, video conferencing and mouse is demonstrated (The picture shows one of several terminals connected to a mainframe computer; during the demo a telephone line was used to establish the connection) Videos of the demo are available at http://www.youtube.com/watch?v=JfIgzSoTMOs (Skip the first two videos) Ullrich Hustadt COMP110 Professional Skills in Computer Science L3 { 8 Further milestones The Future How long did it take for PCs to catch up? • 1981: IBM PC 5150 • 1983: Apple Lisa First PC with a graphical user interface • 1985: Microsoft Windows 1.0 • 1987: HyperCard Hypermedia system for Mac OS • 1988: HyperStudio HyperCard clone for MS Windows • 1991: Instant Update Collaborative editor for Mac OS • 1992: CU-SeeMe Video Conferencing It took about 25 years to get from NLS to a PC with similar functionality there could be devices and software currently in development ; in research labs that will be commonplace in 25 years Ullrich Hustadt COMP110 Professional Skills in Computer Science L3 { 9 Further milestones The Future Fundamental questions Model-View-Controller The Future (1) The future is already here | it's just not very evenly distributed. (William F. Gibson; \The Science in Science Fiction" on Talk of the Nation, NPR, 30 November 1999, Timecode 11:55) Meaning: If you were to visit the most technologically advanced places on Earth right now, then you would see what the future holds for less advanced places Tom Thomas, screenplay, Lee Madden, director. 1999 A. D. Released ca. 1967. https://archive.org/details/Year1999Ad Ullrich Hustadt COMP110 Professional Skills in Computer Science L3 { 10 Further milestones The Future Fundamental questions Model-View-Controller Fundamental questions Developers of devices and software have to consider a wide range of questions including: • Where can or should computations take place? • Where can or should data be stored? • How fast can data be transferred/communicated? • What is the cost of data storage/computations/communication? • How robustly/securely can computations be done? • How robustly/securely can data be stored? • How robustly/securely can data be transferred/communicated? • How much enery is available to support data storage/computations/communication? • How small/light can a device be made? • How much does a device cost to produce? • What is the legality of data storage/computations/communications? Ullrich Hustadt COMP110 Professional Skills in Computer Science L3 { 11 Further milestones The Future Fundamental questions Model-View-Controller Fundamental questions We use the Model-View-Controller software design pattern to discuss some of these questions in more detail: • The model manages the behaviour and data • The view renders the model into a form suitable for interaction • The controller receives user input and translates it into instructions for the model 1 Where should the viewbe rendered? • On the user's computer • On a central server (farm) possibly shared by a multitude of users Ullrich Hustadt COMP110 Professional Skills in Computer Science L3 { 12 Further milestones The Future Fundamental questions Model-View-Controller Fundamental questions We use the Model-View-Controller software design pattern to discuss some of these questions in more detail: • The model manages the behaviour and data • The view renders the model into a form suitable for interaction • The controller receives user input and translates it into instructions for the model 2 Where should the behaviour of the model be computed? • Close to the user, on a single computer exclusively used by the user • Away from the user, on a central server (farm) shared by a multitude of users • Distributed, on several computers owned by a large group of users Ullrich Hustadt COMP110 Professional Skills in Computer Science L3 { 13 Further milestones The Future Fundamental questions Model-View-Controller Fundamental questions We use the Model-View-Controller software design pattern to discuss some of these questions in more detail: • The model manages the behaviour and data • The view renders the model into a form suitable for interaction • The controller receives user input and translates it into instructions for the model 3 Where should the data for the model be held? • Close to the user, on a single computer exclusively used by the user • Away from the user, on a central server (farm) shared by a multitude of users • Distributed, on several computers owned by a large group of users Ullrich Hustadt COMP110 Professional Skills in Computer Science L3 { 14 Further milestones The Future Fundamental questions Model-View-Controller Fundamental questions • The answers to these questions will depend on • the domain in which the question is posed • available technology • available resources • The answers to these questions change over time • We may go back and forth between the various answers • The reason for that is not purely technological • economic factors • legal factors Ullrich Hustadt COMP110 Professional Skills in Computer Science L3 { 15 Further milestones The Future Fundamental questions Model-View-Controller Thin clients, fat clients and cloud clients • 1978: DEC VT100 Intel 8080 processor 3 kb main memory Monochrome graphics Like NLS, this is a terminal connected to a mainframe computer via serial lines • 2011: Google Chromebook Intel Atom processor 2GB main memory 16GB SSD Web-based applications In effect the Chromebook is a 'terminal' connected to Google's servers and others via a wireless network Ullrich Hustadt COMP110 Professional Skills in Computer Science L3 { 16 Further milestones The Future Fundamental questions Model-View-Controller Thin clients, fat clients and cloud clients • The Google Chromebook is more advanced than the DEC VT100 in (almost) every aspect we are not going around in circles, ; we always advance technologically but the possible answers to the fundamental questions ; stay the same • Thin clients never went away, there were always thin clients using the latest technology, but their prevalence was greatly diminished by the Personal Computer there were always people believing that thin clients ; would be the future technological advancement in itself is not a good indicator ; for what the future holds Ullrich Hustadt COMP110 Professional Skills in Computer Science L3 { 17 Further milestones The Future Fundamental questions Model-View-Controller The Future (2) All the futures are already here | we