Programming Concepts: Programming paradigms

From Wikibooks, open books for an open world
Jump to: navigation, search

UNIT 3 - ⇑ Programming Concepts ⇑

Programming paradigms Object-oriented programming (OOP) →


Paradigm - serving as a model or pattern; a template


You should have experience of programming solutions to problems. This experience is probably in a language such as: VB.NET, PHP, Python, Java or Pascal and you should be able to quickly understand what code like this would do:

  1. dim name as string
    
  2. dim age as integer
    
  3. console.writeline("please insert your name")
    
  4. name = console.readline
    
  5. console.writeline("Hello, " & name & " please insert you age")
    
  6. age = console.readline()
    
  7. console.writeline("Well, well " & name & " it looks like you are " & age & " years old")
    

So far you have been using two types of programming paradigms or set of concepts defining how a language works, these are called Procedural-orientated programming and Structured programming techniques. Taking a look at the example above, structured languages move from the program line by line, starting at 1, then 2, then 3. We have also made use of procedural paradigm features such as when the code meets a procedural name such as console.writeline("..") on line 5, then the program jumps off, executes the code corresponding to console.writeline("..") and returns to execute line 6. In this course you will be learning the following types, there are more

  • Procedural-orientated programming
  • Structured programming techniques
  • Event-driven programming
  • Object-orientated programming

Structured programming techniques[edit]

Structured programming techniques involve giving the code you write structures, these often involve writing code in blocks such as:

  • Sequence - code executed line by line
  • Selection - branching statements such as if..then..else, or case.
  • Repetition - iterative statements such as for, while, repeat, loop, do, until.
  1. dim x as integer
    
  2. x = 7
    
  3. If x = 2 then
    
  4.   x = x + 4
    
  5. else
    
  6.   x = x - 2
    
  7. end if
    
  8. console.writeline(x)
    

Procedural-oriented programming[edit]

Sharing the same features as structured programming techniques, Procedural-oriented programming implement procedures/subroutines to execute common functionality

  1. dim x as integer
    
  2. x = 7
    
  3. x = doubleIt(x)
    
  4. console.writeline(x)
    

Event-driven programming[edit]

Event Driven programming refers to your standard Windows Form idea, the program waits in a loop until an event(e.g. the click of a button, or a keystroke). The program then runs the code associated with this event and then returns to its loop, providing that the code did not instruct it to close.

If more than one event occurs, code is queued by the program and run in the order the events were triggered.

Exercise: Programming paradigms

List 4 different programming paradigms

Answer :

  • Procedural-orientated programming
  • Structured programming techniques
  • Event-driven programming
  • Object-orientated programming

What is meant by a programming paradigm

Answer :

a model or pattern; a template, defining how a programming language functions

Describe how Event-driven languages work

Answer :

the program waits in a loop until an event(e.g. the click of a button, or a keystroke). The program then runs the code associated with this event and then returns to its loop, providing that the code did not instruct it to close.

Describe 2 events that you might expect a computer game to handle

Answer :

  • button presses
  • network communication, e.g. someone sending you a message

Describe 2 events that you might expect a word processor to handle

Answer :

  • keyboard input
  • mouse buttons

Extension:

  • Functional programming
  • Logic programming