ICT167 Topic1-Part2
Murdoch University
Page
12
12
In software development, abstraction is used in two
ways:
1.
Procedural (functional) abstraction:
we have
procedural abstraction when we have a simple
name for a more or less complicated procedure, eg,
firstchar = the first character in s
(the procedure
finds the first character in a string).
2.
Data abstraction:
we have data abstraction when
we have a simple name for a more or less
complicated piece of data, like the value of a
variable. Eg, s is a whole string of characters.

ICT167 Topic1-Part2
Murdoch University
Page
13
13
Using Procedural Abstraction
(We will look at data abstraction later)
Coding at low-level is very boring and time
consuming.
Productivity (and convenience and ease of design
and ease of understanding and maintenance etc) is
increased greatly when the programming language
supports abstraction.
Much larger and more complex programs become
feasible.
Early high-level languages supported procedural
abstraction by allowing named functions,
procedures, subroutines or methods.
The idea was perhaps most developed in the
traditional teaching language Pascal.
Even modern OO languages like Java continue to
do so (in a very slightly different way).
The idea of using a procedure in design (and then
in coding) is to capture a common and well-defined
task.
It might be a task which is undertaken many times
at many places in your program (or even in other
programs too) or it might be a task which you want
to think about separately.
