Monograph On Programming Languages
Monograph On Programming Languages
1 INTRODUCTION
2 LANGUAGES PROGRAMMING......................................................................7
3 HISTORY OF PROGRAMMING LANGUAGES......................................8
4 CLASSIFICATION OF PROGRAMMING LANGUAGES.........................10
4.1 LANGUAGE MACHINE:..................................................................................10
4.1.1 Advantages from machine language:...............................................................11
4.1.2 Disadvantages from machine language:.........................................................11
4.2 LANGUAGES LOW LEVEL (assembler):.............................................11
4.2.1 Advantages of assembly language versus machine language:............13
4.2.2 Disadvantages of assembly language:..................................................13
4.3 LANGUAGES HIGH LEVEL:......................................................................14
4.3.1 Advantages of high-level languages:...................................................15
4.3.2 Disadvantages from high-level languages:.............................................16
5 OTHER CLASSIFICATION OF PROGRAMMING LANGUAGES..............17
3
6.8 ADA.................................................................................................................23
6.9 LISP................................................................................................................24
6.10 LOGO
6.11 RPG
6.12 ALGOL............................................................................................................25
6.13 APL
6.14 PILOT..............................................................................................................26
6.15 SMALLTALK
6.16 FORTH............................................................................................................27
6.17 LANGUAGE C++.............................................................................................27
6.18 DELPHI...........................................................................................................27
6.19 JAVA
6.20 JAVASCRIPT
6.21 HTML..............................................................................................................28
6.22 HYPERTALK
6.23 Perl
6.24 PHP
6.25 PROLOG
6.26 SQL
6.27 ASP
7 EVOLUTION OF PROGRAMMING LANGUAGES...............................33
8 CONCLUSIONS
9 REFERENCES BIBLIOGRAPHIC..........................................................36
4
1 INTRODUCTION
These languages allow, on one hand, to write the operations that are necessary.
to carry out to solve the problem in a way similar to how it would be written
conventionally (that is, to properly draft the resolution algorithm of the
problem) and, on the other hand, is responsible for translating the algorithm into machine language
5
symbolic languages. The first to appear were the assemblers,
it essentially consisted of giving a name (mnemonic) to each type of
instruction and each address (label). At first, the program was made on paper.
and then it was translated by hand with the help of some tables, and was introduced into the
6
2 PROGRAMMING LANGUAGES
generally that the translation of the instructions to a code that understands the
The computer must be completely systematic. Normally, it is the computer.
the one that performs the translation.
The Documentation Center for Studies and Oppositions states that a language of
programming is a 'Set of instructions, commands, and symbols recognizable by
automaton, through its programming unit, which allows it to execute the
desired control sequence. To the total set of these instructions, commands and
symbols that are available are called programming languages of
automaton. The program is made up of a set of instructions, statements,
functional blocks and graphics that indicate the operations to be performed. The
instructions represent the most basic task of a program: read an input,
7
perform an operation, activate an output, etc. The statement represents the minimum
set of instructions or statements that perform a complex task or function:
find the value of a logical function in combination with several variables, consult
a set of conditions, etc. The functional block is the set of instructions or
statements that perform a complex task or function: counters, records of
displacements, information transfers, etc. All these elements are
related to each other through symbols or graphics.
Finally, Katherine Gómez mentions, "It is a set of words and symbols that
allow the user to generate commands and instructions for the computer to
execute. Programming languages must have instructions that belong to
the already familiar categories of input/output, calculation/manipulation, of texts,
logic/comparison, and storage/retrieval.
So, from the definitions of the different authors we can gather that a
programming language is a means that allows us to execute a series of
instructions whether simple or complex that the computer will interpret accordingly
to the logical structure prepared by the user that will allow for a
specific task.
The first programming languages emerged from the idea of Charles Babbage, the
What occurred to this man in the mid-19th century? He was a teacher.
mathematician from Cambridge University and English inventor, who at the beginning of
The 19th century predicted many of the theories on which current computers are based.
It consisted of what he called the analytical machine, but for reasons
The technical aspect could not be built until the mid-20th century. Ada collaborated with it.
8
logically, they did not execute either, but they do represent a starting point of
programming, especially if we consider that as soon as programming began,
the programmers used the techniques designed by Charles Babbage, and Ada, that
consisted among other things, in programming using punch cards. Despite
Hello, Ada has remained the first programmer in history. It is said by
so much that these two geniuses from the past were ahead of their time by a century,
describe the intelligence they were endowed with.
In 1823, the British government supported him to create the project of a machine for
differences, a mechanical device for performing repeated additions. But Babbage
he dedicated himself to the project of the analytical engine, abandoning the machine of
differences, that could be programmed with punch cards, thanks to the creation
Charles Jacquard (French). This man was a fabric manufacturer and had
created a loom that could automatically reproduce fabric patterns by reading the
information encoded in patterns of punch holes in paper cards
rigid. So Babbage tried to create the machine that could be programmed with
punch cards to perform any calculation with a precision of 20 digits.
But the technology of the time was not enough to bring their ideas to life. Although the
Babbage's ideas did not materialize definitively, but his contribution is
decisive, since current computers respond to a scheme analogous to that of the
analytical machine. In its design, the machine consisted of five basic units:
9
When the first computer emerged, the famous ENIAC (Electronic Numerical
Integrator And Calculator), its programming was based on physical components, or
sea, which was programmed, directly changing the machine's hardware,
exactly what I knew how to do was to change the cables around to achieve that
machine programming. Data input and output were done through
punched cards.
10
4.1.1 Advantages of machine language:
11
assembly or assemblers also allow the computer to convert the
instructions in assembly language of the programmer in their own code
machine.
Low-level languages allow the creation of very fast programs, but they are,
often difficult to learn. More importantly, the fact that the programs
written at a low level are highly specific to each processor. If it is carried out
the program to another machine must be rewritten from the beginning.
12
4.2.1 Advantages of assembly language over machine language:
The programmer must have a perfect understanding of the hardware of the equipment, as they handle
13
4.3 HIGH-LEVEL LANGUAGES:
These languages are the most used by programmers. They are designed to
that people write and understand programs in a much easier way
than machine and assembly languages. A program written in high-level language
level is independent of the machine (the instructions do not depend on the design of
hardware or a particular computer), so these programs are
portable or transportable. Programs written in high-level language can
be executed with little or no modification in different types of
computers. They are programming languages in which the instructions sent
so that the computer executes certain commands that are similar to human language.
Since the computer is not able to recognize these commands, the use of
of an interpreter that translates high-level language to a low-level language that
the system can understand.
14
Achieve independence from the machine, being able to use the same program in
different teams with the only condition of having a translation program or
compiler, which is supplied by the manufacturer, to obtain the program
binary machine executable code in question. Furthermore, it is not necessary
know the specific hardware of that machine. Approach natural language,
so that the program can be written and read more easily, eliminating
many of the possibilities of making mistakes that occurred in the language
machine, since words (in English) are used instead of strings of symbols without
no apparent meaning. Include frequently used routines, such as entry/
output, mathematical functions, table management, etc., that appear in a kind of
language library, so that it can be used whenever desired without
need to program them each time.
15
It can be said that the main problem that high-level languages present is
the large number of them that currently exist in use, besides the different
versions or dialects that have developed from some of them. It is difficult
establish a general classification of them, since in any that is
There will be languages that belong to more than one of the established groups.
A widely used classification, based on the way programs work
and the philosophy with which they were conceived is the following:
• Natural languages. New languages are being developed with the main
objective of bringing the design and construction of programs closer to the language of the
people.
16
5.2 Second generation.
Early imperative high-level languages (FORTRAN, COBOL).
4th generation.
Basically oriented towards management applications and database handling
(NATURAL, SQL)
The following are several of the most well-known and widely used languages of
high level.
17
6.1 FORTRAN
Abbreviation of Formula translator (formula translator), was defined around
year 1955 in the United States by the company IBM. It is the oldest of the
high-level languages. Before him, all programs were written in language
assembler or machine language. It is a specialized language for applications
techniques and scientific. It is characterized by its power in mathematical calculations,
but it is limited in management applications, file handling, processing of
string manipulation and report editing. It is a notable language, due to its ease of use.
with which to express an equation. Many of its characteristics were
later incorporated into the first BASIC language. One of its advantages is that it is
a compact language and it is also widely used for applications in the
businesses that do not require handling large data files. Until 1961, it
it maintained IBM's monopoly, but later it was implemented in
computers from other manufacturers. Throughout its existence, they have appeared
different versions, among which stands out the one adopted in 1966 by the ANSI
(American National Standards Institute), where new rules were defined
language and achieved its independence from the machine; that is,
the portability of the language began. This version was called FORTRAN IV or
FORTRAN 66, and the language became so popular in the 60s that FORTRAN 66
the first language was officially regulated in 1972. In 1977 it appeared
a new, more evolved version called FORTRAN V or FORTRAN 77.
It is reflected in the document ANS X3.9-1978: Programming Language FORTRAN
And define two levels of the language called FORTRAN 77 complete and FORTRAN.
77 basic, with the second being a subset of the first. It also includes,
instructions for handling character strings and files, as well as others
for the use of structured programming techniques. These characteristics
make the language also valid for certain management applications.
In the mid-1970s, virtually every computer was provided,
mini or mainframe, with a normal FORTRAN 66 system. It was therefore possible
write programs in FORTRAN on any system and be fairly sure that
18
they could move to work in any other system quite easily. This, and
the fact that FORTRAN programs could be processed very efficiently. The
the latest normalization of the language, FORTRAN 90, is found in the document
ANS X3.198-1991 which includes characteristics such as recursion,
parallel treatment of tables and use of dynamic memory. Allows for expressing the
programs in ways that better satisfy a computing environment
modern and many of the mechanisms that were appropriate have become obsolete
in FORTRAN 77. In FORTRAN 90, some features of FORTRAN 77 have been
replaced by better, safer, and more effective traits, many of these
were removed from the FORTRAN 95 language. FORTRAN has the advantage of being a
a compact language that works very well to meet the needs of the
scientists and business statisticians.
COBOL
It is the most widely used language in management applications, created in 1960 by a
committee called CODASYL (COnference on DAta SYstems Languages)
sponsored by the United States Department of Defense, in order to have
of a universal language for commercial applications, as its name expresses
Common Business Oriented Language.
Throughout its existence, it has undergone various updates. Its first standard
It was approved by ANSI in 1968. Subsequently, in 1974, the standard was adopted.
ANS X3.23-1974, which has lasted until its latest version, COBOL ANS-85, which
facilitates the structured design of programs.
Among its drawbacks are its rigid writing format rules, the
need to write all elements in maximum detail, excessive length
19
in their sentences, and even duplication in some cases, and the non-existence of
mathematical functions.
Nevertheless, it can be said that today it continues to be the most widely used language
used in management applications.
6.3 PL/I
It was created in the early 1960s by IBM to be used in its equipment.
of the 360 system. Inspired by the ALGOL, COBOL, and FORTRAN languages
developed PL/I (Programming Language/I) by taking the best features from
the previous ones and adding some new ones, with the aim of obtaining a language that
as general as possible in terms of its implementation, useful for technical applications
scientific, commercial, text processing, database, and programming
of systems. It is a complex programming language. Compiled and
structured, is capable of managing errors and processing multitasking, and is used
in academic and research environments.
Among its novelties is its great freedom in the writing format of the
programs: supports structured programming and modular design. It is a language
flexible and sophisticated. However, it has not surpassed its progenitors in its
specific applications, partly due to their breadth and, therefore, their size
compiler that until now could only be installed on large machines. The element
The basic of this program is the statement that ends with a semicolon. The
statements are combined into procedures. A procedure can represent
completely to a small program or a 'building block' or module of a
more complex program.
6.4 BASIC
The BASIC language was designed by professors John G. Kemeny and Thomas E.
Kurtz from Dartmouth College (United States) in 1965, with the main objective of
provide beginners with an easy-to-learn language, as indicated in their
Beginner's All-purpose Symbolic Instruction Code
20
general purpose symbolic for beginners). It is a very interactive language
popular that has acceptance due to its ease of use, it is a simple language
to learn and easy to translate. It is interactive, allowing direct communication
between the user and the computing system during the preparation and use of the
programs.
Among its main new features is being an interpreted and user-friendly language.
conversational, useful for technical and management applications. This, combined with the
6.5 PASCAL
It was created by the Swiss mathematician Nicklaus Wirth in 1970, based on the
ALGOL language, in whose design he had participated in the sixties. Its name
comes from the 17th century French philosopher and mathematician, Blaise Pascal, who invented
the first mechanical type machine for addition. It was the first great language created
after the concepts associated with have been widely disseminated
structured programming.
21
6.6 C
This language was created in 1972 by Dennis Ritchie based on the work developed.
by his colleague from Bell Telephone Laboratories, Ken Thompson. They had
previously designed the UNIX operating system, and its intention in developing the
C language aimed to achieve an ideal language for systems programming.
that was independent of the machine, with which to write its UNIX system.
The optimal use of this language is achieved within its natural environment, which
this is the UNIX operating system, and among its features stands out the use of
structured programming to solve low-level tasks, as well as the wide
library of routines available. The C language combines characteristics of
intermediate programming between assembly languages and high-level languages
level; with great power based on its operations at the bit level (typical of
assemblers) and most of the elements of structured programming
high-level languages, making it the preferred language for the
software development of systems and professional application programming
of computers.
6.7 MODULA-2
The MODULA language was designed in 1977 under the direction of Nicklaus Wirth.
creator of the PASCAL language as well, with the intention of including the needs of
22
the programming of systems and responding to the criticisms received regarding the
shortcomings of the PASCAL language. In 1979, a version is released that moves to
to be called MODULA-2 and that endures to this day.
Also, due to its educational qualities, it has been widely accepted by the
university community as an ideal tool for teaching of the
programming.
6.8 ADA
It is the last attempt to obtain a single language for all types of applications, and
even the latest advances in programming techniques. Its design was commissioned
by the Department of Defense of the United States, for use in services
military, to the company Honeywell-Bull after a rigorous selection among
various proposals made regarding a series of language requirements and
have negatively evaluated twenty-three existing languages. Of these, we
they selected PASCAL and ALGOL as the basis for the creation of the new language
and PL/I.
The standardization of the language was published in 1983 under the name ADA, in honor
of the considered first programmer in history, Augusta Ada Byron, countess
of Lovelace.
23
extension. The writers called it inflexible and inefficient, as its
supporters regarded it as a major advancement in software technology.
6.9 LISP
In computer science, acronym for List Processing. A programming language for
computers or computers oriented towards list generation, developed in
1959-1960 by John McCarthy and used mainly for manipulating data lists
or symbols. The LISP language represented a radical change compared to the
procedural languages (FORTRAN, ALGOL) that were being developed at that time. The
LISP is an interpreted language, in which each expression is a list of calls.
functions. This language is still frequently used in research and in
academic circles, and it was long considered the model language
for artificial intelligence (AI) research, although Prolog has gained
land over the last few years.
6.10 LOGO
In computer science, programming language for computers,
developed in 1968 by Seymour Papert at MIT, which is frequently used in
the teaching of programming language to children. An important feature of
Logo is the turtle graphics that allow the programmer to create simple drawings.
directing the movements of the turtle on the screen forward, towards the
right or left. Once they master the simple environment of the drawing, the
programmer (usually a boy or a girl) begins to discover the
more sophisticated characteristics of language, which are fundamentally based
in the programming language LISP. Logo is considered a language for
the training, even though some companies tried to make it have a greater
acceptance in professional programming circles.
6.11 RPG
Report Program Operator was introduced in 1960 as a language for duplication.
quickly the process approach used with a punched card team. This
24
the language was developed by IBM in 1964. Its use is still limited, especially for
business applications that are processed on small computers,
generate commercial or business reports. As its name suggests, the RPG
it is designed to generate the output reports that result from the process of
business applications.
One advantage of RPG is the relative ease of learning and using it. Given that the
programming logic is fixed, there are fewer formal rules than in others
languages.
6.12 ALGOL
ALGOL (ALGOrithmic Language) was introduced in 1958. It was the first programming language.
high-level structured process programming. It was geared towards the use of those who
they participate in scientific and mathematical projects. An international group of
European and American mathematicians aimed to create a common language.
normalized that would allow them to exchange algorithms, although it is outdated,
He was the first to incorporate key concepts for current programming.
6.13 APL
Its initials stand for (A Programming Language). A Programming Language.
This program was developed by Kenneth Investment in 1961 to solve
mathematical problems. This language is characterized by its brevity and by its
matrix generation capacity and is used in the development of models
mathematicians.
6.14 PILOT
Programming Inquiry Language Or Teaching
scheduled research) created in 1969.
25
This programming language is primarily used for creating
applications intended for computer-assisted instructions. It is characterized by
for using a minimum of syntax.
6.15 SMALLTALK
SMALLTALK, Object-oriented Programming Language integrated with a
multi-window development environment. SMALLTALK is not just a beautiful language of
object-oriented computing. The development environment deserves similar valuation
and has been copied many times, since the Apple Operating System MS Windows
and Borland Pascal (in an extended memory). Many concepts of SMALLTALK
how browsers and browsing techniques have found their way today in
many development tools of Generation X, developed by SMALLTALK
they possess a 'fun-to-use' factor. Changes are recorded instantly and the
they can be tested quickly.
26
projects. IBM developed the VisualAge product family for SMALLTALK in
collaboration with Object Technology (formerly ParcPlase-Digitalk) and IBM
they remain as the dominant distributors of development environments in
SMALLTALK. Some new SMALLTALKs are in the development stage.
6.16 FORTH
Fourth generation language, created in 1970, is a structured language and
easy to expand and offers high functionality in a space
reduced. It is a high-level language from which almost all currently derive
languages used in robots.
6.18 DELPHI
It is a visual object-oriented programming environment for rapid development of
general purpose Rapid Application Development (RAD) applications, including client/server applications.
Delphi is the 32-bit version of Delphi (Delphi 3), meaning they are almost the same.
with the only difference that Delphi 3 is much improved, for example it contains
a TeeChart, which is used for business graphs.
27
Management of scalable databases.
6.19 JAVA
It is a programming language for creating secure, portable, object-oriented programs.
to interactive objects, to improve the delivery of information through the Internet,
etc.
6.20 JAVASCRIPT
This programming language was originally called LIVESCRIPT, but then
it was renamed with the name of JAVASCRIPT, with the idea of capitalizing on the fame of
Java, a language developed by Sun Microsystems. This is an ideal complement of
HTML language, by allowing the page to perform some tasks on its own, without
the need to overload the server it depends on; JAVASCRIPT is a
language designed specifically to be executed on the internet.
Among these tasks, it can include, for example, performing some simple calculations,
format a text so that it can be read by different people in different ways,
provide a means to configure the display of a page, make a pre
validation check on the form before sending it, etc.
6.21 HTML
The HTML language is used to create those attractive web pages. It is about a
a system of tags that allows linking text, sounds, and graphics simultaneously
within the same document, with others on the server or even with others
WWW servers. That is to say, it is an editor to combine texts, images, and even
sound and now also moving images. It is, ultimately, the way of
manage and present information on the web.
28
A new format has been developed to write hypertext documents.
data or language called Hyper Text Markup Language (HTML). This language
allows to give precise instructions to the client program on how it should be presented
document on screen or when printed.
The first thing is to know that an HTML document is a plain text file, then,
It can be edited with any text editor.
HTML interpreters do not take into account tabs, line breaks, or the
extra white spaces. This has advantages or disadvantages. The main advantage is
which allows obtaining uniform results and good presentation in a manner
quite easy. The main disadvantage is that an HTML document, at least,
should use the <P>... </P> or <BR> commands to prevent all the text from being together
a single line.
The first thing is to know the commands that every HTML document must contain.
more than one line long:
29
THE COMMAND PARAGRAPH:
HYPERTEXT STRUCTURE:
HEADER:
It starts with the command <HEAD> and ends with </HEAD>. Generally, it
include here the document title, using the command <TITLE>... </TITLE>.
BODY:
It starts with the <BODY> command and ends with the command. Inside the
The body of the document includes any printable character. In addition, it is
It is important to include the command <ADDRESS>... </ADDRESS> at the end of the body but
inside it. Inside the ADDRESS the name of the author of the document is written,
organization to which it belongs, its email address and another
information that is considered relevant.
30
6.22 HYPERTALK
"HyperTalk" is the language developed by Dan Winkler for Bill Atkinson, the creator.
"HyperCard" for Apple-Macintosh. It is aimed at the creation of applications.
according to the system of 'hyperfiles' (interrelated card systems where
it makes it easier to 'navigate' from one file to another).
6.23 Perl
It is a specialized language in text processing, particularly extracting
and validate the responses to questionnaires included on web pages.
6.24 PHP
Language that ties to HTML (web pages) to define procedures that has
to create the web server, for example processing a form, sending or extracting
data from a database (also fitting with a SQL-type language),
send one or another webpage according to certain pre-established conditions
programmer, etc.
31
6.25 PROLOG
The early years of the 1970s are known as a period of "crisis of
software
costs higher than those of the hardware that runs it. It also became evident a
growing need to process 'knowledge' (something much broader and
complex that quantitative data or mere 'character sequences' to which
many programming languages are being reduced). This crisis led to research
numerous alternatives, among which new languages not based on
algorithmic instructions or procedures. If man 'processes' more information
By logical inference rather than calculation, couldn't the machine do the same?
6.26 SQL
Language developed especially to facilitate database queries
(BD), progressively narrowing down the search (hence the name "Sequential"
Query Language
32
which we talked about earlier also serves to define insertion procedures
and data query from databases that work with SQL.
6.27 ASP
Its name is Active Server Pages. It is an independent language, designed by
Microsoft for the efficient coding of server scripts, which were
designed to be executed by a web server in response to a request from a
User's URL. ASP scripts are similar to other server scripts.
with which you may be familiar, that are used on other platforms,
like Perl, Python, etc.
33
Standard language, APL/360
flexible and general
Structured programming
Software Engineering
Simple languages
1976 - 80 Computers cheap and ADA
powerful
Distributed systems FORTRAN 77
Real-time programmers PROLOG
Interactive programmers C
Data abstraction
Reliable programmers
and easy maintenance
generation is not very well defined, but it is apparent that they must be fulfilled
at least the following requirements: The way they are constructed and the way in
that human beings communicate with them.
The first programming languages emerged from the idea of Charles Babbage,
included among others, programming using punched cards.
34
Machine language is the only one that the computer understands directly, it uses the
binary alphabet, which consists of the only two symbols 0 and 1, called bits. It was
the first language used in computer programming.
9 BIBLIOGRAPHIC REFERENCES
Books:
Digital Notes
from Mexico.
35
Programming Languages
Principles and Practice.
Electronic References:
http://www.monografias.com/trabajos38/types-programming-languages/types-
programming-languages.shtml
http://en.wikipedia.org/wiki/Programming_language
36