Presentation is loading. Please wait.

Presentation is loading. Please wait.

Computer Software. Evolution of Programming Languages Machine Languages Assembly Languages High-Level Languages Fourth-Generation Languages.

Similar presentations


Presentation on theme: "Computer Software. Evolution of Programming Languages Machine Languages Assembly Languages High-Level Languages Fourth-Generation Languages."— Presentation transcript:

1 Computer Software

2 Evolution of Programming Languages Machine Languages Assembly Languages High-Level Languages Fourth-Generation Languages

3 Machine Languages The native language of the hardware Patterns of binary bits Machine specific, is non-portable –is essentially the microcode of the processor

4 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

5 High-Level Languages Represents multiple machine-level statements with single statements Easier to learn and use Not machine specific, is portable

6 An Example Machine 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

7 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.

8 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

9 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.

10 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

11 Compiler & Files Object Code Executable Code Source Code Compiler Linker Object Code Library Error Messages Program Listing

12 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.

13 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

14 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

15 Common HLLs FORTRAN COBOL BASIC Pascal C C++ PL/1 Ada JAVA LISP Prolog

16 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.

17 Categories of 4GLs Query languages Report generators Graphics languages Application generators Very high-level programming languages Application software packages Microcomputer tools

18 Categories of Software System Software –Operating Systems (OS) –Language Translators –Utility Programs Application Software

19 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.

20 Layers of interaction Hardware System Software Application Software Users

21 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.

22 Common Operating Systems CP/M DOS Windows 3.1 Windows 95 Windows NT OS/2 System 7 Mac OSX Linux UNIX VMS VM/CMS

23 More RAM needed! Newer OSs extend the capabilities of desktop computers but require more RAM Windows 3.0 - 1MB (std),2MB (real) Windows 95 - 8MB recommended Windows NT 4.2 - 16MB (32 rec.) Windows 2000 - 64MB min. Windows XP - 128MB rec.(64MB min) Windows Vista - 1GB rec. (512MB min)


Download ppt "Computer Software. Evolution of Programming Languages Machine Languages Assembly Languages High-Level Languages Fourth-Generation Languages."

Similar presentations


Ads by Google