Applications; Software Engineering
In the field of information technology, an application is a piece of software created to perform a task, such as word processing, web browsing, or chess playing. Each application is designed to run on a particular platform, which is a type of system software that is installed on desktop computers, laptops, or mobile devices such as tablet computers or smartphones.
Applications are software programs that perform particular tasks, such as word processing or web browsing. They are designed to run on one or more specific platforms. The term “platform” can refer to any basic computer infrastructure, including the hardware itself and the operating system (OS) that manages it. An OS is a type of system software that manages a device's hardware and other software resources. Application designers may create different versions of an application to run on different platforms. A cross-platform application is one that can be run on more than one platform.
In the context of mobile devices such as tablets and smartphones, the term “application” is typically shortened to app. Since the introduction of the iPhone in 2007, apps have taken center stage in the realm of consumer electronics. Previously, consumers tended to be attracted more to a device's hardware or OS features. A consumer might have liked a certain phone for its solid design or fast processor, or they might have preferred the graphical interface of Microsoft Windows and Mac OS to the command-line interface of Linux. These features have since become much less of a concern for the average consumer. Instead, consumers tend to be more interested in finding a device that supports the specific apps they wish to use.
Over the years, apps have become more and more specialized. Even basic utility programs that were once included with OSs are now available for purchase as separate apps. In some cases, these apps are a more advanced version of the utility software that comes with the OS. For example, an OS may come with free antivirus software, but a user may choose to purchase a different program that offers better protection.
Some software companies offer application suites of interoperating programs. Adobe Creative Cloud is a cloud-based graphic design suite that includes popular design and editing programs such as Photoshop and InDesign. Microsoft Office is an office suite consisting of a word processor (Word), a spreadsheet program (Excel), and other applications commonly used in office settings. These programs are expensive and can take up large amounts of storage space on a user's computer. Before broadband Internet access became widely available, application suites were distributed on portable media such as floppy disks, CD-ROMs, or DVDs, because downloading them over a dial-up connection would have taken too long.
As high-speed Internet access has become much more common, application developers have taken a different approach. Instead of investing in bulky application suites, users often have the option of using web applications. These applications run partly or entirely on remote servers, avoiding the need to install them on the computer's hard drive.
Many different types of software fall under the broad heading of applications. A large segment of the application market is focused on office and productivity software. This category includes e-mail applications, word processors, spreadsheet software, presentation software, and database management systems. In an office environment, it is critical that users be able to create documents using these applications and share them with others. This often means that a business or organization will select a particular application suite and then require all employees to use it.
Other types of applications include games, audiovideo editing and production software, and even software that helps programmers write new software. Due the complexity of software engineering, programmers have developed many applications to help them produce more polished, bug-free programs. Software developers may use multiple applications to code a single program. They might use a word processor or text editor to write the source code and explanatory comments, a debugging tool to check the code for errors, and a compiler to convert the code into machine language that a computer can execute. There is even a type of application that can emulate a virtual computer running inside another computer. These applications are often used by web-hosting companies. Instead of having to set up a new physical server for each customer that signs up, they can create another virtual server for the user to access.
Applications must have certain privileges in order to use the resources of the computer they are running on. As a result, they can sometimes be a point of weakness for attackers to exploit. A clever attacker can take over a vulnerable application and then use its privileges to make the computer behave in ways it should not. For example, the attacker could send spam e-mails, host illegally shared files, or even launch additional attacks against other computers on the same network.
Applications are the focus of a variety of career options for those interested in working with software. Apart from the obvious role of computer programmer, there are several other paths one might take. One option is quality assurance. Quality assurance staff are responsible for testing software under development to make sure it performs as it should. Technical support is another option. Technical support specialists assist users with operating the software and fixing errors it might cause. Yet another path is technical writing. Technical writers create software user manuals and training materials. Finally, some applications are so complex that using them can be a career in itself.
—Scott Zimmer, JD
Bell, Tom. Programming: A Primer; Coding for Beginners. London: Imperial Coll. P, 2016. Print.
Calude, Cristian S., ed. The Human Face of Computing. London: Imperial Coll. P, 2016. Print.
Dey, Pradip, and Manas Ghosh. Computer Fundamentals and Programming in C. 2nd ed. New Delhi: Oxford UP, 2013. Print.
Goriunova, Olga, ed. Fun and Software: Exploring Pleasure, Paradox, and Pain in Computing. New York: Bloomsbury, 2014. Print.
Neapolitan, Richard E. Foundations of Algorithms. 5th ed. Burlington: Jones, 2015. Print.
Talbot, James, and Justin McLean. Learning Android Application Programming: A Hands-On Guide to Building Android Applications. Upper Saddle River: Addison, 2014. Print.