Wednesday, August 7, 2024

Fundamntals of Linux and Basic Langages

Binary code is the most basic form of computer code, consisting of two numbers: 0 and 1. These numbers form the basic layer of all computing systems and are the primary language of digital technologies.

Binary code uses combinations of these two numbers to represent numbers, letters, or other types of information.

This the language the Hardware Understands. 

Machine does not understand our vernacular language, so three levels of languages had to be developed to communicate with hardware. 

These were all incremental steps and nothing came out of the blue.

Compiler

In computing, a compiler is a computer program that translates computer code written in one programming language (the source language) into another language (the target language).

The name "compiler" is primarily used for programs that translate source code from a high level programming language to a low level programming language (e.g. assembly language, object code, or machine code) to create an executable program.

Interpreter

In computer science, an interpreter is a computer program that directly executes instructions written in a programming or scripting language, without requiring them previously to have been compiled into a machine language program. 

An interpreter generally uses one of the following strategies for program execution:

Parse the source code and perform its behavior directly
 

Translate source code into some efficient intermediate representation or object code and immediately execute that;
 

Explicitly execute stored precompiled bytecode made by a compiler and matched with the interpreter's virtual machine.
 

Early versions of Lisp programming language and minicomputer and microcomputer BASIC dialects would be examples of the first type

Perl, Raku, Python, MATLAB, and Ruby are examples of the second

while UCSD Pascal is an example of the third type

Source programs are compiled ahead of time and stored as machine independent code, which is then linked at run time and executed by an interpreter and/or compiler

Some systems, such as Smalltalk and contemporary versions of BASIC and Java, may also combine two and three types.

Interpreters of various types have also been constructed for many languages traditionally associated with compilation, such as Algol, Fortran, Cobol, C and C++.

While interpretation and compilation are the two main means by which programming languages are implemented, they are not mutually exclusive, as most interpreting systems also perform some translation work, just like compilers. 

The terms "interpreted language" or "compiled language" signify that the canonical implementation of that language is an interpreter or a compiler, respectively. 

A high level language is ideally an abstraction independent of particular implementations.

 

Low Level Language 

Low Level Language refers to a type of programming language that is closer to machine code and hardware than high-level languages. It provides direct control over the computer's hardware and resources, allowing programmers to write code at a more granular level..

 

High Level Language

In computer science, a high-level programming language is a programming language with strong abstraction from the details of the computer. In contrast to low-level programming languages, it may use natural language elements, be easier to use, or may automate (or even hide entirely) significant areas of computing systems (e.g. memory management), making the process of developing a program simpler and more understandable than when using a lower-level language. The amount of abstraction provided defines how "high-level" a programming language is.

Examples of high-level programming languages in active use today include Python, JavaScript, Visual Basic, Delphi, Perl, PHP, ECMAScript, Ruby, C#, Java and many others. 

The terms high-level and low-level are inherently relative.

No comments:

Post a Comment