Choosing the right programming language. (P2)
There are several factors to consider when choosing the right programming language, these include Organisational policy, suitability in terms of available features and tools, availability of trained staff and development and maintenance costs.
Organisational policy
Organisations which make and develop loads of computer software’s and programs tend to have a policy of using a certain language, a reason for this might be because that language allows them to make all their software consistent and easier to maintain.
Suitability in terms of available features and tools
Some languages are better than others in certain areas because of the features and tools they have. When creating …show more content…
software which is mainly object oriented java would seem to be the best option this is because the language is coding for Object oriented purpose and the tools are created to aid programmers who are creating an object oriented program. This is the same for creating a visual program, visual basic would be the best language to use and all the tools available in visual studio is specifically designed to help create a program in visual basic.
Availability of trained staff
Learning a programming language takes a long time, when a company has staff who are experts or have a large amount of experience in a particular language it would seem like that programming language would be the best option, this means that the company will not have to spend money on training staff and saves money on the product and projects they are currently working on.
Development and maintenance costs
Some languages are easier to aid the development and some languages are easier to aid the maintenance of a software. The main reason a company will choose a programming language will be to lower the development and maintenance costs, therefore if there is a programming language which helps with reducing development time and helps to ease the maintenance then that would be the programming language to go for.
Programming languages strengths and weaknesses
Java
Strengths: Java is a multi-platform programming language which means it can be used for different purposes. Java is a fully object-oriented programming language, it is a very secure language. Java is also strictly typed which means it promotes robust code …show more content…
development.
Weaknesses: Java isn’t an easy programming language to learn, it is slower than other programming languages such as C and C++. Java is not very suitable for scripting.
C++
Strengths: C++ is multi-paradigm which means it allows the user to use a mixture of procedural and object oriented programming. C++ is also strictly typed which means it promotes robust code development. C++ is also a lot faster than java.
Weaknesses:
C++ is a very complex programming language it takes a long time to learn how to code in C++ at a high level. Another weakness of C++ is it is not a pure object oriented programming language which means people would just pick java is they were to create a OOP software. C++ isn’t as secure as java.
Visual Basic
Strengths:
Visual basic is much easier to learn compared to java and C++. VB IDE is easy to develop Graphical user interfaces (GUI’s). The IDE makes it easier for a user to decide and create a program with the toolbox provided which allows the user to add tools such as forms, labels, textboxes before even coding the program.
Weaknesses:
Visual basic programming language is written by Microsoft, which means the programs written in VB are hard to transfer to different operating systems. More memory space is required to install and work Visual basic IDE because it is a GUI based development tool which have graphical components. The support available is mainly only for database and graphic applications.
Software Development Planning (P5)
The software development lifecycle is a planning and preparation process when developing a piece of software. The software development lifecycle follows a process in order.
Requirement & analysis
Every product is created to meet a purpose. The purpose of piece of software is based on what a company needs. To find out what a company needs we can looking into existing software that the company requires, find improvements for these software’s and see what else can be added to create a better project, then finally analysis if you will make a profit after the software is released.
Design
After doing the market research and identify what the company needs, you can begin on designing the software.
This does not mean making the program. At this point most of the key decision are made, this may include the interface of the program and the programming language to use.
Development
The development phrase is creating the software based on the decision made in the design phrase, the software that will be created should follow a schedule created in the design phrase. Adjustments can be made in the development phrase however most of the decision made will not change.
Testing
The testing phrase happens whenever the first initial software is created, this is because after the first creation there tends to be a series of bugs, errors and crashes. The testing phrase is used to make an evaluation of the usability of the software and allows the company to fix any bugs. The group of testers will then give criticism to the development team proposing improvements and making the development team aware of the bugs that occurred. After this is done the development team would update the software and add the improvements proposed by the testing team. The testing team will keep on testing the program and give feedback to the development team until the software reaches the
deadline.
Deploy & Maintenance
Deploy and maintenance happens after the program is released, the first release of the software must be at a good quality so that customers will be willing to buy the program. Maintenance is where the software will get updated and patched, the period of time spend on maintaining a software can vary depending on how successful it is. Games like league of legends has an ongoing maintenance phrase as it is constantly getting updated and patched.
Software design principles
Procedures
Procedures are blocks of codes which help us to break up our code into smaller segments. Procedures are useful because they help the programmer to avoid duplicating code, procedures can also be used to help the programmer pinpoint bugs in a software.
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click resizePanel(10) Panel1.left = 0 Panel1.top = 0
End sub
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click resizePanel(80) Panel1.left = Me.Width – Panel1.Width Panel1.top = Me.Height – Panel1.Height
End sub
Private Sub resizePanel(i As Integer) Panel1.Width = Panel1.Width + i Panel1.Height = Panel1.Height + i
End Sub
Functions
Functions are another type of custom methods that programmers create in their program, however functions returns a value. Functions are used to break up code and helps to avoid duplicating code.
Private Function toPowerOf(num As Double, exp As Integer) Return num^exp
End Function
Dim newNumber As Double newNumber = toPowerOf(5, 5)
Pre-defined code
A number of functions are pre-defined by the EDEN interpreter. These pre-defined functions cannot be re-defined by the users to prevent ruining their definition accidently. An example of pre-defined code is Convert.ToInt32 we use this pre-fined code to convert string into a 32-bit integer, however we do not know what calculations the code contains because it is hidden from the user.
Inheritance
Inheritance is an object oriented specific term, where a new class is created by extending code from an existing class, to make a more specific and detailed class.
Class and objects
Classes is a template for object, a class of shape can have different shapes which inherit the data from the parent class “shape”.
All of these classes inherit data from the parent class of shape in this instance the data being inherited would be the Height (H) and base (B) of the shape, however for the circle class there is new data of radius (R). Whenever an object is created from the circle class it will store these fields, the values of these fields are also stored.
Abstraction
Abstraction is when fine details of the code is hiden from a programmer, all the programmer needs to know is how to use the code, but not how the code works. For example when converting a string to a integer we use the pre-fined function convert.ToInt32 we know how to use the code however we do not know how the code works.
Flow charts
Flow charts are designed to help you figure out how data will flow between the various procedures in the system, they are used to help people plan and make decisions. Here is an example of a flow chat
Pseudo code
Pseudo code is when we write out code in plain English, this is used so that programmers can interrupt the code and start coding in a different language. This is useful because at CuSol the young programmers are able to understand pseudo code therefore they are all capable of interrupting the code into their specialised programming language the young programmers can also understand flow charts, here is an example of pseudo code.