software
Software
Definition: Instructions that tell a computer what to do, encompassing all programs, procedures, and routines that operate a computer system.
Origin of term: Coined to differentiate from hardware, which refers to physical components.
Types of Software:
System Software: Controls internal functioning via the operating system and manages peripherals (e.g., monitors, printers).
Application Software: Executes user commands, including programs like word processors, spreadsheets, and database management systems.
Network Software: Coordinates communication among linked computers in a network.
Storage: Typically stored on external devices (hard drives, magnetic diskettes) and loaded into RAM for execution.
Firmware: Software stored permanently in memory (ROM), also referred to as hard software.
Computer Programming Language
Definition: Languages used to express instructions for digital computers.
Execution Types:
Machine Language: Numeric form executed directly by the computer.
Assembly Language: A step up from machine language that uses mnemonic codes for operations.
High-Level Languages: Abstract away from machine details, offering readable code.
Machine and Assembly Languages
Machine Language: Consists of binary digits (bits), difficult for human readability, varies by computer.
Assembly Language: Short mnemonics replace binary codes, making it simpler to write, though still close to machine operations.
High-Level Languages
Algorithmic Languages: Designed for math and computations, e.g., FORTRAN (first algorithmic language).
Examples:
FORTRAN: Focused on scientific calculations with structures like IF statements and loops.
ALGOL: Introduced block structures and influenced future languages.
Business-Oriented Languages
COBOL: Designed for business data processing, using English-like syntax and record structures.
SQL: Used for database management and queries.
BASIC: Aimed at beginners, allowing interactive programming.
Pascal: Designed for structured programming education, stated data types and clarity.
Object-Oriented Languages
Definition: Manage complexity through objects that encapsulate data and operations.
Key Examples:
Simula: Introduced concepts of objects and classes.
C++: Combines high performance with object-oriented features; widely used.
Java: Object-oriented, designed for web applications and app portability, utilizing a virtual machine.
Declarative Languages
Definition: Focus on what to accomplish rather than how (e.g., SQL for database queries, PROLOG for logical relations).
Scripting Languages
Definition: Easier languages for smaller tasks, frequently employed for automation and web-related tasks.
Document and Formatting Languages
TeX: Formatting language that embedded commands for document layout.
PostScript: Page-description language for precise document representation.
Web Technologies
HTML: Markup language to create web pages with textual data and hyperlinks.
XML: More flexible than HTML, allowing custom tags and extensive data structuring.
Web Scripting: Languages like JavaScript enhance interactivity on web pages.
Control Structures in Programming
Key Concepts:
Sequence: Steps executed in order.
Conditional: Executes different paths based on conditions.
Iterative: Repeats sections of code (loops).
Data Structures
Definition: Organized ways to store data, ranging from simple types (e.g., integers) to complex types like arrays and records.
Abstract Data Types (ADTs): Bind data and operations while providing user-friendly access to internal workings.
SoftwareDefinition: Instructions that tell a computer what to do, encompassing all programs, procedures, and routines that operate a computer system.Origin of Term: Coined to differentiate from hardware, which refers to physical components.
Types of Software:
System Software: Controls internal functioning via the operating system and manages peripherals (e.g., monitors, printers).
Application Software: Executes user commands, including programs like word processors, spreadsheets, and database management systems.
Network Software: Coordinates communication among linked computers in a network.
Storage: Typically stored on external devices (hard drives, magnetic diskettes) and loaded into RAM for execution.
Firmware: Software stored permanently in memory (ROM), also referred to as hard software.
Computer Programming LanguageDefinition: Languages used to express instructions for digital computers.
Execution Types:
Machine Language: Numeric form executed directly by the computer.
Assembly Language: A step up from machine language that uses mnemonic codes for operations.
High-Level Languages: Abstract away from machine details, offering human-readable code.
Machine and Assembly Languages:
Machine Language: Consists of binary digits (bits), difficult for human readability, varies by computer.
Assembly Language: Short mnemonics replace binary codes, simplifying program writing, yet remains close to machine operations.
High-Level Languages:
Algorithmic Languages: Designed for math and computations, e.g., FORTRAN (first algorithmic language).
Examples:
FORTRAN: Focused on scientific calculations with structures like IF statements and loops.
ALGOL: Introduced block structures and influenced future programming languages.
Business-Oriented Languages:
COBOL: Designed for business data processing, using English-like syntax.
SQL: Used for database management and queries.
BASIC: Aimed at beginners, allowing interactive programming.
Pascal: Encouraged structured programming education, featuring stated data types and clarity.
Object-Oriented Languages:Definition: Manage complexity through objects encapsulating data and operations.Key Examples:
Simula: Introduced concepts of objects and classes.
C++: Combines high performance with object-oriented features; widely used.
Java: Object-oriented, designed for web applications and app portability, utilizing a virtual machine.
Declarative Languages:Definition: Focus on what to accomplish rather than how, e.g., SQL for database queries.
Scripting Languages:Definition: Easier languages for smaller tasks, often used for automation and web-related tasks.
Document and Formatting Languages:
TeX: Formatting language incorporating commands for document layout.
PostScript: Page-description language for precise document depiction.
Web Technologies:
HTML: Markup language to create web pages with textual data and hyperlinks.
XML: More flexible than HTML, allowing custom tags and extensive data structuring.
Web Scripting: Languages like JavaScript enhance interactivity on web pages.
Control Structures in Programming:Key Concepts:
Sequence: Steps executed in order.
Conditional: Executes different paths based on conditions.
Iterative: Repeats parts of code (loops).
Data Structures:Definition: Organized methods to store data, ranging from simple types to complex types like arrays and records.
Abstract Data Types (ADTs): Bind data and operations while providing user-friendly access to internal workings.