Console and GUI Programs Two Models for Programming

  • Slides: 27
Download presentation
Console and GUI Programs Two Models for Programming There are others as well Copyright

Console and GUI Programs Two Models for Programming There are others as well Copyright © 2001 -2018 Curt Hill

Paradigms • Pronounced Pair-a-dime • Definition: A model or example • A way of

Paradigms • Pronounced Pair-a-dime • Definition: A model or example • A way of approaching a situation that affects every action that is taken Copyright © 2001 -2018 Curt Hill

Operating Systems • A set of programs that runs the computer • Performs a

Operating Systems • A set of programs that runs the computer • Performs a number of important functions: – Interprets user commands – Establishes a file system – Handles errors – Among other things Copyright © 2001 -2018 Curt Hill

User commands • Early operating systems used console input – These include DOS, UNIX,

User commands • Early operating systems used console input – These include DOS, UNIX, VMS • Later operating systems adopted a GUI – Graphical User Interface – Pronounced “Gooey” – These include Mac OS, Windows, Xwindows • The two use different computing models Copyright © 2001 -2018 Curt Hill

Simple Example • The Console and GUI program will be demonstrated using a program

Simple Example • The Console and GUI program will be demonstrated using a program to compute greatest common factor • Each program will receive two numbers from the user • Compute GCF using Euclid’s method Copyright © 2001 -2018 Curt Hill

Euclid’s Method for GCF • Make the larger num 1 and smaller num 2

Euclid’s Method for GCF • Make the larger num 1 and smaller num 2 • Divide num 1 by num 2 and keep remainder • Set num 1 to num 2 • Set num 2 to remainder • Repeat the division until num 2 < 2 Copyright © 2001 -2018 Curt Hill

The Console Version This program computes the Greatest Common Factor using Euclid's method Enter

The Console Version This program computes the Greatest Common Factor using Euclid's method Enter the first number 323 Enter the second number 437 GCF is 19 Do you want to do another? n Copyright © 2001 -2018 Curt Hill

The GUI Version Copyright © 2001 -2018 Curt Hill

The GUI Version Copyright © 2001 -2018 Curt Hill

The Console Screen • Usually a list of messages and inputs • When a

The Console Screen • Usually a list of messages and inputs • When a program writes a message – Appears on the bottom of the list – All previous messages scroll up • When input is needed the user types it at bottom • No need for a pointing device, like a mouse Copyright © 2001 -2018 Curt Hill

The Console Paradigm • The model for computing is that the program is in

The Console Paradigm • The model for computing is that the program is in control • It starts executing at some designated point • Continues from there • If it needs input, it initiates the input – Prompts user and then reads • The order of input is determined by program Copyright © 2001 -2018 Curt Hill

Form of Console Program OS Pgm Subr Subr Service Copyright © 2001 -2018 Curt

Form of Console Program OS Pgm Subr Subr Service Copyright © 2001 -2018 Curt Hill Subr Service

Form Again • In a console program the Operating System starts the main program

Form Again • In a console program the Operating System starts the main program • This program may in turn call subroutines – Methods, functions, procedures – These may call others • Some will call OS services – Such as input and output Copyright © 2001 -2018 Curt Hill

Other Console Comments • Interrupts are used by OS but not a factor in

Other Console Comments • Interrupts are used by OS but not a factor in programs • Interrupt: – A response to an event whose timing is unpredictable • When interrupt processing is done, whatever was running is resumed Copyright © 2001 -2018 Curt Hill

The GUI Screen • Usually a series of Windows • Each window has certain

The GUI Screen • Usually a series of Windows • Each window has certain characteristics and controls • A control is an item within the window – Buttons – Edit boxes – List boxes Copyright © 2001 -2018 Curt Hill

GUI History • Developed at Xerox Palo Alto Research Center – Alan Kay and

GUI History • Developed at Xerox Palo Alto Research Center – Alan Kay and others – They were not going to market it • Jobs of Apple saw it and used for Mac • Gates developed Windows because of success of Mac • Xwindows was developed for UNIX independently Copyright © 2001 -2018 Curt Hill

WIMP • The classic GUI is also known as WIMP – Windows – Icons

WIMP • The classic GUI is also known as WIMP – Windows – Icons – Menus – Pointer (mouse or trackball) Copyright © 2001 -2018 Curt Hill

The GUI Paradigm • The model for computing is that the operating system and

The GUI Paradigm • The model for computing is that the operating system and user is in control • The program starts – It displays its windows through the operating system – Then waits for the user to do something – Most of the execution is in response to some user action, communicated by the OS Copyright © 2001 -2018 Curt Hill

A Sample Window Copyright © 2001 -2018 Curt Hill

A Sample Window Copyright © 2001 -2018 Curt Hill

Form of GUI Program OS Pgm Subr Service Subr Service Copyright © 2001 -2018

Form of GUI Program OS Pgm Subr Service Subr Service Copyright © 2001 -2018 Curt Hill

Form Again • In a GUI program the Operating System starts the main program

Form Again • In a GUI program the Operating System starts the main program • Main program describes how windows are to be drawn – It then returns to OS • It also registers event handlers – These are subroutines – The events are things like a button click – The subroutines may call other subroutines as well OS services • Event handlers are called by OS not Copyright © 2001 -2018 Curt Hill program

Objects • In many programming environments the controls are objects in the technical sense

Objects • In many programming environments the controls are objects in the technical sense • An object is some data and code that acts on it • These objects often conform to the PME model Copyright © 2001 -2018 Curt Hill

The PME Model • Properties – Data that is part of the object and

The PME Model • Properties – Data that is part of the object and affects how it is used • Methods – Code that manipulates the object • Events – What to do if some user action occurs Copyright © 2001 -2018 Curt Hill

Properties • Data that affects how the control looks or acts • Examples: –

Properties • Data that affects how the control looks or acts • Examples: – The caption of a button or text of an edit box – The alignment of the text – The position: Left, top, width, height • Some of these are modified at design time and others at run time Copyright © 2001 -2018 Curt Hill

Methods • Actions that can be performed at run-time on the control • Usually

Methods • Actions that can be performed at run-time on the control • Usually involves a substantial amount of programming by someone else • Clearing an edit box can be done by assigning an empty string to its text property or executing its Clear method Copyright © 2001 -2018 Curt Hill

Events • When a button is clicked some action needs to be taken •

Events • When a button is clicked some action needs to be taken • An event is an action that occurs at unpredictable times, so some code handles it • Examples: – – Mousing over a control Left click, right click or double click of a control Receiving or losing focus Typing in a control Copyright © 2001 -2018 Curt Hill

Languages • C++, Small. Talk, Java are full object oriented languages – Full support

Languages • C++, Small. Talk, Java are full object oriented languages – Full support for objects, PME, inheritance, polymorphism – There are one or more full GUI development environments • Visual BASIC is half of an object oriented language – Has objects, most of PME – No inheritance, no polymorphism – Has a full GUI development environment Copyright © 2001 -2018 Curt Hill

Finally • Do we need two or more paradigms for programming? – Yes •

Finally • Do we need two or more paradigms for programming? – Yes • Most user programs use the GUI paradigm – The GUI made computers accessible • The IT office still uses a large number of console-style programs – Among other paradigms Copyright © 2001 -2018 Curt Hill