CSC 111 - (4) Introduction To Software and Programming Languages 1-1
CSC 111 - (4) Introduction To Software and Programming Languages 1-1
Computer Languages
Machine Languages
Low-Level Languages
High-Level Languages
Computer Software
Computer software is the set of programs that makes the hardware
Application Programs
Word-Processors, Spreadsheets,
Database Software, IDEs,
etc…
System Software
Compilers, Interpreters,Preprocessors, etc.
Operating System, Device Drivers
Machine with all its hardware
Systems Software
Set of programs that coordinates activities and functions of the
hardware and various other programs.
The software that controls everything that happens in a computer.
Operating
Operating
Application
Application and
and
software
software Systems
Systems
Software
Software
Users
Hardware
Operating System Functions
An operating system is primarily a resource manager
Authentication
Manage files
Access to files
Perform common computer hardware functions:
Processors, secondary storage (such as hard disks), other I/O devices,
processes, threads, databases
Provide a user interface
Provide a degree of hardware independence
Manage system memory
Manage processing tasks
Provide networking capability
Control access to system resources
Manage files
Types of Operating Systems
Today’s computers are:
A PL is
A special purpose and limited language
A set of rules and symbols used to construct a computer program
A language used to interact with the computer
Language Translators
A programming language (PL) is a vocabulary and set of grammatical rules
for instructing a computer or computing device to perform specific tasks.
It takes the basic commands and operations from assembly code and converts
them into binary code that can be recognized by a specific type of processor.
However, assemblers are more simplistic since they only convert low-level code
Source Assembly
Program Compiler Language
Machine
Assembly
Assembler Language
Language
Compilers
A compiler is a software program that transforms high-level source code
that is written by a developer in a high-level programming language into a
low level object code (binary code) in machine language, which can be
understood by the processor.
The process of converting high-level programming into machine language
is known as compilation.
The processor executes object code, which indicates when binary high
and low signals are required in the arithmetic logic unit of the processor.
The stages in compilation include:
Lexical Analysis
Syntax Analysis
Semantic Analysis
Intermediate code generation
Code optimization
Code generation
Compiler
A program that converts another program from some source
instruction.
Compilation
Source Target
Program Compiler Program
languages.
language that it then executes, or it could parse the high-level source code
and then performs the commands directly, which is done line by line or
statement by statement.
into code that can be understood by the machine (machine code) or into an
executes it directly.
into native (compiled) code that can be executed directly by the operating
system.
Interpretation
Source
Program
Interpreter Output
Input
Source Intermediate
Program Translator Program
Intermediate
Program
VM Output
Input
Java Compiler
bytecode
ML Interpreter
File Copy
File copying is the creation of a new file which has the same content as an
existing file.
For example:
File copying is the creation of a new copy file which has the same content as
an existing file.
Housekeeping Operations
These include programs to clear areas of storage, writing file labels, updating
common data e.g. data.
Application Software
Programs that help users solve particular computing problems
Programs written for computer users and it enables you to perform specific
computer tasks, such as document production, spreadsheet calculations, and
database management
Word-processors, spreadsheets, & other application packages
Software that can perform a specific task for the user, such as
Word processors– example: Microsoft word
Spreadsheets-- example: Microsoft Excel
Database managers-- example: Microsoft Access
Graphics-- example: Photoshop