Unit 6: P2 - Describe the factors influencing the choice of programming language
Write a brief report/blog post which outlines the key factors which would influence a developer when choosing which language to create a particular software solution. Consider:
Time constraints
Organisational policy
Suitability
Availability of trained staff
Reliability
Environment
o Hardware
o Operating systems
Development and Maintenance costs
Expandability
What you need to hand in:
Your report Spell checked, proof read, with a with a cover page / blog first page (name, unit, title, date) Minimum 600 words (P2)
Time constraints-This would be how long it would take to code in that language for example coding in visual basic. Time constraints would also follow when learning a new program because it would take you longer to learn that program.
Organisational policy-Big companies such as Microsoft own there own programs to code in such as Visual Basic.If a company purchased this for there coding developers to use this would mean that they would get full support from Microsoft this would direct developers to choose there language of coding.
Development and maintenance costs-This would help developers decide on the programming language because buying the newest version of the software will cost allot but will help if the language upgrading the language will help you make your programs or websites easier to develop as the language in the software would be enhanced for better performance.
Suitability-Developers would only want to use the software with the language if there hardware in the PC is completely compatible, otherwise you will end up having to buy new hardware to make your software where the new updated coding language is usable, also developers would only want this if it has all the correct feature's in the language this could be from a timer to a text box.
Availability of trained staff-In a programming company you would need your staff to know or have previous knowledge in this language because it is no good having new employees who either know nothing about C++ for example but know Python language.
Reliability-This is key to know that the program and the language you are using is going to be reliable for instance say you were building a program and you come to test the code that you have written out and the program comes back saying 'program not responding' this would show that your program is very unreliable and if this keeps occurring then you have a serious problem with either your system or your program.
Environment-This would be the way the program and language is displayed in the program that would be the environment, many coders prefer to set their window layout personal preference to themselves, that could be from moving the window layout around so placing and swapping the environment that you work in around.
Hardware-Developers will want to know whether their hardware components will be compatible because otherwise errors will occur language may not perform at maximum performance, this could lead to potential damage this could be the processor for example overheating causing permanent damage meaning you would need new processors.
Operating systems-This is essential as you would need to have more than one operating system in your bushiness as developers that code will want to build it for multiform such as Mac OS X or Linux. Developers would prefer to be able to test on different operating systems as they can sort out problems they encounter along the way.
Expandability-Developers would want to have a high expandability for instance if they developed a beta for a program and you had a certain amount of users testing it you would need a high capacity server to take all the requests. Some languages are better than others and have more feature's so you would need a larger system to support that.
Friday 8 November 2013
Thursday 19 September 2013
Unit 6P1
P1 - describe the application limits of procedural,
object oriented and event driven programming paradigms
Procedural
Programming language
Procedural programming languages are used to solve a lot
of different problems.
This style of programming was brought as a
result of lines of code being too complex and time confusingly long; thousands
of lines of code were needed for one program. The procedural approach of
programming was brought in so that users would break down these lines of code
into block of around 10 lines of code; these blocks were used to carry out
specific actions for the final release of programs. These are procedures
acquiring to the name of this style of programming it is called Procedural
Programming. In procedural programming a program would be built by writing
these functions/procedures and calling upon them when you need them to perform
a function within the program.
Object
Oriented Languages
Object – orientated programming (OOP) – OPP takes a
different approach to the stricture of a complex program. OPP was developed in
a format to help with the difficulties that were troubling in the creation of
highly complex system using the procedural approach. With OPP, a program is
broken down into objects rather than procedures.
Event
Driven Programming
The first programming language limitations that I will
discuss will be EDP language. This language will be hard to get to grips with because
it is complicating; also it is only really easy to use with a GUI, graphical
user interface, and framework such as frames per second (FPS). If you made a
program with a calculation using a few textboxes and a button you will only get
those values calculated once the button is clicked. This is fine but where the
limitation stands if you wanted to get rid of the GUI you would need to recode
all over again as the previous code would be bases on a GUI system and wouldn’t
be able to be put somewhere else.
Object
Oriented Programming
OOP will be the second language that I will look at; some
of the limitations for this programming language are that a lot of tasks must
be done manually; they are difficult to modify or extend within an application
that has been made.
Procedural
programming
Procedural programming is extremely advanced in
performance, however like everything it does have limitations; one of the more
serious limits is “spaghetti-code”. Spaghetti code is a form of code that would
have had to have been written too many times so that the flow will become
unusable to new programming coming onto the project. The new programmer will
then have to take a preoperational-course which will enable to begin to
understand the software. This is caused because the code will constantly have
to be changed and adapted in order to meet the user demand which means
introducing things like sub loops and new methods altogether is a hard to
adapt. However there is no good tool which is for abstraction, which is
something that only exists as an idea, and modularization in procedural languages.
This means that it’s hard to add new functionality or change the work flow
without going back and modifying all other parts of the program.
List
of six programming languages most commonly used:
PHP-PHP
is an open source web development language through HTML and supports cross
platforms.
C#-C#
is a general object orientated programming source this was developed by Microsoft
as part of .NET.
JavaScript-JavaScript
is not Java sounds confusing now doesn’t it but really its simple JavaScript is
an object orientated scripting program. Also this program is easier to code and
is smaller than Java itself.
VB.NET (Visual Basic.NET)-VB.NET is an object orientated implemented
program designed by Microsoft’s.NET framework and is a lot easier to use than
other scripting programs.
Python-Python is basically
python would be classed as object orientated but is open source language based
program it also utilizes memory management.
Java-Java
is an object orientated based program developed by James Gosling
in Sun Microsystems in the early 1990s. Developers describe this programming
language to be “beautiful” because it is not part of the .NET framework or
developed by Microsoft.
Why are there so many languages?
There are so many languages
simply because new languages are designed and built to update existing
languages such as C-C++ making improvements for a better user experience also
there are so many languages because some languages are specially designed to do
certain jobs or to create light weight applications Java is a good example to
use for light weight applications.
References:
U14 P1
Describe the key features of event driven programs.
1) What
an event driven language is?
2) A description of one event driven
language
3) Typical ‘events’ in your chosen
language
4) What features of the language are
available?
5) What are the advantages of your
language?
6) What are the disadvantages of the
language?
Moving the mouse and clicking the windows icon brings up
the start menu.
|
2) One example of an event
driven language would be Microsoft’s visual studio (MVS) a program that allows
users to write coding in VB.NET (Visual Basic.NET) this is very popular
programming language.VB.NET is an object-oriented
language, with a robust integrated development environment. VB.NET employs
classes and objects as part of its object-oriented implementation, providing
programmers with the ability to quickly create new objects from existing
classes. This can your programming time and help you develop a better
application.
4) Inheritance,
polymorphism, interfaces, and overloading these are just some of the language
features in VB.NET (Visual Basic.NET). Here is a brief description of each
feature that I have listed.
5) What are the advantages of your language?
Inheritance, the
ability to define classes that serve as the basis for derived classes. Derived
classes inherit, and can extend, the properties, methods, and events of the
base class. Derived classes can also override inherited methods with new
implementations. By default, all classes created with Visual Basic are
inheritable.
Polymorphism provides the ability to vary the
implementation of a method or property. With polymorphism, the same method or
property can perform different actions depending on the run-time type of the
instance that invokes it.
Interfaces define the properties, methods, and events
that classes can implement. Interfaces allow you to define features as small
groups, using interfaces you have a very small chance of any compatibility
problems, this means that you will not run the risk of jeopardising your work.
There is more flexibility with interfaces such as giving the user the ability
to define single implementation that can then implement onto more complex
multiple interfaces.
Overloading happens when more than one procedure takes
place in coding, when multiple codes with the same name operate within a
program. Advantages of this are shorter codes can be created with the same
effect, several data types can have the same display types that look like this
example below:
6) What are the disadvantages of the language?
Some disadvantages of this language VB.NET (Visual Basic.NET) are as
follows:
The language can be slow this is to the fault that the program running
the language requires a lot of processing power for the event loops to
continuously check in the GUI (Graphical User Interface) yet to find out if
anything has occurred i.e. syntax errors, general errors and faults. More power
is being taken up when triggered to match functionality with the events of the
event handler.
Subscribe to:
Posts (Atom)