Unit 10: Programming Languages and Programming Process

Table of Contents

1. Categories of Programming Languages

Programming languages are the tools used to write instructions for computers. They are generally categorized into three generations or levels based on how close they are to the computer hardware versus human language.

2. Machine and Assembly Language

Machine Language (First Generation)

Machine language is the only language that a computer can understand directly. It consists entirely of binary strings (0s and 1s).

Assembly Language (Second Generation)

Assembly language replaces binary codes with symbolic names called Mnemonics (e.g., ADD, SUB, MOV).

3. Higher Level Languages

High-level languages (HLL) use English-like words and mathematical symbols (e.g., C, C++, Java, Python).

4. WWW Development Languages

These are specialized languages used to create content and logic for the World Wide Web.

5. The SDLC of Programming

The Software Development Life Cycle (SDLC) is a systematic process used to design, develop, and test high-quality software.

Phase Description
Problem Analysis Understanding the user requirements and the goal of the software.
Program Design Planning the logic using tools like algorithms and flowcharts.
Coding Writing the actual instructions in a specific programming language.
Testing & Debugging Finding and fixing errors (bugs) to ensure the program works correctly.
Documentation Writing manuals and comments for future maintenance.
Maintenance Updating the software to fix new issues or add features.

6. Exam Focus Enhancements

Exam Tips
Common Mistakes
Frequently Asked Questions

Q: Why can't the computer understand High-Level Languages directly?
A: CPUs are built with digital logic circuits that only recognize binary signals (electrical pulses). HLLs must be translated into these pulses (Machine Code) to work.

Q: What is the main benefit of the SDLC?
A: It provides a disciplined approach that ensures software is delivered on time, within budget, and meets user needs.