AP ASS1 (2)
AP ASS1 (2)
Id no
1. Wubshet Ayellew
GUR/03113/14
2. Samuel Ayalew
GUR/02934/14
UNIVERSITY OF GONDAR 3. Tewodros Kassanew
GUR/02070/14
INSTITUTE OF 4. Samuel Teshale
TECHNOLOGY GUR/03077/14
DEPARTMENT OF
COMPUTER ENGINEERING
ADVANCED PROGRAMMING
GROUP ASSIGNMNET
Submitted to: Mr.Wondimu.b
Submission date:
Introduction
This presentation will take us on a
journey through the evolution of
programming, examining key early
languages like Plankalkül, Lisp, COBOL,
and others. These languages were
groundbreaking in their time and laid
the groundwork for modern programming.
Objective
Our objective is to analyze the
developers, purposes, advantages,
disadvantages, and timelines of these
pioneering languages, highlighting
their historical significance and
lasting influence on the software world.
Plankalkul programming language
Plankalkül, developed by Konrad Zuse. Plankalkül is likely the first high
level programming language ever designed.
Plankalkul means “plan calculus” in German.
Disadvantage of | 10 | 20 | A+B |
------------------------------------------
Plankalkül
ü Lack of practical
Implementation
ü Difficult Syntax and
Notation
ü Limited Functionality
2. Short code
Short Code was proposed by John Mauchly in 1949 and originally known as
Brief Code.
It is interpreted language.
Development Timeline
In the late 1940s the concept and initial development of Short Code
began in the late 1940s (around 1949) by
John Mauchly.
Implemented by William schmitt for BINAC computer at the same year.
ü Early 1950s:
Short Code was later being developed for the UNIVAC I computer, which
was being developed and became available
commercially around this time (1950).
It became an official feature of the UNIVAC I system software in early
to mid 1950s.
Short Code was refined and used internally within the UNIVAC I
Purpose of Development
Simplification : To simplify the tasks of programming for the UNIVAC I ,
making it easier to write, debug, and manage software
Abstraction: To abstract away the complexities of machine code.
Accessibility: to make programming more accessible to non hardware
engineers
Increase productivity: to increase the efficiency of program creation by
using higher-level symbolic commands compared to machine code.
Advantage and disadvantage of shortcode
Features Advantage Disadvantage
Abstraction Higher level than machine code, hides Not as efficient as direct machine code
hardware complexities, easier to understand
Syntax Symbolic codes, simplified syntax, easier to Limited features and data types compared
learn to more advanced languages
Productivity Quicker code writing, faster debugging Performance was often slow, owing to
increased efficiency of program creation interpretation
Execution Interpreter concept, software translation, Interpreter overhead, memory constraints
abstraction of hardware due to the interpreter and larger lookup
table
Portability Some code management advantages, allows Highly platform-specific, only for UNIVAC I ,
modification/patching not portable to different hardware, limited
application scope
Code example
Advantage disadvantage
High Performance for Numerical Computations Verbosity and Older Syntax
Excellent Support for Arrays and Matrices, built Limited Data Structure Capabilities
in math and scientific libraries
Good Support for Parallel Computing (features in Less Strong Community and New Development
multithreading and distributed memory)
Direct Access to Low Level Resources (a degree Object oriented future not robust as other
of low-level control over memory access and language
management)
Large selections of well-developed mature Difficult maintenance of legacy code
libraries, strong legacy support
Code example
program arithmetic_example
implicit none // Recommended to avoid implicit declarations
real :: a, b, sum, difference, product, quotient
a = 10.0
b = 3.0
sum = a + b
difference = a - b
product = a * b
quotient = a / b
print *, "Sum:", sum
print *, "Difference:", difference
print *, "Product:", product
print *, "Quotient:", quotient
end program arithmetic_example
5. FLOW-MATIC
Flow-Matic was an early high-level programming language developed
by Grace Hopper and her team at Remington Rand in the late 1950s.
Development Timeline
ü In the Late 1950s Grace Hopper and her team at
Remington Rand started developing the concepts for
Flow-Matic.
ü In 1957 The initial version of Flow-Matic was
developed for the UNIVAC I and UNIVAC II computers.
ü In 1958 Flow-Matic was publicly demonstrated,
showcasing its business data processing capabilities.
ü In Early 1960s: Flow-Matic was further developed and
used by some business users, but it gradually fell out
of widespread use.
Purpose of development
Simplify Business Programming: to make programming more accessible and efficient for business
applications.
Automate Data Processing Tasks: designed to automate common business tasks such as sorting, merging,
reporting, and other data manipulation tasks.
Early Compiler Development: The development of Flow-Matic included the development of one of the
first compilers that could translate its high-level source code into machine code automatically.
Advantage and disadvantage of flow-matic
Advantage Disadvantage
PRINT OVER-QUOTA-LINE.
PROCESS-NEXT-RECORD.
STOP.
6. ALGOL
It stands for algorithmic language.
ALGOL is a computer programming language that was created in
1958–60 by an international committee of the Association of
Computing Machinery (ACM) chaired by Alan J. Perlis of Carnegie
Mellon University for publishing algorithms and performing
calculation
It’s imperative programming language
Development Timeline
In late 1950s Initial discussions and meetings, growing awareness
of need for a common algorithmic language.
In 1958 publication of ALGOL 58.
In 1960 publication of the ALGOL 60 report.
In 1960s Implementations and adoption of ALGOL 60, emergence of
criticisms and proposals for improvements.
In 1968 Publication of the ALGOL 68 report.
Purpose of development
Ø Machine Independence and Portability
Ø Clear and Unambiguous Algorithm Description:-
to create a standardized, universal language
for describing algorithms, particularly for
scientific and mathematical computations
Ø Improve Code Structure and Readability
Ø Provide a Foundation for Compiler Development
Advantage and disadvantage of algol
Advantage Disadvantage
It encourages the production of well-structured Since ALGOL 60 had no I/O facilities, there is no
programs over preceding languages portable hello world program.
Development Timeline
Ø In the late 1950s Conceptualization and initial
design by John McCarthy.
Ø In 1960 Publication of the foundational paper, birth
of Lisp.
Ø From 1960s-1970s early implementations and the
emergence of dialects.
Ø In 1980s Standardization with Common Lisp and the
rise of Scheme.
Purpose of development
Symbolic Computation
Artificial Intelligence Research
Recursion and Functional Programming
List Processing as a Fundamental
Operation
Metaprogramming and Code-as-Data
Interactive Development, it include
REPL(read-eval-print loop)
Advantage and disadvantages of LISP
Advantage Disadvantage
purpose of development
§ business oriented: To handle the specific
needs of business data processing tasks, such as
accounting, inventory management, and payroll.
§ Easy to read and understand: Designed to be
more readable than assembly language or FORTRAN.
Advantage Disadvantage
PROCEDURE DIVISION.
STRING FIRST-NAME " " LAST-NAME DELIMITED BY SIZE INTO FULL-NAME.
DISPLAY "Full name: " FULL-NAME.
STOP RUN.
u!
yo
nk
ha
T