Program development methodologies - PROGRAMMING FOR BEGINNERS: All Concepts Explained (2016)

PROGRAMMING FOR BEGINNERS: All Concepts Explained (2016)

6. Program development methodologies

Program development methodology refers to in what fashion program is fundamentally written. You need to choose program development methodology before you even start writing program, although you can combine some methodologies. There are just two (there are others, but are very rare) popular program development methodologies available today, one called functional programming and another called object oriented programming. The following sections explain both methodologies.

6.1 Functional programming

Functional programming is programming methodology older than object oriented methodology, which basically means constructing program from one or more functions. Functions themselves are collections of one or more statements (i.e. one step in an algorithm) and have some specific names. Functions are used for grouping statements which collectively are intended for accomplishing some kind of specific task. For example, function name might be "CalculateCircleArea", which might contain statements for calculating area of a circle. You can think of functions as algorithms which do some kind of task, but you don't know steps included in algorithm.

Modern object oriented programming languages also support functional programming methodology. For example, C++ and Python both support functional programming.

6.2 Object oriented programming (OOP)

Object oriented programming (OOP for short) is a program writing methodology that allows the use of same code in different types of applications that require particular functionality that the code has. Object oriented programming also allows inheritance. What is inheritance? Think of it this way: imagine that you need to write code for completing two different tasks and that these tasks need to have partially same functionalities. Without inheritance, you would need to write code for these same functionalities twice. Whereas inheritance allows you to write code once and make other code get same functionality automatically as needed, but you have to exclusively write code in a way that some portions of code will inherit functionality from one code source. Real world example of inheritance would be when children inherit several same characteristics from parents. Object oriented programming methodology is more popular than functional programming today, because it allows creating large programs in an easy and organized way. It also allows reusability of existing code. Many popular programming languages support OOP, including C++, Java, Python, C# and Visual Basic.