Lecture 01 Flashcards
(24 cards)
Scientific applications
Large numbers of floating-point computations; use of arrays
Fortran (Formula Translating System, IBM)
Business applications
Produce reports, use decimal numbers and characters
COBOL (COmmon Business-Oriented Language)
Artificial intelligence
Symbols rather than numbers manipulated; use of linked lists
LISP (LISt Processing)
Systems programming
Need efficiency because of continuous use
C
Web Software
eclectic collection languages:
markup HTML, scripting PHP, general purpose Java
Machine languages
Hardware implemented languages.
Set of the instructions of a processor.
Machine code is usually written in hexdecimal numbers. e.g Intel64arch
Assembly languages
machine codes are wrapped with alphanumeric symbols so that the instructions are more
readable.
High-level languages:
languages that are machine independent (more readable)
through variables, complex expressions, control structures, composite types.
e.g C, JAVA
System programming languages:
differ from application
programming languages
web authoring, database,
or scientific computing
for I/O, memory processor, drivers, OS.
Scripting languages
transform a large amount of regular textual information.
Python, PHP, etc
interpreted not compiled usually.
include string processing features.
Domain-specific languages:
unlike general purpose languages, they are used in highly special-purpose areas only,
e.g., PostScript - vector graphics
Procedural
program is built from one or more procedures (subroutines or functions)
central features are variables, assignments statements, and iteration.
e.g. C, JAVA, Perl, JavaScript…
Functional
Main means of making computations is by applying functions to given parameters like Haskell, LISP…
Logic
Rule-based like ProLog
Imperative languages:
computing tasks are defined as sequences of commands
(statements) for the computer to perform.
program in such language tells computer what to do step-by step
e.g Procedral langauges.
Declarative languages
in which programs describe their desired results without explicitly
listing commands or steps that must be performed.
– functional and logical programming languages belong to this category.
Most Influential Languages
FORTAN - Scientific Computing.
COBOL - Business Data Processing.
Algol - Overcome problems of FORTRAN.
Pascal - Descendant of Algol intended to be more efficient and to compete with Fortran as General Purpose Language.
Fortran
Fortran (Formula Translation) is first well-known high level language.
Fortran Development Goals
The developmemnt goals:
To lower costs involved with programming and debugging.
To compete with hand-coded assembly language programs in terms of execution speed.
Early Features of Fortran
Assignments, DO loops, , three-way arithmetic IF statements, GOTO statements;
integers, reals, arrays (and very basic string handling)
Fortran Source Code Format
Fortran source code has strict source code format.
*Early programs were entered on a keypunch keyboard onto 80 column punched cards. Each card records one line of code.
TPK Algorithm
designed by Trabb Pardo
and Knuth in 1970s purely for illustration purpose:
– reads 11 numbers (from the keyboard), storing them
in an array;
– processes the array in reverse order, applying a
mathematical function to each value, and for each
resulted value:
– reports the value or a message saying the value is
too large.
Characteristics of Fortran
Reflecting punched card input practice, Fortran programs were
originally written in a fixed column format.
COBOL
Created at the end of the 1950s by a committee of the US Dept of Defense.
designed for business data processing rather than for
scientific computing
verbose syntax in words.