🔥 8 full-forms that every programmer should know 🔥
Tags: programming, javascript, webdev, beginners
Published: 2022-07-20 04:20:34

### 1.OOP or POO
This is the Object-Oriented Programming (OOP). It is necessary to know both as they are commonly used. It refers to a programming paradigm in which code is created by defining “objects” that simulate real objects and their behavior and interaction with other objects.

For example, there would be a class (a pattern object) in a billing application representing the invoices and another class that would serve to represent the different invoice lines. When creating an invoice, an object of type Invoice would be created from the previous class, and a series of type Invoice Line objects to represent each line.

To calculate the amount of the invoice, a method of the object that represents it would be called (for example, ‘CalculateTotal’ that would, in turn, call a method of each line that would transparently calculate the partial amount taking into account amounts, taxes, etc., and who would be in charge of adding all of them to give the total amount.

### 2.SCM or VCS
No self-respecting programmer should work without using a source code control system or Source Control Management, also known as Version Control System. You will see that the two terms are used interchangeably, but they refer to the same thing in both cases.

It is a system that allows us to store the source code of the programs and any other related file that we use and monitor and saves all the changes and different versions of each file that have been explicitly saved.

It is a potent tool essential when collaborating with other programmers on the same project, but it is also almost mandatory even if we work alone. Thanks to its use, we can go back to any point of the past in our applications, trace the changes until we find the one that has caused something to fail, work separately on new features without influencing the main product until they are finished, etc.

If you don’t master at least one, you’re already taking the time. In any company, they will ask you for it, and if you work alone, you can get a lot out of it.

The best known are Git, Mercurial, and Subversion. The first two are also distributed systems. This means that it is possible to work with them without connection to a central repository, and they are more flexible.

Git, created by Linus Torvalds, is undoubtedly the one that is leading the way and the one that is being used the most around the world, thanks, among other things, to the GitHub project, where everyone has open source today.

### 3.WYSIWYG
What You See Is What You Get...This is used to describe any system that allows you to create content while seeing how it will work. The most common case is a rich text editor in which, as we write, we see exactly how the final result will be when we go to print or convert it to a portable format.

### 4.GUI
It is the abbreviation of Graphic User Interface or graphical user interface.

Any graphic artifact allows users to interact with an application using icons, buttons, visual indicators, etc. In contrast to the more traditional interfaces based on text or the most advanced currently based on voice or interaction through movements.

By the way, it is pronounced “güi” (as in “pin güi no,” that is, the “u” is not mute, as in Spanish).

### 5.API
Refers to application programming interfaces or Application Programming Interfaces. It is any set of functions and methods exposed by a programmer for other programmers to use, either directly referencing a library or exposing it through some protocol (HTTP to access through the internet).

An important feature of an API is that it is independent of the implementation underneath. An API is like a black box for the programmer who uses it so that as long as the exposed part does not change, what is done underneath and how it is done is indifferent.

In this way, if we create an API in a language (for example, Java) and expose it through HTTP as a REST API (another nice acronym a little more advanced, which means Representational State Transfer, we will not see it today), if we change later the way it works or we even write it again from scratch with a different programming language, as long as we do not change the exposed part (that is, the functions and their parameters and the way to access them), for all intents and purposes it remains the same API for programmers who use it.


### 6.IDE
An Integrated Development Environment or IDE ( Integrated Development Environment ) is an application for developing applications beyond a simple editor. It offers many advanced tools to help us in our work, such as debuggers, visual design, performance analysis, application testing, collaboration tools, object and class inspectors, and other tools.

Some IDEs are suitable for working in several languages ​​, and others are focused on a specific platform (such as Java). The best known are Visual Studio, Eclipse, Netbeans, or IntelliJ IDEA. An IDE will be your best friend in your work, so choose one well and learn to take full advantage of it.

### 7.TDD
This term refers to test-driven development or Test-Driven Development.
A test-driven development involves testing/testing all the code you write to ensure that it works, covers all cases, and does not interfere with other parts of the application that you may not have considered in principle.

But TDD goes beyond that, as it is a philosophy that implies that development actually begins with testing. That is, a TDD development would imply following, more or less, these steps:
Think about the functionality we need for a function or a class
Create the test that will validate that you are doing your job, including all the casuistry. Before writing the code!
Implement the function or class.
Pass the tests. We do not end development until it passes them.
Although it may seem counterproductive to follow this process, many studies show that in the long run, it is more efficient than the traditional method since it helps to design the code better, better take into account all cases, and have fewer errors. This makes the code more robust and easier to maintain, and time is saved because there are fewer bugs to fix, increasing quality.

### 8.SDK 

An SDK is a software development kit (Software Development Kit). It is a set of APIs, code samples, and documentation that software manufacturers provide to other programmers to develop for a platform.

As a general rule, SDKs are released for an operating system (Windows, iOS, Android), a development platform (such as .NET, Java), or a game console (Xbox), to give common examples. We could think of an SDK as the middleman that a manufacturer puts between their systems and the applications that third-party developers create.