Different Types Of Software



  1. 10 Different Types Of Software
  2. Four Types Of System Software
  3. Different Types Of Software Developers
  4. Different Types Of Software Bugs

Different Types of Software. Here are some common types of software. Click on More » to see more information about each type of software.

  • Some computers can run two different types of system software; such as both Mac OS X® and a version of Windows®. Users often employ one of two different methods to run more than one OS at the same time. One way is through software that lets the user choose the preferred OS to initialize at startup.
  • Fixing bugs before deployment saves a lot of time and energy in the long run.
  • Software 101: Understanding the Different Types of Software in the IT Landscape. Software used to be installed on the computer in front of you, but the internet has led to cloud computing, SaaS and more.

10 Different Types Of Software

Software development spans devices, platforms and form factors well beyond PC. Here are 10 types of software development:

1. Web Development

The golden child of the current and future generations of coders, developing for the web means coding those many web-pages you look at over your morning coffee. It’s diverse and ranges in complexity, from a <h1> “Hello World” </h1> to many dozens of interconnected files only the original developer knows how to organize.

Software

Web development today is exploding thanks to the emergence of new web technologies and Application Programming Interfaces (APIs) which let websites “plug in” to other useful features. The Web today can deliver ‘apps’ that feel native, because browsers now are so much more than an URL bar and an Ad-blocker these days. Hyperion’s part-time online course in Full Stack Web Development is one of the most popular courses in Africa if you’re looking to get started as a web developer!

Languages of choice: multitudes including HTML, Javascript, Django, C/C++, ASP.NET, PHP, Python, Ruby, Rails etc.

2. Mobile Development

This one probably was unheard of 9 years ago, but today it’s all the rage. This one could better be described as “App Development” (there’s the contraction) and involves creating anything to run on mobile devices, such as iPhones, Android devices, and recently, the Windows 10 platform. Most popular OS’s offer their own programming languages but some traditional languages can be used as well.

The versatility of mobile development allows anything from Candy Crush games, to console-like quality games in the palm of your hand. Games aren’t the only thing to focus on either; there are all sorts of apps for pretty much anything, from the ordinary, like finding where the best place to eat is or catching up with news, to the random, such as telling you how much of water you should drink daily, or turning your photographed face into a zombie.

Languages of choice: Android, Swift (for iOS), Objective C, HTML5, Java, C#

3. Data Science

This one’s quickly picking up momentum in South Africa, but is a major field overseas already. Think crunching large data sets, potentially using some cluster-computing approach. Developing for scientific application usually means some very specific numerical application.

The applications of this are cooler than you think: it’s what machines think, actually. Machine learning needs large amounts of data to “learn” from, in order to ‘make its own decisions’ about given situations, and data science ensures this data is presented in the correct form to be used in AI applications. Hyperion’s Data Science MicroDegree teaches you the basics of data science in Python if you’re looking to learn more.

Languages of choice: C/C++, MATLAB, Python

4. Application Development

This is the “original” type of programming. These are ‘standard’ Windows (or Mac, or Linux) applications that perform their duties on traditional desktop operating systems. It’s often considered a programme, executed on demand by the user, that shows up its interface in the confines of the OS that it’s running upon. Application development is any dev work that isn’t web-based or running off a small screen held by little 4 year olds intent on wreaking fruit-slashing destruction in-game, or something similar.

Languages of choice: Java, VB.NET, C/C++,C#, Python.

5. Back-end Development

These are the programs and the development that goes on behind the scenes to make sure the front-end program churning away does so without bringing half your computer to a standstill.

It’s more than just OS system development, however. Linux servers often need customized scheduling for tasks they perform, and for this, a special scripting utility called cron is used. Cron Jobs are scripted by developers to allow scheduled maintenance or background utilities to run, but they’re in fact versatile enough to automate essentially any task on your choice of Unix-like OSes.

Finally, database management is a prime candidate for back-end development. Database development is literally the backbone of any system that holds large amounts of data to be organized. Think companies’ client database, or bigger still to Facebook’s user database. One billion users’ details have to be organized somehow, and back-end developers make this their job.

Languages of choice: C and C++; Linux scripting for Cron; also (my)SQL, dBase and Oracle for databases.

6. Software Tools Development

Not used by most consumers, but critical in the software development industry. This development builds tools for other software developers to test their code with. Beyond simply testing, developing this software will ensure other developers’ code conforms to industry standards and remains maintainable. Developing programs to (amongst other things) test other programs is no easy task, but tech giants like Microsoft and Google employ software devs by the bucketload to design test applications for testing other projects on-the-go. Languages of choice: Java, Python, C++

7. API Development

This is the art of building something extensible. Developers build programs that act as puzzle pieces, across different operating systems, on desktop, mobile and the web. They allow 3rd-party (read: “other”) developers to interact with the tools or functions the API relates to. It’s the laying of a foundation of standard procedures, types, tools, GUI interaction methods, database access rules and so on that programmers building other applications that make use of that API can use.

