Know the Features of Programming Languages
Unit 6: Assignment 1
Declan O'Driscoll
10-12-2016
Table of Contents
Know the Features of Programming Languages
|
Unit 6: Assignment 1
|
Declan O'Driscoll
10-12-2016
|
Table of Contents
Know the Features of Programming Languages
Procedural Programming Paradigm
Procedural programming is derived from structured programming; it is based on the concept of a procedure call. Procedures are also known as subroutines or functions contain a series of steps to be carried out in the given procedure. Any procedure can be called from any point within the general program this includes other procedures or even itself.
Advantages
Procedural programming is written in a step by step function this makes smaller programs easier to follow. Also, Procedural programming is easy to maintain as each procedure or function is able to be debugged in isolation from the rest. This allows for easy isolation of any problems or issues.
Disadvantages
The main disadvantage to procedural programming is that it is not fast to run compared with lower level language. For applications that require more processing power, this can limit the effectiveness. Also, procedural programming struggles to handle situations in which a number of possible actions may lead to the desired result.
Object Oriented Programming Paradigm
Object Oriented Programming (OOP) is designed to model and organize around objects rather than actions and data rather than logic. OOP views programs as a collection of objects such as a database record instead of a link of tasks, each object can be viewed as an independent ‘machine’ which a distinct role or responsibility which is capable of receiving messages, processing data and sending other messages to other objects
Advantages
A key advantage of OOP is that objects that are created can be easily reused in other programs. Also, large programs can be very difficult to write. OOP forces designers to go through an extensive planning phase, this makes for better designs with fewer flaws or issues.
Disadvantages
OOP programs are much larger than other programs. This means that they take more hard drive space to be able to perform. Also, OOP requires a lot of work to create. A lot of planning goes into an OOP well before a single piece of code is ever written. Also, OOP programs are slower due to their large size.
Event Driven Programming Paradigm
Event Driven Programming is a paradigm in which the flow of the program has been determined by the events such as different user actions, this can include what to do with mouse clicks or key presses. Event driven programming is a dominant paradigm used in graphical user interfaces (GUI) and other applications such as JavaScript and web applications.
Advantages
An advantage to Event Driven Programming is that it is flexible, programs that use event driven can be altered easily if the programmer wants to change something. Also, it is easier to program. A programmer can put different things on top of the form which can make it simpler for the programmer.
Disadvantages
Event Driven programming is often more complex for smaller simpler programs. Also, the flow of the program is usually less logical and obvious than other programming paradigms.
High-Level Programming
Programs that are written in a high-level language are a much closer representation of how we would write normally. This allows for a programmer to write programs that are more or less independent of a particular type of computer.
Advantages
Generally, high-level programming languages tend to execute faster than other languages, also you can specifically target and utilize specific computer features.
Disadvantages
A disadvantage to High-level programming languages is that in some cases you have an interpreter between which can consume resources. Also, you need to a compiler to get the Higher Level Language to Lower Level Language that can be understood by the machine.
Imperative Programming
Imperative programming is a paradigm that uses statements to change a programs state in the same way that imperative mood in natural languages expresses commands. An imperative program consists of commands that are to be executed by the machine.
Advantages
An advantage of imperative programming is that it is efficient by working closer to the physical machine to be able to execute faster.
Disadvantages
Imperative programming can be complex to understand and due to this, it makes it harder to debug the code to find it's issued. Also, the order of the code is critical to success as if the order is incorrect the program will fail.
Visual Basic
Advantages
|
Disadvantages
|
It is free to download and use
|
Programs created within VB only work on Windows
|
Easy to learn and easy to understand
|
Requires a lot of memory to install due to being a GUI
|
Has an integrated IDE
|
Slower than lots of other languages
|
C++
Advantages
|
Disadvantages
|
Free to Download and use
|
Complicated language to learn
|
Uses a similar syntax to other languages such as Java
|
Used mostly for platform specific applications
|
Multi-paradigm friendly so can be used for procedural, OOP, generic and functional programming etc
|
Overly complex and difficult to debug when used for many applications
|
Dark BASIC
Advantages
|
Disadvantages
|
Free to download and use (with advertisements)
|
Dark BASIC languages' syntax is unique
|
Doesn't require as much code as other languages
|
Mainly focussed on creating games so isn't flexible with it's functionality
|
Easy to learn
|
Not very Fast
|
JavaScript
Advantages
|
Disadvantages
|
Free to download and Use
|
Difficult to use and learn with limited experience
|
Javascript is cross platform compatible
|
Slower to develop and execute
|
Multithreaded to allow for the program to perform different tasks simultaneously
|
Difficult to create frame based applications
|
HTML
Advantages
|
Disadvantages
|
Free to use
|
All pages must be edited separately
|
Easy to edit and understand as it is written in plain text
|
Limited security features
|
HTML is supported by all browsers
|
Structuring can be difficult to learn
|