0% found this document useful (0 votes)
0 views

Introduction to Programming Languages

Different types of programming languages
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
0 views

Introduction to Programming Languages

Different types of programming languages
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

Introduction to Programming Languages

Milestones in Programming Languages

A programming language is a formal notation system or instructions for writing computer


programs and other software applications. Here are the milestones in Programming Languages
throughout history.

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.

Programming Domains and Environments Programming Domains As great diversity in computer


use develops through time, there have been different goals for developed programming
languages. The following elaborates on the most common areas of computer applications and
their associated languages. Domain Application Language Used Scientific Applications The first
digital computers from the late 1940s to early 1950s were invented and used for this domain. At
the time, simple data structures such as arrays and matrices and control structures such as
counting loops and selection were used, but this required several floatingpoint arithmetic
computations. As efficiency is a concern in this domain, Fortran was the first language used.
Business Applications Computer use in this domain began in the 1950s when special computers
were developed along with special languages. The first successful high-level language for this
domain was COBOL, the initial version from 1960. Aritificial Intelligence (AI) AI is characterized
by the use of symbolic rather than numeric computations. In symbolic computation, symbols
consisting of names rather than numbers are manipulated and are more conveniently done with
linked lists of data rather than arrays. As this requires flexibility, LISP was the first widely used
programming language for this domain before 1990. More recently, Python has been used in AI
applications. Web Software The WWW (World Wide Web) is supported by a collection of
languages, ranging from HTML (not a programming language) to Java (general-purpose
programming language). The need for dynamic Web content demands some computation
capability, which can be provided by embedding programming code in an HTML document.
Embedding programming code can be in the form of a scripting language such as JavaScript or
PHP.

Programming Environments It is the collection of tools in software development. It may consist


of only a file system, a text editor, a linker, and a compiler, or sometimes, it may include a large
collection of integrated tools wherein each is accessed through a uniform user interface.
Microsoft Visual Studio Code It is a redefined and optimized code editor for building and
debugging modern web and cloud applications. It is a lightweight yet powerful source code
editor that runs on a desktop and is available for Windows, macOS, and Linux. It has built-in
support for JavaScript, TypeScript, and Node.js and has a rich ecosystem of extensions for other
languages and runtimes such as Java, Python, C++, C#, PHP, and .NET). NetBeans It is a free,
open-source, integrated development environment (IDE) that allows the development of
desktop, mobile, and web applications. It provides comprehensive support for JDK 7
technologies and the most recent Java enhancements. It also supports JavaScript, Ruby, and
PHP. NetBeans and Visual Studio are more development environments as they are also
frameworks. This means that they provide common parts of the code of the application.
Arduino IDE It contains a text editor for coding, a message area, a text console, a toolbar for
various functions, and a series of menus. It connects to the Arduino board to upload programs
and communicate with them. Blockly It is a visual programming editor that uses drag-and-drop
blocks for coding. It is made by Google and is currently empowering the most popular coding
education programs worldwide. The user defines the block connections and input fields for
Blockly to handle the complicated rendering, dragging, and connection of them. Programming
Language Evaluation Criteria Evaluation criteria help analyze the impact of programming
languages on the software development process, including maintenance.

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.

You might also like