Note 3
Note 3
Note 3
1
Arch Note Three
The computer programming languages are classified into three different types or levels..
These are:
1 The Machine Language:- Machine language is the re representation of
instructions and data in binary (0, 1) form (BITS). This is the only language
understandable to the machine as the computer itself is said to be a binary machine.
Machine code or machine language is a system of instructions and data executed
directly by a computer's central processing unit. Machine code may be regarded
as a primitive (and cumbersome) programming language or as the lowest-level
representation of a compiled and/or assembled computer program
The language itself follows the electrical properties/systems of the machine in
arriving at each code. The machine language is machine dependent i.e. every
machine (make and model) has its own machine language. It a very efficient and
effective way of program execution.. But it has the disadvantage of being very
difficult to write, learn or modify and the programs are not transferable from one
system to the other (being machine dependent). Any program written in any other
language other than this language needs to be converted to its machine code
equivalent before execution.
2 The Assembly Language:- The assemble or symbolic language is the
representation of instruction in symbols, pseudocodes or mnemonics. It is a much
more readable rendition of machine language, called which uses mnemonic codes
to refer to machine code instructions, rather than using the instructions' numeric
values directly. This representation is usually defined by the hardware
manufacturer, and is based on mnemonics that symbolize processing steps
(instructions), processor registers, memory locations, and other language features.
An assembly language is thus specific to a certain physical (or virtual) computer
architecture. There is a one to one relationship between the machine and assembly
language. As machine language, the assembly language is machine dependent. It
has the advantage of being effective and efficient but not as the machine language
as it needs to be translated to machine language before it can be executed. The
machine language and the assembly language are together called the Low Level
Languages.
3 The High level language:- This is the representation of instructions in a form
similar to human written language. It makes use of identifiers (nouns) and verbs
for the construction of its statements. A high-level programming language is a
programming language with strong abstraction from the details of the computer.
In comparison to low-level programming languages, it may use natural language
elements, be easier to use, or be more portable across platforms. Such languages
hide the details of CPU operations such as memory access models and
management of scope.
2
Arch Note Three
This greater abstraction and hiding of details is generally intended to make the
language user-friendly, as it includes concepts from the problem domain instead
of those of the machine used. A high-level language isolates the execution
semantics of a computer architecture from the specification of the program,
making the process of developing a program simpler and more understandable
with respect to a low-level language. The amount of abstraction provided defines
how "high-level" a programming language is It has a library of functions where
all these verbs and some keywords are defined. It has to be translated to machine
language before it can be executed. It is less effective and efficient that the
assembly language .It is not machine dependent that is a program written on or for
a particular machine can be executed on any other machine.
4. Very High-Level Programming Language (VHLL): - A very High Level
Programming Langauge is a programming language with a very high level of
abstraction, used primarily as a professional programmer productivity tool.
Very high-level programming languages are usually limited to a very specific
application, purpose, or type of task. For this reason, very high-level programming
languages are often referred to as goal-oriented programming languages.
3
Arch Note Three
software held on a peripheral device (designated as a 'boot device'), such as a hard
disk or a CD/DVD, and loads and executes that software, giving it control of the
PC.[2] This process is known as booting, or booting up, which is short for
bootstrapping.
Firmware is a term often used to denote the fixed, usually rather small, programs
and/or data structures that internally control various electronic devices. Typical
examples of devices containing firmware range from end-user products such as
remote controls or calculators, through computer parts and devices like hard disks,
keyboards, TFT screens or memory cards, all the way to scientific instrumentation
and industrial robotics. Also more complex consumer devices, such as mobile
phones, digital cameras, synthesizers, etc., contain firmware to enable the device's
basic operation as well as implementing higher-level functions
2. The Operating System:- An operating system (OS) is software, consisting of
programs and data, that runs on computers, manages computer hardware
resources, and provides common services for execution of various application
software. Operating system is the most important type of system software in a
computer system. Without an operating system, a user cannot run an application
program on their computer, unless the application program is self booting.
3. The Utilities Or Service Programs:- Utility software is a kind of system software
designed to help analyze, configure, optimize and maintain the computer. A single
piece of utility software is usually called a utility or tool. Utility software usually
focuses on how the computer infrastructure (including the computer hardware,
operating system, application software and data storage) operates. Due to this
focus, utilities are often rather technical and targeted at people with an advanced
level of computer knowledge. The utility programs may include:
Disk storage utilities
Disk defragmenters
Disk checkers.
Disk cleaners
Disk space analyzers
Disk partitions.
Backup utilities
Disk compression.
Anti-virus utilities scan for computer viruses.
4. The Program Translators:- These are programs that translate instruction written
in any other language other than machine language to their machine code
equivalent. There are three types of translators.
4
Arch Note Three
a. The Assembler: which translates instructions written in assembly language
to its machine code equivalent
b. The interpreter: The interpreter translates instructions written in High
Level Language into its machine code equivalent or some other intermediate
representation, one instruction at a time, and executes it as such. It does not
generate a translated copy of the instruction. It does not keep a translated
copy. Hence each time the program needs to be executed, it must be
translated.
c. The compiler: A compiler translates instructions written in high-level
language into machine code equivalent. It generates a translated copy of the
program known as the object program. It does not execute. The most
common reason for wanting to transform source code is to create an
executable program..
5. Device Drivers: A device driver is a computer program that allows higher-level
computer programs to interact with a hardware device. A driver typically
communicates with the device through the computer communications subsystem
to which the hardware connects. When a calling program invokes a routine in the
driver, the driver issues commands to the device. Once the device sends data back
to the driver, the driver may invoke routines in the original calling program.
Drivers are hardware-dependent and operating-system-specific. They usually
provide the interrupt handling required for any necessary asynchronous time-
dependent hardware interface.
5
Arch Note Three
3 The Computer graphics:- These are application software used for the generation
of two dimensional artistical material. It is designed for and artist. Examples are
Paint Brush, Corel Draw etc.
4 The CADs/CAMs:-These are applications created for the designs and/or modeling
of engineering and architectural pieces. It equally assists in the analysis of such
designs. Examples include the Auto CAD, The Chief Architect, etc
5 The Publishers;- These are application used to design pages for publishing. This
application is mainly used by the print media and publishing houses. Examples
are Abode Page maker, Microsoft publishers, etc
6 DBMS/RDBMS/OODBMS/RODBMS: Database Management System is a group
of application software for the management of a large Database. It is used in the
management of records (student records, staff records, mailing lists, Ticketing,
Billing etc). Over the years DBMS has grown to Relational DBMS, Object
Oriented DBMS and Object Relational DBMS.
7 Web Browsers: This is a group of software that allows hyper Text objects to be
displayed on a web page. It is used is viewing or displaying a web page created
using Hyper Text Maker Language (HTML). Examples include Netscape, Internet
Explorer etc
8 Communication software: Communication software is used to provide remote
access to systems and exchange files and messages in text, audio and/or video
formats between different computers or user IDs. This includes terminal
emulators, file transfer programs, chat and instant messaging programs, as well as
similar functionality integrated within MUDs (Multi-User Domain).
9 Entertainment Software: Entertainment software are the computer programs that
provides entertainment in all its categories. The entertainment software mare
include Gambling Software, Video Games and sports, Novelty software
6
Arch Note Three
drawback is such applications takes more of computer resources because it
contains so many general facilities that may not be needed by tej user organization.
2. Custom Made Application: A custom made application may be in-house (That is
designed and implemented by the programmers of the company) or Commissioned
to an external programmers. Customs made applications are made with a particular
client in mind. The client commissions its development and it is developed to his
requirement and specification. A custom make application takes a longer time to
develop, particularly if the company is creating such from the scratch. In building
a custom application the company develops the software development circle.