After These paradigms are stored in ‘programming libraries’

After the introduction of computers, many different methods and languages have been developed so far in order to communicate with these machines. Starting with binary number system to writing programs, each language had its own loopholes and critiques. This report elaborates on ‘procedural programming’ which was introduced post the development of third generation languages (Davis, 2010). The report outlines the features, characteristics and principles of procedural programming using available literature. Features of procedural programming One of most common and traditionally used communication method is ‘procedural programming’. It is also referred as ‘imperative programming’ (Deirbach, 2013). Brookshear (2014) says that procedural programming is driven from the word ‘procedure’ which means ‘function’ where function represents a series of computational steps that can be called anywhere in a computer program. The most common example of a function is as follows;int main(){ return 0; } Yevick(2012) defines procedural programming as a ‘flowchart’ which is used to develop large application programs by applying step-by-step smaller programs known as ‘functions’ or ‘procedures’. In addition to this, procedural programming helps the developer to breakdown large application into structure, variables and sub-routines that are stored systematically in ‘procedural programming paradigm’. This process of breaking procedure into sub-procedure is known as ‘functional decomposition'(Gabbrielli and Martini, 2010) which continues until the problem is so simplified that it can be solved by corresponding sub-procedure.  Programs exactly follow these procedures step by step in order to perform what they are told to do. These functions are pooled in global data (known as ‘global variables’) (Chen, 2004) which contains sequence of statements that are open to the developer throughout the program so as to manipulate and create the desired outcome. Global data is accessible by all the functions within a program which may result in problems and risks because if one function changes the value in the global data then it will affect the whole program. It will be difficult for the developer to identify which function caused the change and the problem will become really big. ‘Local variables’ (Ben-Ari, 2006) helps in reducing such risks as they only be viewed by the developer within the block of code that it was written, rather than throughout the program.  These paradigms are stored in ‘programming libraries’ which can be used by users and developers, anytime, during the entire script of code (Davis, 2010). Two most common programming languages are C language and pascal code where the text below shows how simple functions are written in procedural programming for C language: Example of C coding int main(){int count; for(count=0; count<10; count++)print("This is a test that will be printed everytime the number is under 10");return(0);} Characteristics and principles of procedural programming The basic essence of procedural programming is that it focuses on a sequence of steps, a logic that flows from start to end, in order to implement a particular algorithm, as mentioned by Gabbrielli and Martini (2010). Rather than focusing on data, procedural programming focuses on the traditional approach towards writing a program that tells the computer what to do or communicate with the machine. This type of method encompassing keeping code, function and procedures that focuses on very narrow end results that need to be achieved (desired execution) (Pardum, 2003). Due to the fact that programming data and functions are stored in different location within a memory therefore it can be said that procedural programming pays more attention to process rather than data. Procedural programming is relatively simple to use and easy to interpret and implement (Kedar, 2011). Moreover, due to the fact that developers can use same code and functions at different places without copying it again and again, procedural programming takes less memory. Procedural programming has proven to be very efficient because it developed for specific uses (Weisfeld, 2009). It can be beneficial in developing smaller programs because developer can write programs and script of codes step by step, logically. One of the good examples of procedural programming is C language and as Ben-Ari (2006) states that since the language is designed to be proximity to assembly language therefore it is extremely flexible, simple to implement and interpret by users and developers. Limitations of procedural programmingAs mentioned above, in case of global data, all functions have access to the global data and thus any change in value by any function can expose risks to whole program. Moreover, rectifying the problem will be troublesome from maintenance point of view, as large amounts of code need to be edited, as pointed out by Kedar (2011). This also highlights that procedural programming do not give importance to data which implies that procedural programming so not relate to real world objectives but rather focuses on sequence of steps (Purdum, 2013). Another disadvantage that arises from the way procedural programming handles data is that it is poor in handling fuzzy conditions and exhibits low level language (Weisfeld, 2009).  ConclusionIt can be concluded that in order to develop and execute programs, the top-down approach of procedural programming has proved to be an effective one. Though the programming has its own pros and cons but languages such as C-language and pascal code shows that procedural programming is simple to write and executive sequential codes that helps developers to develop large applications using smaller functions. Due to the lack of relevance given to data, most of the programmers prefer to use different programming paradigm however procedural programming is till date the most researched and applied programming paradigm for developing programs and applications.             Assignment 2Introduction:After the introduction of computers, many different methods and languages have been developed so far in order to communicate with these machines; starting with binary number system to writing programs (Davis, 2010). This report elaborates on 'procedural programming' which was introduced post the development of third generation languages Procedural programming is the most standard type of programming that is used in traditional machines since traditional times. Procedural programming is a method through which programmers or human instruct a computer to perform certain tasks. Procedural programming is also recognized as modular programming. Unlike other programming methods, in procedural programming series of steps and languages are used program the machine (Gabbrielli and Martini, 2010). Brookshear (2014) says that procedural programming is driven from the word 'procedure' which means 'function' where function represents a series of computational steps that can be called anywhere in a computer program. The key feature of procedural programming is its simplicity since it is comparatively easier to interpret and inscribe. According to Dutta (2016) characteristics of procedural programming include following;• It has chronological logic• It is highly uncomplicated to implement• The same code can be used during programming by merely calling it • It is a significant milestone towards learning more programming proficiencies• It is highly structured.  There are two keycategories of programming languages; High level and low level languages. In the section below the languages of procedural programming will be discussed.  High-level languages (HLL):According to Fergus et al (2015) HLL are often referred as the 3rdgeneration language. High level languages are the type of programming language that is easily interpreted by programmers. The high-level languages are not coded in binary numbers of symbols but these are expressed in form of Basic English and mathematical expressions (Abdul-Al-Wadud, 2016). In procedural programming these languages are utilized by the programmers to communicate with machine. The examples of these 2nd generation languages include JAVA, Pascal and C++ (Ben-Ari, 2016). To understand how high level languages work, consider the example of ATM machines. If a man wishes to withdraw money from ATM the ATM machine will first program whether the man has sufficient cash in his/her bank account. The programming for this task in high level languages looks something like the figure 1 below;Figure 1: High-Level Language – ATM Machine ExampleSource: Wang et al (2010)According to Udhwareshe (2016) in high level procedural programming, one instruction results in one or several instructions for the computer. These high level languages are highly portable since many machines can run program using this language. To interpret high-level languages, machine device uses high level compilers; example of compilers used for interpreting high level languages is LLVM and Clang. Following is the process through which High level languages are converted to machine codes;High level language(English Words)CompilorMachine Codes(101101)  Figure 2: High Level to Machine LanguageSource: Author's OwnLow-level Languages (LLL):According to Rana and Ganpati (2014) LLLare the programming languages that are highly machine oriented. A program would require high skills, knowledge and expertise to interpret these languages. LLL are called 'Low' because these are the languages that are used on a lower level since different hardware present in a machine use LLL to communicate with each other. A program that is written in LLL runs very quickly on machines. A machine does not require compiler or any other software program to interpret instructions coded in low-level languages; LLC are translated by the processors of machines. Unlike high level languages, LLL does not use English and mathematical symbols, it uses binary codes or mnemonics(Gabbrielli and Martini, 2010). In Low-level languages are divided into further 2 types of languages that are used by computer processors; Machine language and Assembly languages.Machine Language (ML):ML is also referred as the machine code. It is the only type of programming language that a machine can understand directly. A computer does not require any software program to interpret these languages. A computer uses compilers to translate HLL into machine codes. According to Dierbach (2013) machine language includes only binary digits; 1s and 0s. Following is an example of how a linear equation looks like in machine language;Figure 3: Machine CodeSource: Ben-Ari (2006)Assembly Language (AL):Machine codes are difficult to interpret for programmers whereas high level languages are impossible to interpret for computers. Though compilers a computer is capable to understand and interpret high level languages whereas programmers use translators and assembly languages to interpret machine codes (Chen, 2004). AL was the initial step towards enhanced programming as it makes machine codes understandable for programmers. Unlike machine codes, AL consists of letters and symbols only (Davis, 2010). As shown in the figure 4 below, an assembler is used to covert assembly language to machine codes for the computer;Figure 4: AL conversion to Machine CodesSource: Yevick (2012)Features of procedural programming:Array in procedural programming is a collection of data items that are usually all of the same type and can be found using a common name. A "one-dimensional array" is like a list whereas "two-dimensional array" is like a table. Though C-language doesn't impose any limits on the dimensions of array but specific implementations are available. Moreover, a string is an array of characteristics where the length is determined by "terminating null" character. One of most common and traditionally used communication method is 'procedural programming'. It is also referred as 'imperative programming' (Deirbach, 2013). Brookshear (2014) says that procedural programming is driven from the word 'procedure' which means 'function' where function represents a series of computational steps that can be called anywhere in a computer program. The most common example of a function is as follows;int main(){ return 0; } Yevick (2012) defines procedural programming as a 'flowchart' which is used to develop large application programs by applying step-by-step smaller programs known as 'functions' or 'procedures'. In addition to this, procedural programming helps the developer to breakdown large application into structure, variables and sub-routines that are stored systematically in 'procedural programming paradigm'. This process of breaking procedure into sub-procedure is known as 'functional decomposition' (Gabbrielli and Martini, 2010) which continues until the problem is so simplified that it can be solved by corresponding sub-procedure.  Programs exactly follow these procedures step by step in order to perform what they are told to do. These functions are pooled in global data (known as 'global variables') (Chen, 2004) which contains sequence of statements that are open to the developer throughout the program so as to manipulate and create the desired outcome. Global data is accessible by all the functions within a program which may result in problems and risks because if one function changes the value in the global data then it will affect the whole program. It will be difficult for the developer to identify which function caused the change and the problem will become really big. 'Local variables' (Ben-Ari, 2006) helps in reducing such risks as they only be viewed by the developer within the block of code that it was written, rather than throughout the program. Example would be var1 is a local variable to outer block because var1 cannot be accessed from outer block.  These paradigms are stored in 'programming libraries' which can be used by users and developers, anytime, during the entire script of code (Davis, 2010). One aspect is conditional loopsthat is available in C-language are a way that allow computer programs to repeat one or more steps based on the conditions set in the program in real-time. Two most common programming languages are C language and pascal code where the text below shows how simple functions are written in procedural programming for C language: Example of programming syntax in C coding is as follows: int main(){int count; for(count=0; count<10; count++)print("This is a test that will be printed every time the number is under 10");return(0);}Self-criticism:As mentioned above, in case of global data, all functions have access to the global data and thus any change in value by any function can expose risks to whole program. Moreover, rectifying the problem will be troublesome from maintenance point of view, as large amounts of code need to be edited, as pointed out by Kedar (2011). This also highlights that procedural programming do not give importance to data which implies that procedural programming so not relate to real world objectives but rather focuses on sequence of steps (Purdum, 2013). Another disadvantage that arises from the way procedural programming handles data is that it is poor in handling fuzzy conditions and exhibits low level language (Weisfeld, 2009).Self-evaluation:The basic essence of procedural programming is that it focuses on a sequence of steps, a logic that flows from start to end, in order to implement a particular algorithm, as mentioned by Gabbrielli and Martini (2010). Rather than focusing on data, procedural programming focuses on the traditional approach towards writing a program that tells the computer what to do or communicate with the machine. This type of method encompassing keeping code, function and procedures that focuses on very narrow end results that need to be achieved (desired execution) (Pardum, 2003).Conclusion:Procedural programming is performed to command a computer for performing certain task. The characteristics of procedural programming differ from other types of programming (such as functional programming) since procedural programming is structural or procedural. The key feature of procedural programming is its ease of use and interpretation. It can be concluded from the essay that Procedural programming is performed through three languages; high, low, assembly and machine language. The high level language is interpretable for programmer but a computer cannot understand these. It consist of commands coded in mathematical numbers and basicEnglishwords (such as; add 9). According to Wang et al (2010) low level languages are completely different from high level. These are utilized by hardware of machines to correspond with each other. There are two types of low level languages; machine and assembly languages. According to Weisfeild (2009) machine codes are the only language that is directly understood and not further translated by a machine while assembly language is used by programmers to directly communicate with machine when hardware defect or any other critical issues are encountered.   

BACK TO TOP
x

Hi!
I'm Angelica!

Would you like to get a custom essay? How about receiving a customized one?

Check it out