Principles Of Programming Flashcards
Define high level language
A programming language designed to simplify computer programming. Several steps removed from the actual code run on a CPU
Define low level language
A programming language that contains basic instructions recognised by a CPU. Two common types are assembly language and machine code
Define assembly language
A low level programming language written in mnemonics designed for a specific type of processor that can be converted to machine code using an assembler
Define mnemonic
A short code used in assembly language
Define machine code
A low level language comprised of binary digits (bit patterns) that can be executed directly by the CPU. All programs must be translated into machine code before they can run on a computer
Define program translation
Translating code, using either an interpreter or compiler into executable machine code
Define embedded software
Software built into embedded systems written to control machines or devices that are not typically thought of as computers
Characteristics of high level languages (6)
• Require translation into machine code
• Are portable
• Are written in code similar to English
• Allows access to module libraries
• Use data types and data structures, selection statements and repetition/iteration constructs
• Use logic operators and functions that are built into the language
Characteristics of low level language (4)
• Can be finely tuned so that the code is more efficient
• Can have more system dependent features available
• Usually not portable
• Usually harder to program
— have to pay more attention to finer details
— takes more lines of code to achieve the same result
Uses of high level languages
Used when execution speed is not the most critical factor, including for writing:
- Office applications and database packages
- Operating systems
- e-commerce software and social media apps
Uses of low level languages
Used when execution speed and efficient memory use are critical:
- Operating systems
- Device drivers
- Embedded software
Professional game developers often use console specific development software, which is likely to include low-level features for performance