|
|
|
Initially short pieces of code to direct output
to a printer or accept input from a card reader. |
|
Then background programs to handle requests from
multiple terminals and run multiple programs. |
|
|
|
|
|
Now- |
|
Device control |
|
File maintenance (creation, deletion, naming,
grouping, transfer to and from disk) |
|
Multitasking |
|
Time Share (on larger machines) |
|
Interface/presentation efforts (GUI) |
|
Security |
|
|
|
|
|
Major Examples |
|
MS-DOS |
|
Windows |
|
MacOS |
|
UNIX |
|
Linux |
|
|
|
|
1975 Developed by XEROX Palo Alto Research
Center (PARC). Includes icons, pull
down menus, and a mouse. |
|
1980 – Steven Jobs visits XEROX PARC and sees
their GUI |
|
1983 – Apple uses GUI in LISA |
|
1985 – Apple uses GUI in Mac |
|
1990 – Microsoft uses GUI in Windows 3.0 |
|
|
|
|
Application Software - Computer programs that
perform work for a user |
|
Initially written by users |
|
|
|
|
Machine Language – 1s and 0s |
|
Assembler – short commands |
|
Procedural Languages – longer variable names,
more commands |
|
4th Generation Languages – database
retrieval |
|
5th generation – Japanese natural
language project |
|
|
|
|
|
|
Common Elements of all languages: |
|
Stored program concept |
|
Flow of control |
|
Sequence |
|
Selection |
|
Iteration |
|
Subroutine |
|
|
|
|
|
|
Assembler Example: |
|
Pascal: J:= K + M |
|
Assembler Equivalent: |
|
mov ax, K |
|
add ax, M |
|
mov J, ax |
|
|
|
|
|
|
Another Assembler Example: |
|
Pascal:
J := K + M + N + P |
|
Assembler Equivalent: |
|
mov ax, K |
|
add ax, M |
|
add ax, N |
|
add ax, P |
|
mov J, ax |
|
|
|
|
|
|
|
Pascal Example: |
|
Readln(hrs); |
|
If hrs > 40 |
|
THEN grosspay := hrrate*40 + (hrs-40)*1.5*hrrate |
|
ELSE grosspay:= hrs * hrrate; |
|
Writeln(‘Gross pay was “,grosspay); |
|
|
|
|
|
SQL Example – |
|
Select Nation, patents, exports, schooling |
|
From TAI |
|
Where patents > 100; |
|
|
|
|
|
Dan Bricklin’s VISICALC |
|
1978 - Harvard MBA student |
|
Created a “spreadsheet” |
|
Ran on Apple II computers |
|
Little initial interest |
|
Became software “tail” wagging the “hardware
“dog” (or “hardware drag”) |
|
|
|
|
|
|
|
Branched out into VisiDex, Visigragh |
|
Hired Mitch Kapor to program Visigraph |
|
Kapor used pay and experience to create
Lotus-1-2-3 |
|
Visicalc was not patented (software patents were
not legal until 1981) |
|
Visicalc sold to Lotus in 1985 |
|
and discontinued |
|