1st gen hardware(51'-59'):
Vacuum tubes - large, lots of heat, not very reliable (could break after some time). Had
to be spaced out to avoid over heating. The distance between the unit made the
computing time very long. Power surges could ruin the tubes.
Magnetic drum - for memory, memory device that rotated under a read/write head.
Card readers --> magnetic tape drives - sequential
2bd gen hardware (59-65)
Transistor - replaced vacuum tube . Fast, small. durable, cheap. Much more reliable.
Packed closer together. Shorter computing time.
Magnetic cores - two wires that cross but do not touch, as current passes. Theres a
metal circle around the intersection. The metal "count" will flip one way or another if
there's/isn't current. replaced magnetic drums, information available instantly - no need
to wait for the drum to spin around.
Magnetic discs - Replaced magnetic tape. Data can be accessed directly. Long term
storage. have moving parts.
Integrated circuits - silicone with circuits etched into it, packed even closer together.
Transistors - Now used for memory construction.
Terminal - input/output/ device with keyboard and screen.
4th gen 71-now:
Large scale integration - great advances in chip technology.
PCs, the commercial market, workstations - personal computers are developed. Apple
Atari come to being. Games are developed, workstations emerge.
Parallel computing and networking - having more than 1 processor.
Networking - with the ethernet protocol small computers could be connected and share
resources. File servers connected PC s since the late 80's.
ARPANET (1969) and LANs --> The internet.
1st gen software 51-59:
Machine language - the only way to instruct a computer is in it's own language. Each processor has an interaction set that it knows how to execute. It's a pattern that
represents what to do and where to get the data. All in binary. Very difficult to program.
Assembly languages and translators - written in artificial programming languages and
then were translated into machine language. the assemble language took the command
in simpler terms and turned it into 1's and 0's.
Programmer changes - divide into application (ways of making the technology
accessible to people outside of the field of computers) programmers and system
programmers (changing the ind=side).
2nd gen SW 59-65:
Higher level languages - english like statements make programming easier for people.
Fortran (calc very large and very small numbers - formula translate), COBOL , Lisp (list
processing language - uses simple english to make it easier to make concepts into
code) - exp. Programming becomes more accessible.
3rd gen SW 65-71:
- utility programs - earliest IBM PCs there was no way to copy a file, a utility prog called
"copy" was created.
- language translators - Lisp to machine language, for example.
- OS which deciders which program to run and when.
Made it possible to do "computing" without the operator. Tapes did not need to be
Separation between users and hardware:
Computer programmers began to rite prigs to be used by people who didn't know
Earlier, people had to know how to reset the hardware in order to use the software,
now, layers were created - layers of things doing the work we used to do ourselves.
* Machine language --> assembly code --> high level language --> system software -->
application package *
If we compare this to a car, earlier a car needed two people to start a car. Nowadays,
it's not needed anymore - we have a starter. Application package is like the key, the
ignition switch is like an application package. 4th gen 71-89:
structured programming - pascal, C, C++ independent structures that divide the problem
and solve it in pieces,