Blog Archives

The 8 Most Important Acronyms Every Programmer Should Know

The Royal Spanish Academy defines an acronym as:

Acronym whose configuration allows its pronunciation as a word; p. eg, ufo: unidentified flying object; ICT, information and communication technologies.

In fact, the most common name given to the Academy itself is also an acronym: RAE: -)

Acronyms are words created from the initials of other words. They are everywhere today, and one area where they are most proliferating is in the technical world, where we are especially given to specifying and simplifying. In fact, they are so common that there is an acronym to describe acronyms, the mythical: TLA (Three Letter Acronym), or three-letter acronym, which is the most common. When you see TLA out there, you already know what it means...

Although there are hundreds of them, there are a few that are absolutely essential and that we should know if we are dedicated to the world of application development. Without excuses.

Let's see the most basic below:

1.GUI

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

It is any graphic artifact that 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 silent, as in Spanish).

2.WYSIWYG

This is used to describe any system that allows you to create some content at the same time seeing how it will look when it is working. The most common case is a rich text editor in which, as we write, we see exactly how the final result will look when we are going to print it or convert it to a portable format.

  1. API

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

An important feature of an API is that it is independent of the underlying implementation. In other words, 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 does not matter.

So, if we create an API in a language (for example Java) and expose it over HTTP as a REST API (another nice, slightly more advanced acronym, which stands for Representational State Transfer, we won't see it today), if we later change the way it works or even we write it again from scratch with a different programming language, as long as we don't 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 developers who use it.

  1. SDI

An Integrated Development Environment or IDE is an application for developing applications that goes far beyond what a simple editor offers. 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, integration with other tools...

Some IDEs are valid 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.

5.SDK

An SDK is a Software Development Kit. It is a set of APIs (see above), code examples and documentation that software manufacturers give to other programmers so that they can develop for some 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 intermediary that a manufacturer puts between its systems and the applications that third-party developers create. If you program professionally, sooner or later you will have to fight with someone.

  1. OOP or POO

This is one of the few acronyms that are translated and used in its Spanish version. This is Object Oriented Programming (OOP) or in English Object Oriented Programming (OOP). It is necessary to know both because 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 interact with other objects.

For example, in a billing application there would be a class (a pattern object) that would represent 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, as well as a series of objects of type LineaInvoice to represent each line. To calculate the amount of the invoice, a method of the object that represents it would be called (for example 'CalcularTotal', which would in turn call a method of each line that would transparently calculate the partial amount taking into account quantities, taxes, etc..., and that would be in charge of making the sum of all of them to give the total amount.

The OOP is based on several principles that every language must comply with to work with objects, such as encapsulation, inheritance and polymorphism.

Most modern programming languages ​​include OOP among the paradigms they support.

7.SCM or VCS

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

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

Are you new to programming and do not know where to go? Consult our online advisor 😉

It is a very powerful tool that is 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 in 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 late. In any company they will ask you for it, and if you work alone you can still get a lot of use 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 taking the cat to the water 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.

  1. TDD

This term refers to Test Driven Development or Test Driven Development.

Test-driven development involves testing/testing all the code you write to ensure that it works, that it covers all cases, and that it doesn't interfere with other parts of the application that you may not have initially considered.

But TDD goes beyond that, as it is a philosophy that development really starts with testing. That is, a TDD development would imply following, more or less, these steps:

  1. Think about the functionality we need for a function or a class
  2. Create the test that will serve to validate that you are doing your job, and that it contemplates all the cases. Before writing the code!
  3. Implement the function or class.
  4. Pass the tests. We don't consider the development finished until you pass them.

Although it may seem counterproductive to follow this process, there are many studies that show that in the long run it is more efficient than the traditional method, since it helps to better design the code, better take into account all cases, and have fewer errors. This makes the code more robust and easier to maintain, and saves time because there are fewer bugs to fix, increasing quality.

I

ICSCN

ISFTC

ITESF

ITYR

IACCTT

ICD-10-AM

ISACE

ISML

IVBAT

IGHRC

IFAHC

IGTP

ISQIT

IWEM

IDEFA

IAMIC

IPEI

INAAP

IABDU

ILLE

IGKT

ILBSA

IIAI

IPPPSH

IPRH

IGSH

IMUNE

IQOQI

ILIDS

IACNS

ITSET

IRIBW

ISSAP

ISDIKS

ISTBM

ITPAL

INSPQ

iLDH

IQO

IBFNET

IVDAS

IBEF

IENE

INFLTREP

IH&MEE

IPRAC

iARG

IHOL

IVAX

ISMAP

IPPLM

IACCI

InTIME

ICCPOL

IPsla

INERT

IMDEC

IJJ

IPSMO

ISPON

ILCM

ICMM

ICP10

IWST

IMCYC

ISHNC

IAAWTP

ISERN

IUCPR

iPCF

IBTN

ICEHD

IPISC

ITHP

ICOBR

IITSEC

IRPTC

IWEO

IAUPC

ICDEA

ISPSO

ISOLC

ICGF

INIVIT

ILDRA

INDICARE

ISHSS

IHANT

ISCAT

IABA

IIJOHN

ILBB

IER3

ICEID

IWMLTF

IIANJ

IASUS

ISWSC

IMMAA

ILTER

INFCE

IAALBNYL

IPTED

IC-DMS

IWRF

IMCARY

ITWL

IITYWTMWYBMACOC

ISWL

IEDAB

IOLRI

IJATTOD

ICDHM

IMMAG

IUCV

ITACC

INVEKOS

ISODAS

IAOAC

I2AT

IMPRIMATUR

I-S/A

I-CFDA

IAJG

IPRRC

ISSPCC

IOSPO

IWAOS

iVDGL

ICMEE

ITEAMS

IIFD

IDWD

IOSL

IJOSL

ICDCN

IWTHYH

IURYN

IMAJ

IAOPC

IISR-BMA

INPID

IFSAC

IPPRC

IARRT

ITBCS

IALSWG

ITFB

IPTPM

ITFIT

IWTMLTY

IAIG

IWUG

IKAB

INSBD

ICEMP

INJAL

ISERC

IHAI

IRGGA

IT21

IAATP

IGCCC

IHOS

IQUE

IRMDR

ITS/CTS

IO-MUD

IGRV-ARF

ICLFS

IJMPB

INDUS

IODMI

ISNV

IBHR

I/C

IATSC

ISOVG

ISLHA

IDBHS

ISLPAB

IFICS

IONP

IHPM

ICBLD

IREPM

IAROS

ICoHA

IATAL

IFCSS

INENSUS

ISOW

IFLTA

ILGPS

InSPACE

IBEAC

IAMWGE

IOOSF

Inov8

ICAPT

ISULL

ICIET

IMNSVHO

IOOM

IHFV

ICYRA

IRFOF

ICASVR

IHSGB

IABX

INHIGEO

IQSMS

IPCCI

ISAEA

IzR

ISPLS

ICPAD

ICARC

IJCIA

IUMG

IACAS

IIFP

ISEqH

IORC

IISG

IVLEB

ISREP

IVWD

IDGCC

I&G

IDATS

ICMMP

I/EDR

IACCGH

IPPCR

ITEG

ISSCS

IHCAM

ISSBC

IITYWTMWYLMA

IL&E

ISSPSC

IRAIT

ISFY

IFCF

ISWEC

IT1

IMDIA

IMQP

IHTRSR

ICVV

IGLF

ITMSOT

ITSAT

ICACC

ISDO

IEWSE

ICHLL

IOMMU

IRLON

IUMT

IDAMN

ISFMS

IWAL

IERAD

IRDL

IPECH

IMAHN

IS&FP

ICOVP

ICGTIS

IBTSWG

ITBOAE

IDAFIJ

IJGMMP

IISU

ISESS

IAPTA

IZV

INUG

IWCR

IEGS

ICVC

IS&R

IEHN

ISCAP

IFLM

IAWMS

IAGWSP

IMDO

IPSIR

IMSTM

IOMEC

IINS

IAWGDEC

ITNF

ISCEE

I-MTS

IDAQS

IRUPC

INEPP-CS

IHSN

IFCT

IRBLEM

IACCW

IADLEST

ICGSD

IFMCL

IAMM

IQWiG

ICMK

IACCR

II1

IGTR

IHFRA

IGNN

IKSR

IALS

INWES

IRWAZ

IICUS

ISMERLO

IMTO

IIALM

IYKWIAS

IYGPT

ILCF

IDYNEV

IJFE

IRLF

IMTA

IFMAO

IORCMV

INWYA

IORBF

INWENT

ICWI

ICAIV

ILGHRC

IIDE

IIYC

IVARO

IEWTD

ICFER

IAPSE

ITBMW

IGFBP-2

IISAS

IPGHD

IAQP

ICEEM

IZJ

IINYS

IORMS

IALW

IZI

ID3

IC/YLG

ISETS

IAATM

INCHRITI

IWNTA

IJGLS

IAHMA

IJICT

IOSB

IGDN

IJITM

Iteka

IOCHK

IDECG

ILTCO

IJJM

ISPART

ISMTE

IDFS

IRSAG

IEP110

IFRAMOND

IOCAT

ISCQ

ILVM

ISCCO

ISLDP

ICAADA

IDNF

ICTED

ICIIT

IDCEC

ISGRS

IAJCM

IWALT

INNA

ISLAT

IVFDF

ID-I

ICCPS

IP3R

IAOP

IJIG

IEMP

IHBMA

ITSOFC

ISPFCU

IIAHC

IPSG+

IFEZ

IKUH

IREI

IMMAO

ITATE

IKMR

IRMY

IAAPC

ISRFST

IAFGS

IAIO

IPPTA

IREE

IPLFA

ICACP

IMVDA

ISICA

IAUNEKA

ICPSC

IRVV

IWWA

ICLDF

IACAC

IJAIS

ICFNE

ISHC

IONO

IPQOS

IRRAG

ILSRRF

IEAA

INMETCO

ILWG

IHMS

IORNS

ISSSO

IPAI

ITDAMS

IPODM

IBJM

ICNPF

IDSMT

ISWIB

ICOPVS

INMEPRO

IOIBD

INPHO

ITPSA

I-NNI

IBIK

IPGCC

ILAEOPP

INATS

ILUGD

IRUSS

ICRPD

ITSSA

IMEHA

ICCVG

IQSC

IPHFHA

ILMST

IAWC

ISAHU

ITUDOCS

IVHA

IBBO

ICHSL

ISPPS

IBDH

ISSRI

IOCPS

ITEOTWAWKIAIFF

INAACH

ILYF

IYOU

ILDIS

ISTAP

IRO-DB

IHRLI

ISICT

IOGTR

ICMICA

IR-OBIRCH

INPEN

ICHEM

IRGW

IUGW

ILKBP

IBLUG

IWOPA

ICFRS

INHOEP

IHCNS