Introduction: Programming
Languages
July 31, 2021 VBU/MBA/Kujur/CAM/U I/CPL 1
What is a Programming Language
• A programming language is a set of rules that
provides a way of telling a computer what
operations to perform.
• A programming language is a set of rules for
communicating an algorithm
• It provides a linguistic framework for
describing computations
July 31, 2021 VBU/MBA/Kujur/CAM/U I/CPL 2
What is a Programming Language?
A programming language is a system for describing
computation in a machine-readable and human-readable
form.
A programming language is a tool for developing
executable models for a class of problem domains.
July 31, 2021 VBU/MBA/Kujur/CAM/U I/CPL 3
Types of Programming Languages
• First Generation Languages
• Second Generation Languages
• Third Generation Languages
• Fourth Generation Languages
• Fifth Generation Languages
July 31, 2021 VBU/MBA/Kujur/CAM/U I/CPL 4
First Generation Languages
• Machine language
– Operation code – such as addition or
subtraction.
– Operands – that identify the data to be
processed.
– Machine language is machine dependent as it is
the only language the computer can understand.
– Very efficient code but very difficult to write.
July 31, 2021 VBU/MBA/Kujur/CAM/U I/CPL 5
Second Generation Languages
• Assembly languages
– Symbolic operation codes replaced binary
operation codes.
– Assembly language programs needed to be
“assembled” for execution by the computer.
Each assembly language instruction is
translated into one machine language
instruction.
– Very efficient code and easier to write.
July 31, 2021 VBU/MBA/Kujur/CAM/U I/CPL 6
Third Generation Languages
• Closer to English but included simple
mathematical notation.
– Programs written in source code which must
be translated into machine language programs
called object code.
– The translation of source code to object code
is accomplished by a machine language
system program called a compiler.
July 31, 2021 VBU/MBA/Kujur/CAM/U I/CPL 7
Third Generation Languages (cont..)
• Alternative to compilation is interpretation
which is accomplished by a system
program called an interpreter.
• Common third generation languages
– FORTRAN
– COBOL
– C and C++
– Visual Basic
July 31, 2021 VBU/MBA/Kujur/CAM/U I/CPL 8
Fourth Generation Languages
• A high level language (4GL) that requires
fewer instructions to accomplish a task
than a third generation language.
• Used with databases
– Query languages
– Report generators
– Forms designers
– Application generators
July 31, 2021 VBU/MBA/Kujur/CAM/U I/CPL 9
Fifth Generation Languages
• Declarative languages: SQL
– Structure and elements of computer programs
– considers programs as theories of a formal
logic
• Functional: Lisp
– Also called applicative
– Everything is a function
• Logic: Prolog
– Based on mathematical logic
– Rule- or Constraint-based
July 31, 2021 VBU/MBA/Kujur/CAM/U I/CPL 10
Programming Languages
• Two broad groups
– Traditional programming languages
• Sequences of instructions
• First, second and some third generation languages
– Object-oriented languages
• Objects are created rather than sequences of
instructions
• Some third generation, and fourth and fifth
generation languages
July 31, 2021 VBU/MBA/Kujur/CAM/U I/CPL 11
Traditional Programming Languages
• FORTRAN
– FORmula TRANslation.
– Developed at IBM by John Backus in the mid-
1950s.
– Designed for scientific and mathematical
applications by scientists and engineers.
July 31, 2021 VBU/MBA/Kujur/CAM/U I/CPL 12
Traditional Programming Languages
(cont’d.)
• COBOL
– COmmon Business Oriented Language.
– Developed in 1959 by Committee on Data
Systems Languages (CODASYL).
– Designed to be common to different
computers.
– Typically used for business applications.
July 31, 2021 VBU/MBA/Kujur/CAM/U I/CPL 13
Traditional Programming Languages
(cont’d.)
• BASIC
– Beginner’s All-purpose Symbolic Instruction
Code.
– Developed at Dartmouth College in mid
1960s.
– Developed as a simple language for students
to write programs with which they could
interact through terminals.
July 31, 2021 VBU/MBA/Kujur/CAM/U I/CPL 14
Traditional Programming Languages
(cont’d.)
• C
– Developed by Bell Laboratories in the early
1970s.
– Provides control and efficiency of assembly
language while having third generation
language features.
– Often used for system programs.
– UNIX is written in C.
July 31, 2021 VBU/MBA/Kujur/CAM/U I/CPL 15
Object-Oriented Programming Languages
• C++
– It is C language with additional features.
– Widely used for developing system and
application software.
– Graphical user interfaces can be developed
easily with visual programming tools.
July 31, 2021 VBU/MBA/Kujur/CAM/U I/CPL 16
Object-Oriented Programming Languages
(cont’d.)
• JAVA
– An object-oriented language similar to C++
that eliminates lots of C++’s problematic
features
– Allows a web page developer to create
programs for applications, called applets that
can be used through a browser.
– Objective of JAVA developers is that it may be
machine, platform and operating system
independent.
July 31, 2021 VBU/MBA/Kujur/CAM/U I/CPL 17
Special Programming Languages
(cont’d.)
• HTML
– HyperText Markup Language.
– Used on the Internet and the World Wide Web
(WWW).
– Web page developer puts brief codes called
tags in the page to indicate how the page
should be formatted.
July 31, 2021 VBU/MBA/Kujur/CAM/U I/CPL 18
Special Programming Languages
(cont’d.)
• XML
– Extensible Markup Language.
– A language for defining other languages.
July 31, 2021 VBU/MBA/Kujur/CAM/U I/CPL 19
Criteria in a good language design
• Writability: The quality of a language that enables a programmer
to use it to express a computation clearly, correctly, concisely,
and quickly.
• Readability: The quality of a language that enables a
programmer to understand and comprehend the nature of a
computation easily and accurately.
• Reliability: The quality of a language that assures a program will
not behave in unexpected or disastrous ways during execution.
July 31, 2021 VBU/MBA/Kujur/CAM/U I/CPL 20
Criteria (Continued)
Maintainability: The quality of a language that eases errors can
be found and corrected and new features added.
Generality: The quality of a language that avoids special cases
in the availability or use of constructs and by combining closely
related constructs into a single more general one.
Uniformity: The quality of a language that similar features
should look similar and behave similar.
21
July 31, 2021 VBU/MBA/Kujur/CAM/U I/CPL
Criteria (Continued)
Extensibility: The quality of a language that provides some
general mechanism for the user to add new constructs to a
language.
Standardability: The quality of a language that allows programs
written to be transported from one computer to another without
significant change in language structure.
Implementability: The quality of a language that provides a
translator or interpreter that can be written.
22
July 31, 2021 VBU/MBA/Kujur/CAM/U I/CPL
Back-end (Server-side) table in most popular websites
Websites ASP.NET C C++ D Erlang Go Hack Java JavaScript Perl PHP Python Ruby Scala Xhp
Google.com No Yes Yes No No Yes No Yes No No No Yes No No No
YouTube.com No Yes Yes No No Yes No Yes No No No Yes No No No
Facebook.com No No Yes Yes Yes No Yes Yes No No Yes Yes No No Yes
Yahoo No No No No No No No No Yes No Yes No No No No
Amazon.com No No Yes No No No No Yes No Yes No No No No No
Wikipedia.org No No No No No No No No No No Yes No No No No
Twitter.com No No Yes No No No No Yes No No No No Yes Yes No
Bing Yes No No No No No No No No No No No No No No
eBay.com No No No No No No No Yes Yes No No No No Yes No
MSN.com Yes No No No No No No No No No No No No No No
Microsoft Yes No No No No No No No No No No No No No No
Linkedin.com No No No No No No No Yes Yes No No No No Yes No
Pinterest No No No No Yes No No No No No No Yes No No No
WordPress.co
No No No No No No No No Yes No Yes No No No No
m
July 31, 2021 VBU/MBA/Kujur/CAM/U I/CPL 23