Introduction to Programming Languages
Introduction to Programming Languages
Year Programming Language Description 1843 Machine Language Ada Lovelace invented the
first machine algorithm. She made the leap that numbers could represent other things, leading
to the idea of programming languages. Her work was the first step in designing a language
capable of giving computer instructions. 1940s Plankalkül Konrad Zuse, a German scientist,
developed a language for expressing computations for the Z4, a computer from
electromechanical relays. Plankalkül means program calculus. It was the first high-level
computer programming language ever developed. This language included mathematical
expressions, showing the current relationships between program variables and the ability to
store codes that enabled engineers to carry out routine, repetitive tasks more efficiently and
quickly. 1949 Assembly Language Kathleen Booth wrote the first assembly language, a low-level
programming language developed to simplify machine code for writing instructions for
processors. Shortcode Implemented by William Schmitt to improve the operations of the BINAC
and UNIVAC computers. 1952 Autocode Alick Glennie coined “Autocode” to refer to a set of
programming languages. It was developed for the Mark 1 computer at the University of
Manchester. It was considered the first compiled programming language that could be
translated into machine code using a special application known as the compiler. 1957 Fortran
Formula Translation was created by John Backus to shorten the process of programming and
make computer programming more accessible. It is still used today in supercomputers and
scientific and mathematical computations. 1958 ALGOL Algorithmic Language was created by
American and European computer scientists. It became the point of origin for other
programming languages, including Pascal, Java, C, and C++. LISP John McCarthy created the List
Processor (LISP) for his artificial intelligence (AI) applications. It is one of the oldest computer
programming languages still used today by AI companies like Boeing and Genworks. 1959
COBOL Stands for Common Business Oriented Language. It was developed and designed by Dr.
Grace Murray Hopper for business computer programs in industries. It was estimated to be in
use by over 100 million people and is still widely used in today’s banking systems.
1964 BASIC Created as a computer programming language for beginners by Dartmouth College
students. BASIC stands for Beginner's AllPurpose Symbolic Instruction Code. Bill Gates and Paul
Allen furthered its development, and it became Microsoft’s first commercially successful
product. 1970 Pascal Developed by Niklaus Wirth, it was named after the famed mathematician
Blaise Pascal. Apple was one of the leading companies to endorse this due to its streamlined
and straightforward process. 1972 C Dennis Ritchie developed the C language at the Bell
Telephone Laboratories. It was named as such as it descended from the B language. It is
recommended for creating embedded system drivers and applications. Programming languages
like C#, Java, JavaScript, Perl, PHP, and Python are all derived from C. SQL Structured Query
Language was developed by Raymond Boyce and Donald Chamberlain. It was first called SEQUEL
and was used for modifying, viewing, and altering information in databases. 1983 C++ Bjarne
Stroustrup, a C programmer, modified the programming language and released it as C++. The
changes include new features such as templates, classes, and virtual functions. Objective-C Brad
Cox and Tom Love created Objective-C, which is the primary programming language used to
create applications for Apple’s iOS, macOS, and iPad operating systems. 1991 Python Guido Van
Rossum founded this as a support language for software developers, build control and
management, testing, and many other ways. It is a general-purpose, high-level language. Visual
Basic (VB) Created by Microsoft. It allows users to drag and drop sections of code
simultaneously. Users can choose from various options in the drop-down menus and change
different codes. 1995 Java Created by James Gosling for a software project for interactive TV. It
is considered one of the world’s most famous and popular programming languages for coding
web applications. It is a multiplatform, object-oriented, and network-centric language that can
be used as a platform. JavaScript Created by Brendan Eich and is primarily used as a scripting
language in websites. It is also used for web development, PDF documents, and desktop
widgets. PHP Rasmus Lerdorf developed PHP (previously known as Personal Home Page, now
known as Hypertext Preprocessor) to build and maintain web pages and server-side
development. Facebook, Wikipedia, and WordPress use PHP.
Readability An important criterion for assessing a programming language is the ease with which
programs can be read and understood. In the 1970s, the software life-cycle concept was
developed to relegate coding to a much smaller role and consider maintenance as a major part
of the cycle in terms of cost. As ease of maintenance is determined in large part by the
readability of programs, readability became a major measure of the quality of programs and
programming languages. Readability must be considered in the context of the problem domain
such that if a program that describes a computation is written in a language not designed for
such use, the program may be unnatural and convoluted, making it difficult to read. The
following describes the characteristics that contribute to the readability of a programming
language: • Simplicity: The overall simplicity of a programming language strongly impacts its
readability. For example, a larger number of basic constructs in a language is more difficult to
learn than one with a smaller number. The following can be considered problems in readability.
o Feature Multiplicity – a scenario of more than one (1) way to accomplish a particular
operation. o Operator Overloading – a scenario wherein a single operator symbol has more than
one (1) meaning. It can result in reduced readability if users create their overloading and do not
do it sensibly. o Oversimplicity – a scenario wherein the language is too simple to the point of
lacking more complex statements and less obvious program structure. • Orthogonality is the
ability to change one thing without unseen effects on other things in the program. It is about
the independence of components in a larger system. It deals with how a relatively small set of
primitive constructs can be combined in a relatively small number of ways to build the control
and data structure of the language. A lack of orthogonality leads to exceptions to the rules of
the language. For instance, a programming language that supports pointers. It should be able to
define a pointer to point to any specific type in the language. If not, many potentially useful
user-defined data structures cannot be defined. The more orthogonal the design of a language,
the fewer exceptions the language rules require. This results in a higher degree of regularity in
the design, making it easier to learn, read, and understand. • Data Types: The presence of
adequate facilities for defining data types and data structure offers a significant aid to
readability. For instance, it might not be easily understood if a numeric type is used for an
indicator flag, such as in C language, because there is no Boolean type in the language. • Syntax
Design: The syntax or form of the elements has an impact on the readability of programs. The
following exemplifies syntactic design choices that affect readability. o Special Words: Some
programming languages have used matching pairs of special words or symbols to form groups.
These languages have diminished readability as statement groups are always terminated in the
same way, making it difficult to determine which group is being ended when an end or a right
brace appears ( } ).
Form and Meaning: Designing statements to make their appearance partially specify their
purpose, which helps readability. Semantics, or meaning, must follow directly from syntax or
form. For example, in C, the meaning of the keyword static depends on the context of its
appearance. If used to define a variable inside a function, it means the variable is created at a
compile time. If used outside of all functions, it means the variable is visible only in the file
wherein its definition appears. Writability It is the measure of how easily a language can be
used to create programs for a chosen problem domain. It is unfair to compare the writability of
different languages of a particular application when one is designed for that application and one
that was not. For instance, Visual Basic (VB) and C are different when creating a program with a
GUI, for which VB is only ideal. While for writing systems programs like an operating system, C is
ideal. The following describes the characteristics that contribute to the writability of a
programming language: • Simplicity and Orthogonality: A large number of different constructs
in a language might confuse some programmers as they might not be familiar with them. This
leads to the misuse and disuse of some features. Too much orthogonality can affect the
writability of a programming language, as errors can go undetected when any combination of
primitive is legal. This can lead to code absurdities that cannot be discovered by the compiler. •
Expressivity in a language refers to various characteristics. It means that there are more
effective operators that allow a computation to be accomplished with a very small program. For
instance, in C language, the notation count++ is more convenient and shorter than count =
count + 1. Reliability It is met if a program performs to its specifications under all conditions.
The following describes various language functions that affect the reliability of programs in a
given language: • Type Checking tests for the type of errors in a program, either by the compiler
or during program execution. As runtime type checking is expensive, compile-time type
checking is more desirable. The earlier the errors are detected, the less expensive it is to make
the required repairs. • Exception Handling is the ability of the program to intercept runtime
errors and other unusual conditions detectable by the program, take corrective measures, and
then continue. • Aliasing happens when there are two (2) or more distinct names in a program
that can be used to access the same memory cell. It is considered and accepted as a dangerous
feature in a programming language. • Readability and Writability: A language that does not
support natural ways to express the required algorithms in a program will use unnatural
approaches that are likely to be incorrect for all possible situations. A program is more likely to
be correct if it is easier to write. Additionally, a program that is difficult to read can also be
difficult to write and modify.