
Computer programming is undoubtedly one of the sectors that has had the greatest impact on the lifestyle of the modern world. Today, we all use at least one mobile program or application per day.WhatsApp, Facebook, Windows, Google Chrome, all are desktop or mobile software that have come to fruition thanks to this complex science.
In terms of programming, without a doubt one of the most important elements is programming languages. There are many of them, and each one has been developed with the aim of enhancing the development of a specific type of program.But all software or applications are written with one of them.
In this article we're going to teach you everything you need to know about programming languages. those who have enabled the creation of the browser you are using right now to read this article and many other programs and applications.
What is a programming language and what is it used for in computer science?
A programming language is a formal language that allows a programmer to write code to create computer programs. These programs contain source code in which all the lines of commands and algorithms written in code are written.which is then processed by a compiler to translate it into machine language, the most basic and elementary language that is understood by the computer.
Programming languages are unique, and as new advances are made and more powerful techniques for creating software are developed, New languages are also being developed that will allow the creation of much more complex applications..
What are the most important elements of a programming language?
A programming language has very well-defined characteristics and elements that directly influence its limitations and potential.
Below we present the most important elements of any programming language:
Variables
Variables are spaces in a program's memory that store important data for its operation, such as complex processes or sequences of commands. These are classified according to the type of data they can store, and in that sense we know the following:
| Datatype | Description |
|---|---|
| Char | Variables that contain a single character, either a letter or a number |
| Int | They contain only one whole number. |
| Float | They contain only one decimal number. |
| String | They contain text strings of type Char or vectors with strings of these. |
| Boolean | Variables that can only contain a zero or a one. |
Conditionals
They are text strings that, as their name indicates, condition certain program functions in their code so that they are executed only if various factors are met.
In this sense there are three of them; "If", which imposes the conditions that must be met for the execution of the software; "Else "if", indicates under what conditions the program can be executed if the condition is not met "If", so it is usually preceded by one; and "Else", which imposes the conditions for the program or part of it to run if the two previous conditions are not met, so it is generally preceded by both or at least one of them.
Showtimes:
Functions are variables that contain code within themselves, so they can be used to avoid having to rewrite the same function or command throughout the program's source code. The process of writing a program may require you to mention the same program capability repeatedly.which was done previously.
These functional variables are created with the intention of simplifying the process, indicating with a shorter fragment that the program should execute a function that was previously pre-established in its code.
Syntax
The syntax of a programming language defines the possible combinations of its textual elements (numbers, letters, and symbols). to create a semantically perfect program that works without errors in its code. In most cases, languages are purely textual, but programs with graphical syntax can also be identified, since their nature is more visual than written.
Static semantics
If syntax is the correct form of expressions, static semantics allows the programmer to identify expressions within a language and know their meaning. This serves to define restrictions on text structures that cannot be expressed with a standard formal expression of the language as suchThis can be of two forms; dynamic or operational.
Type system
Now we enter rather complex territory. A type system is like a language organizing certain values of its structure into "types".They also define how they interact with each other and how they can or cannot be manipulated. Thanks to them, errors and poorly written programs in that language can be verified and discarded, although sometimes they might also discard perfectly valid programs.
It is for this reason that many languages choose to eliminate such "guys", which has led them to be known as untyped languages. Regarding those that do use a type system, we can identify the following:
- Static: Statically typed languages are those that determine the "type" of all expressions and their value before they are executed by the software. They can be of two types: "explicit," when the programmer must manually write each type, or "inferred," when the compiler infers and determines the values.
- Dynamic: On the other hand, there are dynamically typed languages, which determine the validity of a type before execution, with these types being related to runtime values rather than simple textual expressions. Like statically inferred types, it is not the programmer who writes them, but the compiler or another element of the language.
- Strong and weakFinally, there are strong and weak typing systems. The former prevents a "type" from being treated like any other, assigning it specific rules, while the latter is the complete opposite, allowing more freedom in that regard.
Types of programming languages: How are they all classified?
Programming languages can be classified in various ways, and below we will present the most important classifications with some examples of the most popular languages in each one.
According to level
The first classification of programming languages is based on their level of abstraction, or in other words, on how specific and universal they are.
In this sense, the following are known types of programming languages:
- Low levelThese are languages developed for specific hardware and cannot be used outside of it. Their purpose is to take full advantage of that hardware, with the limitation that they cannot run on any other. Some of the most important languages in this category are C++ and Fortran.
- High levelThese are completely opposite to the previous ones and can be used on different hardware and architectures. Their intention is to be more universal and allow for greater freedom of use. Some of the most important in this category are Basic and Pascal.
- Intermediate levelThese are programs that are halfway between low-level and high-level languages, so they can use various functions of high-level languages, with the potential to focus on a specific system architecture. One of the most popular is C Basic.
By paradigm
The process for developing a program, or software lifecycle, has various paradigms that, in turn, have led to the emergence of new languages. Therefore, There is also a classification by paradigms regarding computer programming languages.
In this sense we can identify the following:
- Imperative: Imperative programming is based on creating algorithms that contain mechanized instructions for performing a software process or function. To visualize these programs, think of a cooking recipe that tells you step-by-step how to prepare the dish and lists the ingredients needed.
- Object-orientedObject-oriented programming is based on the imperative paradigm, with the difference that it encompasses each process within "objects," which are related to one another and contain variables and values from different program functions. The most representative languages of this paradigm are C++, Java, and Python.
- Dynamic: Dynamic programming aims to streamline the program writing process by breaking down all processes into smaller, independent steps, each working individually to achieve the best possible result. Functional languages like Haskell are used for this purpose.
- Functional: Functional programs are written using functions that are activated based on data input received from the user. In other words, they are not fully activated at once, but only initiate what is necessary to perform the function. The most important languages for this type of programming are Haskell and Scheme.
- Event-orientedThese are programs whose execution depends on conditions set by the system and the user. This is one of the newest paradigms on the list, having emerged in 2013, and is therefore still being studied more thoroughly. Some of the languages that use this paradigm include Lexico and Visual Basic, as well as the popular JavaScript, which has always had similar characteristics.
- Declarative: Declarative programming involves specifying and declaring the problem to the system without providing logical instructions for its solution. In this type of software, the programmer only describes the problem and clearly states the desired outcome, but does not explain how to solve it or delegate the task to the computer itself. Examples include Lisp and Prolog.
- Logic programmingThis paradigm describes logical relationships that interact with each other to initiate program processes and functions. Functional languages such as Prolog are also used for this purpose.
- Multiparadigm: This is a philosophy that attempts to combine multiple paradigms in the writing of a single piece of software. As you've noticed, there are languages, such as functional languages, that can be used to program with other philosophies. Some of the most important in this regard are Python, Prolog, and Lisp.
For generations
Finally, we have the classification by generations, which is simply a way of placing certain languages in the time when they were created. Throughout history there have been five generations of programming languages, and today you will learn about them all:
- First generationIt was born on the same day that machine language (binary code), the only language computers understand, was discovered. At that time, this element was discovered, but also the fact that each system had its own architecture that only understood certain languages, which would become known as low-level languages, the first examples of which were x86 Assembler and MULT.
- Second generationIn this era, symbolic languages, or assemblers, were discovered and developed. These are simply low-level languages that are much easier to translate into machine language, which is the only language the computer understands and therefore the only way to tell it what to do.
- Third generationHigh-level languages emerged, which doesn't necessarily mean they were more powerful than low-level languages, but rather that they had the ability to operate on multiple systems regardless of their architecture. This marked the beginning of a boom in programming, allowing us to create much more versatile programs than those previously available.
- Fourth generationThe fourth generation corresponds to a series of tools that allow the creation of programs and applications from parts of other programs. However, these are not considered languages in most cases. Therefore, object-oriented programming is considered by many to be the true fourth generation, since its emergence truly introduced significant changes to programming practices.
- Fifth generationMany consider languages used to create artificial intelligence, such as Java or Python, to be fifth-generation. This concept originated in the 80s with the Japanese Fifth Generation project, whose purpose was to design a new class of computers powered by AI.
However, this project was a complete failure, so for current programmers, the so-called "fifth generation" does not yet exist, and they are left only with the previous four.
List of the most used programming languages today
Now that you know the main classifications of programming languages, it's time to get to know some of the best examples.
Therefore, below Here are the five most used languages today:
javascript
Although there has been a push to stop using JavaScript on websites for several years, it continues to be one of the most widely used languages for developing computer programs and all types of websites. as well as video games and even robotics programmingHe is currently one of the leading exponents of object-oriented programming, and his prospects for the next decade are very good.
PHP
This is a program related to the development of mobile and web applications for browsers, commonly combined with HTML. since it was one of the first that could do it by working sideways with the serverIt was created by Rasmus Lerdorf in 1995 and is also one of the greatest exponents of free software development.
Python
For many, this is one of the most essential programs for learning to program. Its use for decades has made it a common denominator in the industry, which is why it's a very well-structured and studied language. It is used for both software development and computer security and other tools.
HTML
One of the most well-known programming languages in the world. It's something you'll need to learn if you're interested in programming websites or online applications. As far as internet portals are concerned, This is undoubtedly the most widely used language due to its ease of execution and connection speed between the client and the server..
C++
This is one of the most widely used object-oriented programming languages today for developing desktop applications, such as video games. browsers like Google Chrome and operating systems, being one of the foundations of Microsoft Windows.
What is the most basic and easiest programming language to learn to get started?
Programming languages themselves aren't difficult to learn. They consist of a series of formal expressions that, if you have a good memory, will be very easy to memorize regardless of their nature. What actually requires advanced knowledge is programming itself, which involves understanding how a computer behaves in order to develop commands and algorithms that can control it.
That's why the real difficulty of a programming language lies in the type of software you want to develop. For example, with two or three months of dedication, you'll likely be able to write a simple website with very basic functions in PHP, but if you set out to develop a mobile application, it will be much more difficult and will take much longer.
Our recommendation is that you start with languages that allow you to make simple applications or basic websites such as HTML, CSS or PHP to write your first strings of code. As for the learning time, it will depend on how specialized you want to be. On average, programming simple things shouldn't take you more than a few months of dedicated work, but if you really want to become a programming expert, you'll need years to gain enough experience.





















