You are on page 1of 2

Unit 20 Assignment 3: Software

Software is created to simplify actions on PCs so that the user doesnt have to use code to complete actions this means that software can complete highly
actions that would be impossible to most users. In this article I will be looking at software and how they are created and what they can achieve, there are many
different types of softwares and they have many uses including drivers and operating systems which are the basis of the computer experience. Software is
created using many different code types such as C++ or java which I will be looking into in this article.
Some pieces of software are dependent which means they are platform specific and will only work on a set platform like console games which are designed to
work on the consoles not on any other platform an example would be the way that PlayStation games wont work on an Xbox and vice versa as the Xbox specific
games will not work on the PlayStation. Dependent software is hard to create and is usually created by large companies which receive support from the platform
creator which they are creating for such as Bungie.inc which are a large company which develops for Xbox and work closely with the them to create the best the
game the platform can handle such as the Halo series which was created exclusively for Xbox and are dependent pieces of software as it will not work on any
other platform. Independent software doesnt rely on a specific platform and is open to any platform, they are easier to create as they arent specific to any
platform or software creation code and software like the consoles which have their own coding language. Independent software is usually known as indie which
is short for independent and they are low budget small development pieces that are created by small teams an example of an indie game is Super meat boy
which was available on all platforms such as PC, Mac and Xbox and was created by 2 men and took a year to make and has sold over 1 million copies. The Ouya
console has been designed with independent development in mind as it is has a very open software creation style which isnt specific to the Ouya console and
uses the android OS which is free to develop for which is great for indie developers.
Operating systems are made up of many different software components that work together to give the user the ability to use programs and browse files, OSs
give the user a graphical user interface which enables them to perform functions without using codes which is highly complicated this makes the OS more
compatible for people of different skill. Operating systems have many jobs such as peripheral management which is when the OS makes sure that peripherals are
working correctly. Memory management is a job of the OS that is when the hard drives ram and other memory devices the OS shows the user the different
volume sizes and capacity of the memory the OS also has software which chooses the right boot drive that the OS is stored upon. Inputs and outputs are
controlled by the OS which chooses which information is outputted to certain devices and manages the inputted information from input devices like a mouse or a
keyboard. The OS also makes sure that the users files and data is safe using many piece of software such as the firewall which stops other users from maliciously
gaining access to the users information.
Microsofts windows is the most common operating system around the world and has many iterations the newest current version is windows 8 which is a an
adaptation of the previous version windows 7 and added lots more compatibility for touch screen interactions by adding the new start screen known as Metro.
Windows is very popular due to its age and its customer trust as the OS is very reliable they have earned their followers as Microsoft listen to their community
and add things that the community ask for such as virtual desktops which were added in Microsofts windows 8. Windows OS used around the world and can be
brought from many different outlets such as
Windows has had some failures with the windows series of OSs one of these failures was the windows vista which used a more visual focus and neglected the
functionality of previous versions, the OS was also crippled by a large amount of bugs that could result in crashes, file corruptions and even security failures.
Microsofts Windows 7 is known as the best windows OS of all time as it had a great set of features that beat all previous versions. Windows 7 also had a simple
easy to use user interface/desktop that allowed all people of different PC competence to use the OS. Windows 7 was designed for fast workflow making use of
lots of hotkeys and shortcuts which was meant that it found a large taking in the business world.
Apple's OSX is an OS that was created from an adaptation of another open OS Linux, OSX was designed to have a clean design that has high functionality and is
widely used by many designers and media creators. OSX is dependent to Macintosh hardware such as Mac laptops or Mac PC's this means that the OS work
perfectly with it hardware and its input, output devices. The OSX version Yosemite has been widely adopted and is very good for creators as the software on the
OS work very well together and media can be integrated into many different software pieces.
Hand held OS's such as Google's Android OS which are used on portable devices such as tablets and GPS devices. These OS's focus on simplicity and have a focus
on UI design specifically for touch devices, this is achieved using large on screen buttons and multiple swipe uses. Software on hand held OS's are known as apps
which is short for applications. Android is used on most hand held devices as it is very simple and has a large amount of apps on it store, it also runs very well on
the low specification hand held devices.
Mobile OS's are very similar to the hand held OS's but focus more on communications and have much stricter security to protect the user information on the
device, this is because phones are used more as camera's. Apple's IOS is the main OS for mobile phones due to the large market share of Iphone's which use IOS
only. IOS is very well designed and simple but allows users to do many different tasks such as set alarms and watch the stock market.
Drivers are pieces of software that are created to make hardware work with other software, drivers are software designed specifically for the piece of hardware it
is compatible with this means that there are many different drivers for the large selection of hardware choices on the market such as AMD CPU's which use a
driver known as catalyst or Intel CPU's which use a driver update and download utility. Sound drivers like sound blaster work with the their hardware which are
sound chips and sound cards and allows the user to edit the equalization of the sound from the output on the sound card and even add effects like 3D sound.
Graphics card drivers make sure that the visual data is taken to the graphics card and that they are processed correctly, Nvidia's GeForce experience is a driver for
Nvidia graphics cards and maintains the latest version of the driver and allows the user to change settings of the graphics card such as clock speed and fan speed
which can achieve more power from the card. Network interface controllers (NIC) are needed to connect to wireless or Ethernet connections and enable the user
to setup and edit Local Area Networks (LAN). These devices need drivers to allow them to find specific devices in the LAN and be able to connect all the device
correctly.
Interpreted languages are coding languages that dont not interact with directly with the CPU using machine code and is instead a simpler and easier to
remember code that can be used to write software and is used to create many games, interpreted languages use code and is when saved in the same code and
when the executed that is then changed into machine code for the PC to process. Minecraft was created in the java JDK language and use millions of lines of code
to have many stats and items for the game world, the randomly generated world of Minecraft uses a chunk generation code that randomizes the height and type
of blocks in the chunk which is this makes every area in a Minecraft world are different.
Compiled languages is similar to a interpreted language but when the code is exported the code is translated into machine code that makes the program a lot
faster to run, this code is used mostly in triple A games as it runs much better and allows for more performance and larger codes unlike interpreted codes which
are used for indie games as they can easily be adapted after export of the code. Compiled languages were used to create games like Farcry 3 and Grand theft auto
5 as they pushed the limits of the current hardware so needed the better performance and their codes were not edited after launch. Most triple a games use
tweaked and adapted versions of C++ as this is the industry standard and has very high performance.

