Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS 330 Programming Languages

Similar presentations


Presentation on theme: "CS 330 Programming Languages"— Presentation transcript:

1 CS 330 Programming Languages
Dr. Blaise W. Liffick Spring 2019

2 Programming Techniques Languages Programming Environments
Problem Analysis Program Design Algorithms & Design Patterns Data Structures Paradigms Java C++ Hardware Network Linux Eclipse Programming Environments

3 Early Computers Late 1930’s, John Atanasoff, Clifford Berry ENIAC 1946
University of Pennsylvania J. Presper Eckert and John Mauchley John von Neumann, stored-program concept

4 First Generation: 1940 – 1956 Vacuum tubes Scientific oriented ENIAC
UNIVAC – first commercial computer

5 Second Generation: 1956 – 1963 Transistors replaced vacuum tubes
I/O via punch cards and printers First “high-level” languages developed Data processing introduced

6 Third Generation: 1964 - 1971 Integrated circuit (semiconductors)
Keyboards & monitors Time sharing Computer “families” Minicomputers vs. mainframes

7 Fourth Generation: 1971 – ? VLSI CPU on a chip: Microprocessor
Microcomputers & Supercomputers

8 Fifth Generation: ??? Based on artificial intelligence
Big “Fifth Gen” project by Japanese in 1980’s Voice recognition, parallel processing, superconductors

9 Categories of Computers
Supercomputers Mainframe Minicomputers Microcomputers Mobile devices Power Size Cost

10 Programming Languages
Machine Language Most fundamental language of the computer Unique for each processor type Binary 0s and 1s that specify what to do

11 Table 1.2 A Program in Machine and Assembly Language

12 High - Level Languages Resemble human language
Java, C++, C, Pascal, FORTRAN, Ada a = a + b; More compact and human understandable than machine language Must be translated into machine language

13 1.4 Processing a High-Level Language Program
Set of programs used to develop software A key component is a translator Compiler Examples Java, g++, Microsoft Visual C++® Other programs needed Editor Linker Loader IDE (e.g. Eclipse)

14 Processing a Program Editor used to enter the program
Like minimal word processor Creates source program file Compiler translates the source program Displays syntax errors Creates (usually) temporary object code file Linker/Loader to combine object file with other object files and execute program Creates final executable program

15 Executing a Program CPU Special instructions used to
examines each program instruction in memory sends out command signals required to carry out the instruction Special instructions used to input data into memory for the program to use output data to display or printer (or other device)

16 Compilers Source File Object File Other Object Files Executable File
Editor used to create program Compilers Source File Compiler translates program into machine language successful unsuccessful Object File Error Messages Linker connects object files Loader prepares for execution Other Object Files Executable File

17 Java .java .class Source File Byte Codes Other Object Files
Editor used to create program Java .java Source File Compiler translates program into machine language successful unsuccessful Byte Codes .class Error Messages Other Object Files Java Runtime Environment


Download ppt "CS 330 Programming Languages"

Similar presentations


Ads by Google