12.0 Computer Software - Applications and Programming Software
Tags: #◇Computer Science #◇CCICOMP #◇Application Software #◇Programming Tools #◇M4
◇Overview
This document explores Application Software and Programming Software. It covers various categories of applications including productivity, business, and media/entertainment software. Additionally, it delves into software development tools, specifically focusing on translators (compilers, assemblers, and interpreters) that convert high-level code into executable machine code. The notes also address software acquisition, licensing models, installation types, and the ethical implications of software piracy.
◇Key Definitions
Application Software: Programs designed to assist users with specific tasks, such as word processing, gaming, or web browsing. Software Suite: A bundle of related proprietary software applications sold together (e.g., Microsoft Office, Apache OpenOffice, Apple iWork), which is generally more cost-effective than purchasing programs individually. Software as a Service (SaaS): A web software delivery model where applications are hosted by a vendor or service provider and made available to customers over a network, typically the Internet. Software Translators: Tools used in software development to convert human-readable source code into machine-executable instructions.
Compiler: Translates entire high-level source code into machine code in a single batch before execution.
Assembler: Translates low-level assembly language directly into machine code.
Interpreter: Translates and executes high-level source code line-by-line during runtime.
◇Theoretical Framework
Categories of Application Software
- Productivity Software: Tools for general tasks, usually bundled in suites (e.g., word processors, spreadsheets).
- Business Software:
Small Business: Accounting software (QuickBooks, Peachtree), Desktop Publishing (Adobe InDesign), Webpage Authoring (Adobe Dreamweaver).
Large/Specialized Business: Tailored enterprise solutions for day-to-day operations. - Media and Entertainment Software:
Image Editing: Modifying photos, painting, special effects (e.g., Gimp, Adobe Photoshop).
Video Editing: Splicing, trimming, encoding, adding transitions/voiceovers (e.g., iMovie, Adobe Premiere).
Audio Processing: Mixing tracks, cutting dead air, adding effects, composing (e.g., Audacity).
Gaming: RTS, FPS, MOBA, RPG, Simulation, Sports. - Educational & Simulation Software:
Course management platforms.
Simulation programs mimicking real-world behavior.
Emulators duplicating hardware/OS features to run non-native software.
Translators & Code Execution Flow
Software development involves translating code written by developers into a format the CPU can execute:
Compiler Pipeline: High-Level Code Compiler Machine Code Execution. Assembler Pipeline: Assembly Code Assembler Machine Code Execution. Interpreter Pipeline: High-Level Code Interpreter Direct Execution (No permanent machine code file generated).
Software Licenses & Acquisition
Understanding licensing is crucial for ethical and legal software usage:
| License Type | Retains Copyright? | Source Code Access? | Can Modify? | Can Freely Copy? | Can Freely Distribute? |
|---|---|---|---|---|---|
| Proprietary | Yes | No | No | No | No |
| Shareware/Freeware | Yes | No | No | Usually Yes | Usually Yes |
| Open Source | Yes | Yes | Yes | Yes | Under same license |
| Public Domain | No | Yes | Yes | Yes | Yes |
Software Installation
Full/Typical Installation: Copies all commonly used files and uses default settings. Custom Installation: Allows the user to select specific components to install and customize settings.
◇References & Navigation
- Previous Topic: ◇Computer Software - OS and Utility Programs
- Next Topic: ◇Virtualization
- Related Notes: ◇Computer Software - OS and Utility Programs, ◇Process and Importance of Programming
ACTIVE RECALL VERIFICATION
Select an answer to verify conceptual comprehension and reveal the technical rationale.
What is Application Software?
Which term describes a bundle of related proprietary software applications sold together more cost-effectively?
What is the Software as a Service (SaaS) model?
Which software translator converts entire high-level source code into machine code in a single batch before execution?
How does an interpreter differ from a compiler?
What type of software is an emulator?
Under which software license type do the creators retain copyright but grant users access to source code and permission to freely copy and modify it?
What characterizes a Public Domain software license?
Which translator is used to convert low-level assembly language directly into machine code?
What is a key feature of a "Custom Installation" for software?