Computer Software. Evolution of Programming Languages Machine Languages Assembly Languages...
-
Upload
madeline-hunt -
Category
Documents
-
view
252 -
download
7
Transcript of Computer Software. Evolution of Programming Languages Machine Languages Assembly Languages...
Evolution of Programming Languages
• Machine Languages
• Assembly Languages
• High-Level Languages
• Fourth-Generation Languages
Machine Languages
• The native language of the hardware
• Patterns of binary bits
• Machine specific, is non-portable– is essentially the microcode of the processor
Assembly Languages
• Replace the pattern of binary bits with – mnemonics for the commands– variable names for memory locations
• Essentially a one-to-one mapping of the machine language
• Still machine specific, is non-portable
High-Level Languages
• Represents multiple machine-level statements with single statements
• Easier to learn and use
• Not machine specific, is portable
An ExampleMachine Code Assembly Code High-Level Code in Hex 27BB0001 ldah gp, main main() 23BD8050 lda gp, main {23DEFFF0 lda sp, -16(sp) int a, b, c; A61D8018 ldq r16, 8(gp) a = 3; A77D8010 ldq r27, printf b = 4;47E0F411 mov 7, r17 c = a + b;B75E0000 stq r26, (sp) printf(“\n%d\n”, c);6B5B4000 jsr r26, printf }27BA0001 ldah gp, main A75E0000 ldq r26, (sp) 23BD8050 lda gp, main 47FF0400 clr r0 23DE0010 lda sp, 16(sp) 6BFA8001 ret r26
Move from Language to Language
• Computers only understand machine language.
• Use an ASSEMBLER to convert a program written in assembly language to machine language.
• Use a COMPILER to convert a program written in a high-level language to machine language.
Executable Code
• Program code which is in machine language and can be run (executed) by the computer
• Is hardware dependent you can’t run it on just any machine
• On PCs PC usually have an EXE or a COM extension
Object Code
• Program code which is in machine language but which is not ready to be run (i.e. it is a partial program).
• Is hardware dependent.
• On PCs usually has an OBJ extension.
• Not commonly used by end-users.
Source Code• Program code which is written in a high-level
language.
• Cannot be run by the computer.
• Is usually a text file.
• File name extension usually reflects the high-level language– BASIC - BAS extension– Pascal - PAS extension
Compiler & Files
Object Code
Executable Code
Source
CodeCompiler
LinkerObject Code
Library
Error Messages
Program Listing
Dynamic Link Libraries
• Some Window programs use “run-time” linking and and require the presence of dynamic link library files which have a DLL extension.
• DLL files ideally contain code which would be used my a number of programs.
Object Libraries & DLLs
• Both contain “commonly” used code.
• With object libraries all the code is included in the executable file at compile time so:– programming effort is saved– no space saving is realized, executables which
use common code have their own copy of the library code
Object Libraries & DLLs
• With DLLs the code is “fetched” from the DLL file at “run time” so:– programming effort is saved– space savings “may” be realized– the more executables that use the library code
the greater the savings– typically only a small part of the library code is
used
Fourth Generation Languages
• First three generations focused on describing “HOW TO DO” a task.
• 4GLs focus on describing “WHAT TO ACCOMPLISH”
• The fourth generation language compiler must be able to translate the “what to accomplish” description into a machine level “how to” set of instructions.
Categories of 4GLs
• Query languages
• Report generators
• Graphics languages
• Application generators
• Very high-level programming languages
• Application software packages
• Microcomputer tools
Categories of Software
• System Software– Operating Systems (OS)– Language Translators– Utility Programs
• Application Software
Operating Systems
• It is the job of the operating system to manage the computers resources and control the execution of programs.
• Computer resources include– memory– device drivers for peripheral devices
• The OS is the interface between the hardware and the user/application program.
Operating Systems• OSs run the full spectrum from
– single program-single user, to– multitasking, multi-user, with virtual memory
• The OS decides which program runs and for how long.
• The OS improves throughput by skipping over processes that are waiting for I/O.
Common Operating Systems
• CP/M
• DOS
• Windows 3.1
• Windows 95
• Windows NT
• OS/2
• System 7
• Mac OSX
• Linux
• UNIX
• VMS
• VM/CMS