Object oriented programming is where a piece of code is added to a specific item for the application. An example for video games would be the character which
has when code is activated will perform actions and animations on the character model. Object oriented programming means that developers can put
information in the right area so that it only affects the specific object and can give the programmer many options and functions that they can give the object.
Action script is a type of object oriented code created by Macromedia it works using SWF files embedded onto websites and is a code that allows the user to
move to different frames using key presses or mouse actions.
Scripting is the act of creating a code that has a set function and will be completed through the activation of the script, codes are created by a programmer
whose job is to create all the code for the application. Unreal script is used to script in the unreal engine and is focused on games. QuakeC is a coding language
used to code in the quake engine created by john Cormack of ID software, QuakeC is an adapted version of C and C++ and allows coders to edit value of games
created in the engine this is used in Quake modding scene.
Graphical API's are pieces of software that are used for creating 3D video games, API's contain a set of rules and guidelines that are set upon the code and allows
user to fix bugs and export the code when it is completed. OpenGL is a free graphical API and is a GL which stands for graphic language and is used in the
development of independent video games due to its ease of access and also down to its large community. Direct X is a API created by Microsoft and requires a
licence to work on this makes it more commonly used by large development companies such as Alien: Isolation and COD: Ghosts. DirectX offers many features to
the user and comes with many pre-set codes and content libraries.
Sound API's are programs that give an interface between the sound card and the other applications. Sound API's take data given by other application on the
device and then translates it into the correct language to be processed by the sound card API's make sound and music pieces easier to create as the coding
languages are much simpler to create than the machine code needed for the sound card process. Open AL is used on most computer systems due to it being a
free sound API and also due to its high reliability and it often comes standard with most sound cards or on board sound chips. Java sound offers the user many
features like sound capture and rendering of sound files. Java sound API is used by people who use lots of sound such as sound editor, musician or media creators
this is due to its ability to work with most if all sound file types and settings.
Televisions use a software to provide conditional access which allows the user of the TV to access certain content depending on their subscriptions and TV
package this can bar content from users if they dont have the correct package or subscription an example of this would be sports channels which are blocked to
all users who arent subscribed to the monthly payment to gain access to the sports channels. iTV softwares are online streaming services for TV media, these
allow customers who have TV licences for the TV channels, The user must give their TV licence information to gain access to these streaming services which are
made per broadcaster such as the BBC iPlayer which allows users to watch BBC programs. These streaming services are country specific and will not work in other
countries like BBC iPlayer which is only available with a British internet address. The service Netflix can be used to stream TV series and movies and is highly
popular at the moment, Netflix is a subscription service meaning that the content cant be accessed without a subscription.
In conclusion I believe that from my research I have learned that software is need to help the computer run reliably and enables user to complete tasks easily
without having to have knowledge of machine code. The rules and languages used by API's allow creator to make software more easily and allow the
programmer more freedom using more complex codes like the ones used in video games. Operating systems are needed in a PC to make sure that the user is able
to complete simple functions with the hardware and makes sure that user can use the hardware properly and efficiently.
Bibliography:
1.

