Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
3 views

Programming Languages 1

Uploaded by

paduamark888
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Programming Languages 1

Uploaded by

paduamark888
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

IT2409

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
Ada Lovelace invented the first machine algorithm. She made the
leap that numbers could represent other things, leading to the idea
1843 Machine Language
of programming languages. Her work was the first step in
designing a language capable of giving computer instructions.
Konrad Zuse, a German scientist, developed a language for
expressing computations for the Z4, a computer from
electromechanical relays. Plankalkül means program calculus.

1940s Plankalkül 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.
Kathleen Booth wrote the first assembly language, a low-level
Assembly Language programming language developed to simplify machine code for
1949 writing instructions for processors.
Implemented by William Schmitt to improve the operations of the
Shortcode
BINAC and UNIVAC computers.
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.
1952 Autocode
It was considered the first compiled programming language that
could be translated into machine code using a special application
known as the compiler.
Formula Translation was created by John Backus to shorten the
process of programming and make computer programming more
1957 Fortran
accessible. It is still used today in supercomputers and scientific
and mathematical computations.
Algorithmic Language was created by American and European
ALGOL computer scientists. It became the point of origin for other
programming languages, including Pascal, Java, C, and C++.
1958 John McCarthy created the List Processor (LISP) for his artificial
intelligence (AI) applications. It is one of the oldest computer
LISP
programming languages still used today by AI companies like
Boeing and Genworks.
Stands for Common Business Oriented Language. It was developed
and designed by Dr. Grace Murray Hopper for business computer
1959 COBOL
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.

01 Handout 1 *Property of STI


Page 1 of 7
IT2409

Created as a computer programming language for beginners by


Dartmouth College students. BASIC stands for Beginner's All-
1964 BASIC Purpose Symbolic Instruction Code. Bill Gates and Paul Allen
furthered its development, and it became Microsoft’s first
commercially successful product.
Developed by Niklaus Wirth, it was named after the famed
mathematician Blaise Pascal. Apple was one of the leading
1970 Pascal
companies to endorse this due to its streamlined and
straightforward process.
Dennis Ritchie developed the C language at the Bell Telephone
Laboratories. It was named as such as it descended from the B
C language. It is recommended for creating embedded system drivers
and applications. Programming languages like C#, Java, JavaScript,
1972
Perl, PHP, and Python are all derived from C.
Structured Query Language was developed by Raymond Boyce and
SQL Donald Chamberlain. It was first called SEQUEL and was used for
modifying, viewing, and altering information in databases.
Bjarne Stroustrup, a C programmer, modified the programming
C++ language and released it as C++. The changes include new features
such as templates, classes, and virtual functions.
1983
Brad Cox and Tom Love created Objective-C, which is the primary
Objective-C programming language used to create applications for Apple’s iOS,
macOS, and iPad operating systems.
Guido Van Rossum founded this as a support language for software
Python developers, build control and management, testing, and many
other ways. It is a general-purpose, high-level language.
1991 Created by Microsoft. It allows users to drag and drop sections of
Visual Basic (VB) code simultaneously. Users can choose from various options in the
drop-down menus and change different codes.
Created by James Gosling for a software project for interactive TV.
It is considered one of the world’s most famous and popular
Java programming languages for coding web applications. It is a multi-
platform, object-oriented, and network-centric language that can
be used as a platform.
Created by Brendan Eich and is primarily used as a scripting
1995
JavaScript language in websites. It is also used for web development, PDF
documents, and desktop widgets.
Rasmus Lerdorf developed PHP (previously known as Personal
Home Page, now known as Hypertext Preprocessor) to build and
PHP
maintain web pages and server-side development. Facebook,
Wikipedia, and WordPress use PHP.
Table 1. Programming language milestones.

01 Handout 1 *Property of STI


Page 2 of 7
IT2409

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

Table 2. Programming domains.

01 Handout 1 *Property of STI


Page 3 of 7
IT2409

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.

Figure 1. Language evaluation criteria and the characteristics that affect them. Retrieved from Sebesta, R. (2019). Concepts of
programming languages. Pearson.

01 Handout 1 *Property of STI


Page 4 of 7
IT2409

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 ( } ).

01 Handout 1 *Property of STI


Page 5 of 7
IT2409

o 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.

01 Handout 1 *Property of STI


Page 6 of 7
IT2409

References:
Sebesta, R. (2019). Concepts of programming languages. 12th edition. Pearson.
Heirso, S. (2022). Coding from 1849 to 2022: A guide to the timeline of programming languages. [Web Article]. Retrieved
on November 15, 2024, from https://www.computer.org/publications/tech-news/insider-membership-
news/timeline-of-programming-languages

01 Handout 1 *Property of STI


Page 7 of 7

You might also like