1.3. Hierarchy of Languages
Languages, understood as systems of communication, can be grouped according to their level of complexity. Importantly, machines have undergone a significant process of evolution. At the earliest stages, computers were capable of interpreting only the most basic binary code (Machine language), composed of zeros and ones, directly corresponding to electrical signals in hardware. Over time, this limitation was overcome through the development of symbolic systems such as assembly language and subsequently higher-level programming languages, which introduced abstraction and allowed humans to communicate with machines in a more efficient and structured way.
In recent decades, this trajectory of advancement has reached the domain of natural language processing (NLP). Modern computational systems are now able not only to parse formal instructions but also to analyze, interpret, and generate human languages such as English or Polish (Natural language). This represents a qualitative leap, as it enables interaction with machines in ways that are far closer to everyday human communication. The evolution from machine code to natural language understanding illustrates a broader historical trend: the progressive alignment of computational systems with human cognitive and communicative capacities.
1.3.1. Machine Language
- The lowest level, directly understood by the processor.
- Consists of binary instructions (0s and 1s).
- Each CPU type has its own instruction set (ISA –Instruction Set Architecture).
1.3.2. Assembly Language
- A symbolic representation of machine code.
- Uses mnemonics (e.g., MOV, ADD) instead of binary.
- Still highly dependent on the processor architecture.
1.3.3. Low-Level Programming Languages
- Close to hardware but already offering structured programming.
- Example: C, which allows manipulation of memory, registers, and pointers.
1.3.4. High-Level Programming Languages
- More abstract, independent of specific hardware.
- Syntax is closer to mathematics or everyday language.
- Examples: Python, Java, R, JavaScript.
1.3.5. Very High-Level / Declarative Languages
- Focus on what needs to be done, not how.
- Examples: SQL (database queries), Prolog (logic programming), domain-specific languages (DSLs).
1.3.6. Natural Languages
- The highest level – human communication systems (e.g., English, Polish, Chinese).
- Characterized by ambiguity, variability, and dependence on context, unlike artificial formal languages.
- In NLP and AI, natural languages are translated into formal structures for processing.