You are on page 1of 24

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

You might also like