F
O
N G
I O N
T I
A
Z M GEM
NI A
A R U A
G
R O NGG
O PR A
L
Reasons for Studying Concepts of
Programming Languages
Increased capacity to express ideas
Improved background of choosing appropriate languages
Increased ability to learn new languages
Better understanding of the significance of implementation
Increase ability to design new languages
Overall advancement of computing
Why are there so many programming
languages?
Evolution – we’ve learned better ways of doing things over
time
Socio-economic factors
Proprietary interests
Commercial advantage orientation toward special purposes
Orientation towards special hardware
Diverse ideas about what is pleasant to use
What makes a language successful ?
Ease of use:
Easy to learn (BASIC, Pascal, LOGO, Scheme)
Easy top express things
Easy to use once fluent – “powerful” (C++ Common
Lisp, APL)
Easy to implement possible to compile to very good code
Cost factor:
Bucking of powerful sponsor
Wide dissemination at minimal costs
Why do we have programming languages?
Programmer’s perspective:
Way of thinking
Way of expressing algorithms
Languages from the users point of view
Abstraction of virtual machine
Way of specifying what you want the hardware to do
without getting down into the bits
Languages from the implementors point of view
Language Design Criteria
Safety – language should not provide features that make it possible to
write harmful programs
Toughness – provides the ability to deal with undesired events
Portability – programs can be compiled and run on different machines
without rewriting the source code
Uniformity – similar notations should look and behave in the same way
Programming Languages
Programming language is an artificial language that can be used to control the
behavior of a machine, particularly a computer. Programming languages can be
used to create programs that specify the behavior of a machine, to express
algorithms precisely, or as a mode of human communication.
Programming languages like human languages are defined through the use of
syntactic and semantic rules, to determined structure and meaning respectively.
Many programming languages have some form of written specification of their
syntax and semantics, since computers require precisely defined instructions.
History of Programming Languages
Programming language designs and implementation methods have evolved
continuously since the earliest high-level languages appeared in the 1950’s.
1950’s – the first versions of FORTRAN (Formula Translator) and LISP (List
Processing) designed
1960’s and 1970’s – new languages were often developed as part of major
software development projects
1980’s – ADA, C, Pascal, Prolog and Smalltalk
1990’s – Java
Development of Early Languages
1.Numerically based languages
2.Business languages
3.Artificial-intelligence languages
4.System languages
1. Best Language for Research, Data Science, or
Data Analytics: Python
It’s straightforward to learn and use, thanks to its simple
syntax and other features, making it an excellent
option for beginners and those looking to code
quickly. It also comes with numerous frameworks and
libraries, which add to its popularity for data science
use and other purposes.
2. Best Language for Web Applications: JavaScript
For the 10th year in a row, JavaScript was named the
most commonly used programming language in
Stack Overflow’s 2022 Annual Developer Survey, with
more than 65% of developers saying they rely on it.
One primary reason why it’s so popular is that it can
run everywhere. The language runs on all major
browsers: Internet Explorer, Safari, Google Chrome,
Mozilla Firefox, Opera, Edge — and even some lesser-
known browsers, too. This means code compilation is
not necessary before executing the language.
3. Best Language for Game Development: C++
C++, which finds its foundation in C, is widely
applicable to many different products, from data
analytics to GUI applications. Perhaps this is why
it’s embraced by LinkedIn, NASA, Facebook,
Google, Lyft, Walmart, Opera, Microsoft, and many
other top companies.
There are plenty of frameworks or game
engines facilitating easier game development
with C++, such as Unreal Engine, and Flax
Engine.
4. Best Multiplatform Language: Java
Released in 1995 by Sun Microsystems, which was later
acquired by Oracle, Java is one of the most extensively
used programming languages in the world. Today, it’s
applied to a huge range of projects and used across
platforms, from mobile to desktop. The portable, server-side
language has a presence in fields like e-commerce,
finance, and many other industries, in part due to features
like strong security.
Android apps Games
Big data projects Numerical computing
Web applications IoT projects
Desktop apps Enterprise apps
C++
Java
P as cal
C
FORTRAN g ua g e
L a n
Hi gh L e v e l
L a ng ua g e
A ssembly
ne L a ng uage
Machi
Machine Language – consists of binary instructions
Every computer has its own machine language and this is the only
language it understands. With earlier computers, programs were all
written in machine language. With the present generation of
computers, programs are now written in special programming
languages.
Assembler Language – it is a language which closely resembles
machine language. Each resemble language instruction is
translated into one machine language instruction.
High –Level Languages – it is a language statements closely resemble to
English language statements. The mathematical symbols are, for the most
part, the symbols of traditional mathematics . These languages are often
oriented toward a particular class of processing problems. Some of these
languages have been designed to process problems of a scientific or
engineering nature, and others have appeared that emphasize the
processing of business applications. Unlike symbolic programs, high level
language programs may be used with different makes of computers with
little modification
Advantages of high – level languages are:
It is easily learned and understood
Lesser time is required to write programs
They are standardized and can be accepted by any computer
which has a compiler for a particular language
They provide better documentation and are much easier to
maintain availability of diagnostic error detection allows the
compiler to check program statements for syntactical errors
Some important languages that were developed
in this period include:
1943 - ENIAC coding system 1970 - Pascal
1949 - C-10 1970 - Forth
1955 – FORTRAN "FORmula TRANslator 1972 - C
1951 - Regional Assembly Language 1972 - Smalltalk
1952 - Autocode 1972 - Prolog
1954 - FORTRAN 1973 - ML
1955 - FLOW-MATIC (forerunner to COBOL) 1978 – SQL
1957 - COMTRAN (forerunner to COBOL) 1983 - Ada
1958 - LISP 1983 - C++
1958 - ALGOL 58 1985 - Eiffel
1959 - COBOL 1987 - Perl
1962 - APL 1989 - FL (Backus)
1962 - Simula 1990 - Haskell
1964 - BASIC 1991 - Python
1964 - PL/I 1991 - Java
1993 - Ruby
1995 - PHP
2000 - C#
Developer of Programming Languages
John Backus, inventor of Fortran.
Alan Cooper, developer of Visual Basic.
Edsger Dijkstra, developed the framework for proper programming.
James Gosling, developer of Oak, the precursor of Java.
Anders Hejlsberg, developer of Turbo Pascal.
Bill Joy, inventor of vi, early author of BSD Unix, and originator of SunOS,
which became Solaris.
Alan Kay, pioneering work on object-oriented programming, and originator of
Smalltalk.
Brian Kernighan, co-author of the first book on the C programming language
with Dennis Ritchie, coauthor of the AWK and AMPL programming languages.
John Von Neumann, originator of the operating system concept.
Dennis Ritchie, inventor of C.
Bjarne Stroustrup, developer of C++.
Ken Thompson, inventor of Unix.
Niklaus Wirth inventor of Pascal and Modula.
What is a Program
and
Programming?
Program - the list of instruction that the computer must follow to
be able to process data into information
Programming – the procedure of developing the details instruction
for the computer
Five step process:
1.Define the problem
2.Design the solution/program
3.Code the program
4.Test the program
5.Document the program