Beal, V., 2014. OS - operating system. [Online].QuinStreet Inc. available from: http://www.webopedia.com/TERM/O/operating_system.html [accessed
14/01/15]

2.

Stross, R., 2008. They Criticized Vista. And They Should Know. [Online].New York Times. available from:
http://www.nytimes.com/2008/03/09/business/09digi.html?scp=1&sq=vista&st=nyt&_r=0 [accessed 20/01/15}

3.

2014. Compiled vs. Interpreted Languages. [Online].Vanguard Software Corporation. available from:
http://www.vanguardsw.com/dphelp4/dph00296.htm [accessed 26/01/15]

4.

Beal, V., 2014. Object-oriented programming. [Online].QuinStreet Inc. available from:


http://www.webopedia.com/TERM/O/object_oriented_programming_OOP.html [accessed 26/01/15]

5.

Scimeca, D., 2014. Epic Games breaks triple-A secrecy and gives access to Unreal Engines source code. [Online].VentureBeat. available from:
http://venturebeat.com/2014/03/19/epic-games-breaks-triple-a-secrecy-and-gives-access-to-unreal-engines-source-code/ [accessed 26/01/15]

6.

Stokke, T., 1998. Quake C Basics. [Online].Inside3D. available from: http://www.bluesnews.com/guide/quakec2.htm [accessed 26/01/15]

7.

2014. OpenGL Overview. [Online].SGI. available from: https://www.opengl.org/about/ [accessed 26/01/15]

8.

Sandy, M., 2014. DirectX 12 What's the big deal? [Online] DirectX Developer Blog. available from:
http://blogs.msdn.com/b/directx/archive/2014/03/20/directx-12.aspx [accessed 26/01/15]

9.

Maxwell, J., 1999. Introduction to the Java Sound API. [Online]. QuinStreet Inc. available from:
http://www.developer.com/java/ent/article.php/617571/Introduction-to-the-Java-Sound-API.htm [accessed 26/01/15]

10.

2015. Conditional access. [Online]. WikiMedia Inc. available from: http://en.wikipedia.org/wiki/Conditional_access [accessed 26/01/15]