4 basic Programming Language topics by Kenno

4 basic Programming Language topics by Kenno

An attempt to understand basic concepts of computer programming language.

NOTE: This article is written by Kenno🐛

1. Essential Concepts

These concepts are pretty much self-explanatory, hence they do not need further explanation but they are helpful to better understand the subject.

  • In computer programming, machine code is any low-level programming language, consisting of machine language instructions, which are used to control a computer's central processing unit (CPU).

  • An assembler program creates object code by translating combinations of mnemonics and syntax for operations and addressing modes into their numerical equivalents.

  • In computing, a compiler is a computer program that translates computer code written in one programming language into another language. The name "compiler" is primarily used for programs that translate source code from a high-level programming language to a lower level language to create an executable program.

  • 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.

  • A translator or programming language processor is a generic term that can refer to anything that converts code from one computer language into another.

  • In computing, object code or object module is the product of a compiler.

  • Alow-level programming language is a programming language that provides little or no abstraction from a computer's instruction set architecture—commands or functions in the language map that are structurally similar to the processor's instructions.

  • A first-generation programming language (1GL) is a machine-level programming language.

  • In computer programming, assembly language (or assembler language), or symbolic machine code, is any low-level programming language with a very strong correspondence between the instructions in the language and the architecture's machine code instructions.

  • The label of second-generation programming language (2GL) is a generational way to categorize assembly languages.

  • In computer science, a high-level programming language is a programming language with strong abstraction from the details of the computer.

  • A third-generation programming language (3GL) is a high-level computer programming language that tends to be more machine-independent and programmer-friendly than the machine code of the first-generation and assembly languages of the second-generation, while having a less specific focus to the fourth and fifth generations.

  • A fourth-generation programming language (4GL) is any computer programming language that belongs to a class of languages envisioned as an advancement upon third-generation programming languages (3GL).

  • A fifth-generation programming language (5GL) is any programming language based on problem-solving using constraints given to the program, rather than using an algorithm written by a programmer.

2. What

A programming language is any set of rules that converts strings, or graphical program elements in the case of visual programming languages, to various kinds of machine code output. Programming languages are one kind of computer language, and are used in computer programming to implement algorithms. ~ Wikipedia

Successful communication is not possible between two parties without a common language understood by both parties. A programming language is used when a programmer wants to interact with a computer and perform a computational task. It is a notation for writing computer programs, which includes the details of a computation or algorithm.

Programming languages typically refer to one of the many various types of high-level languages or languages that are more advanced than assembly language.

There was just one language used when computers were first being created. It was machine language. Fundamentally computer hardware is controlled by machine language.

Similar to how an assembler converts assembly code into machine language, after a program is written in a high-level language, either a compiler or an interpreter is used to translate it to the specific machine language of a computer.

Programming languages come in thousands of varieties, and more are developed every year. Various programming languages have different advantages and disadvantages.

The desirability of one programming language over another will differ depending on the type of program being built, the computer it will run on, the programmer's experience, and how the program will be utilized.

3. Computer Vs. Programming Language

The term computer language is sometimes used interchangeably with programming language. For some people programming language is a subset of computer language and for others both are the same.

Computer language is simply the language that is spoken and understood by computers (CPU/hardware). Binary-coded (0,1) language or the machine code, which is executable instructions can be thought of as the mother tongue of computers.

Based on different usage, computer languages can be mainly divided into 8 categories.

Types of computer languages.png

Computers & humans speak different languages. And if we can not talk to computers we can not give commands or instructions. What's the solution? Though humans understand 0s & 1s, it is not practical for many reasons to write programs in machine language. To solve this assembly language was created followed by programming languages. In a nutshell a programming language is a type of computer language, that helps humans to write instructions in humanly comprehensible language for computers, to accomplish a task or perform some kind of computation.

As long as both parties understand the terms' meanings, they may be used interchangeably when discussing the subject.

4. High-Level Vs. Low-Level

High-Level Vs. Low-Level Programming Language.png

That's all for this post, Hello there 👋 thank you very much for taking the time to read the basic concepts about programming language🙏 and I hope you enjoyed reading it. Please feel free to share your ideas, recommendations, comments, questions and I'll forward them to "Kenno". Also, if you've written something or have a reference on the same subject, kindly share it with me and I'll do my best to read it. I'll catch up with you later🙂