GST
2710, Computers and Society
Fall 2002, Wayne State University, Department of Interdisciplinary
Studies
David Bowen, Instructor, Section 984
Agenda 13 for 12/2/02
See Agenda 12 for a summary of Assignments 1 through 9.
Assignment 10 due 11/18
| Machine language | Assembler | Higher Level |
| A sequence of binary numbers, can be loaded into a computer and executed directly. | Uses mnemonics instead of binary numbers, corresponds instruction-by-instruction with machine language. | English-like, usually has many fewer instructions than assembler or machine code. |
| 10100001 01100001 10100010 00100010 10000011 11000011 00000000 |
READ 01 LOAD 01 READ 02 ADD 02 STORE 03 PRINT 03 STOP |
Input x Input y z = x + y Print z End |
| The machine code can be read into the computer and executed directly as is. All other types of programs must be first translated into machine code. | This is the Paper and Pencil Computer style of program. The Assembler is a program that translates assembler code into machine code for execution. The programmer runs the Assembler. | Can either be compiled (translated to machine code in advance, then executed) or interpreted (translated line-by-line as it is executed). Compiled languages are faster, interpreted languages are more convenient. |
| Each type of microprocessor has its own unique machine code. | Each type of microprocessor has its own unique assembler code. | Machine-independent; can run on many different types of computer, as long as there is a compiler or assembler. |
| Very few people program directly in machine code anymore. Extremely difficult to debug or make changes. | Assembler is good if your program has to use the minimum amount of storage, and execute quickly. | Most programming today uses High Level Languages, sometimes with some assembler for critical sections. Debugging and making changes is the easiest with a High Level Language (but is still not easy). |
| Example: Pentium III machine code. | Example: Pentium III assembler. | Examples: Fortran, Cobol, C, C++, Basic |
| Type of license | Payment | Copying and using program | Make changes to program | Make changes to license |
| Public Domain | Program and license are free | Both allowed without limit | Can be changed without restriction | License cannot be changed |
| Freeware | Program and license are free | Both allowed without limit | Only the program owner can make changes | Only the program owner can change license |
| Shareware | Free trial period | Copying is free. Use is free during trial period. | Only the program owner can make changes | Only the program owner can change license |
| Open Source | Program and license are free | Both allowed without limit | Use can make changes but must inform program owner | Only the program owner can change license |
| Commercial | Nothing is free | User may use but not copy. | Only the program owner can make changes | Only the program owner can make changes |
| Subscription | Nothing is free; licenses must be renewed regularly, typically annually. | User may use but not copy. Upgrades are free during the subscription period. | Only the program owner can make changes | Only the program owner can make changes |