Languages of choice: APIs are written for specific platforms or functions, and each API will have the programming language of the platform/device/site/service it’s designed for.

8. Embedded Systems Development

With the rise of the “Internet of Things” and just about everything but the kitchen sink being connected to the internet these days (oh wait…), embedded systems development has boomed. It’s the coding skills needed for your embedded systems like Raspberry Pi’s, Arduinos, Beaglebones, and so on and so forth. Definitely a challenge.

Languages of choice: Embedded C, Assembler, Python, Arduino (an embedded C derivative), Java.

9. Security Software Development

Otherwise known as hacking. Wait, what? That’s a type of software development? Certainly, and it’s a critical field. Penetration testers (“white-hat” ethical hackers) and cyber-security experts work together for the good of companies and their systems and data. The cyber-security team develop software to keep important company assets safe from theft, viruses and other malicious attacks, and the pentester tries to ‘hack’ into the system to find where the vulnerabilities are. In this way, there’s less chance of your “black-hat” malicious hacker getting into your important data.

10. Cloud Computing

Four Types Of System Software

Whilst the traditional idea of local storage for files, and having a program run locally to give you what you need has stuck around in South Africa, thanks to our dismal internet infrastructure, the notion is slowly changing, and cloud computing services are becoming more prevalent. Somebody’s got to develop the software powering Amazon Web Services (AWS) and others, that powers your webmail, OneDrive storage, and GitHub, protecting your code faux pas, right? Fun fact: Amazon’s EC2, the huge cloud computing platform offering virtual computing, which powers VOD providers like Netflix, is built entirely by the Amazon Cape Town team. SA representation!

There are many different types of software, which can be a little confusing for the uninitiated. Following is a brief definition of each type, and the differences between them.

Different Types Of Software Developers

Retail software: This type is sold off the shelves of retail stores. It includes expensive packaging designed to catch the eye of shoppers and, as such, is generally more expensive. An advantage of retail software is that it comes with printed manuals and installation instructions, missing in hard-copy form from virtually every other category. However, when hard-copy manuals and instructions are not required, a downloadable version off the Internet will be less expensive, if available.

OEM software: OEM stands for 'Original Equipment Manufacturer' and refers to that sold in bulk to resellers, designed to be bundled with hardware. For example, Microsoft has contracts with various companies including Dell Computers, Toshiba, Gateway and others. Microsoft sells its operating systems as OEM software at a reduced price, minus retail packaging, manuals and installation instructions. Resellers install the operating system before systems are sold and the OEM CD is supplied to the buyer. The 'manual' consists of the Help menu built into the program itself. OEM software is not legal to buy unbundled from its original hardware system.

Shareware: This software is downloadable from the Internet. Licenses differ, but commonly the user is allowed to try the program for free, for a period stipulated in the license, usually thirty days. At the end of the trial period, it must be purchased or uninstalled. Some shareware incorporates an internal clock that disables the program after the trial period unless a serial number is supplied. Other shareware designs continue to work with 'nag' screens, encouraging the user to purchase the program.

Crippleware: This software is similar to shareware except that key features will cease to work after the trial period has ended. For example, the 'save' function, the print function, or some other vital feature necessary to use the program effectively may become unusable. This 'cripples' the program. Other types of crippleware incorporate crippled functions throughout the trial period. A purchase is necessary to unlock the crippled features.

Demo software:Demo software is not intended to be a functioning program, though it may allow partial functioning. It is mainly designed to demonstrate what a purchased version is capable of doing, and often works more like an automated tutorial. If a person wants to use the program, they must buy a fully functioning version.

Adware: This is free software that is supported by advertisements built into the program itself. Some adware requires a live Internet feed and uses constant bandwidth to upload new advertisements. The user must view these ads in the interface of the program. Disabling the ads is against the license agreement. Adware is not particularly popular.

Spyware:Spyware is normally free, but can be shareware. It clandestinely 'phones home' and sends data back to the creator of the spyware, most often without the user's knowledge. For example, a multimedia player might profile what music and video files the program is called upon to play. This information can be stored with a unique identification tag associated with the specific program on a user's machine, mapping a one-to-one relationship. The concept of spyware is very unpopular, and many programs that use spyware protocols were forced to disclose this to users and offer a means to turn off reporting functions. Other spyware programs divulge the protocols in their licenses, and make acceptance of the spyware feature a condition of agreement for using the software.

Different Types Of Software Bugs

Freeware:Freeware is also downloadable off the Internet and free of charge. Often freeware is only free for personal use, while commercial use requires a paid license. Freeware does not contain spyware or adware. If it is found to contain either of these, it is reclassified as such.

Public domain software: This is free software, but unlike freeware, it does not have a specific copyright owner or license restrictions. It is the only type that can be legally modified by the user for his or her own purposes.

People are encouraged to read licenses carefully when installing software, as they vary widely.