Los 200 términos más utilizados en programación
Glosario
A
-
Algoritmo
Conjunto de pasos bien definidos que permiten solucionar un problema o realizar una tarea específica. Los algoritmos pueden implementarse en cualquier lenguaje de programación. -
Análisis de Complejidad
Evaluación de la eficiencia de un algoritmo en términos de tiempo de ejecución y espacio en memoria en función del tamaño de la entrada. Se suele expresar en notación Big O. -
API (Application Programming Interface)
Conjunto de definiciones y protocolos que permiten la interacción entre diferentes sistemas de software. Una API permite que una aplicación acceda a las funcionalidades o datos de otra. -
API GraphQL
Lenguaje de consulta para APIs que permite al cliente solicitar exactamente los datos que necesita. A diferencia de REST, GraphQL puede evitar el envío de datos innecesarios. -
API Key
Clave de autenticación utilizada para acceder a una API. Es una forma segura de controlar el acceso a los recursos y gestionar las credenciales. -
API RESTful
Estilo de arquitectura utilizado para construir APIs, basado en las operaciones HTTP (GET, POST, PUT, DELETE, entre otras). Se usa para interactuar con recursos representados en un servidor. -
Argumento
Valor que se pasa a una función cuando es llamada. Este valor es procesado por la función para realizar una tarea específica. -
Array (Arreglo)
Estructura de datos que almacena múltiples valores en una secuencia indexada. Los arrays permiten el acceso rápido a cualquier elemento usando su índice (que habitualmente se corresponde con el 0). -
Atributo
Propiedad o característica de un objeto en programación orientada a objetos. Un atributo representa el estado de un objeto.
B
-
BaaS (Backend as a Service)
Plataforma que proporciona a los desarrolladores todas las herramientas y servicios necesarios para conectar aplicaciones al backend sin necesidad de gestionar la infraestructura. -
Backend
Parte del desarrollo de software que se enfoca en la lógica del servidor, la gestión de bases de datos y la manipulación de datos detrás de una aplicación. No es accesible directamente por el usuario final. -
Balanceador de carga (Load Balancer)
Dispositivo o software que distribuye el tráfico de red entre varios servidores para mejorar el rendimiento y evitar sobrecargas en un solo servidor. -
Balanceo de carga
Técnica que distribuye el tráfico de red entre múltiples servidores para mejorar el rendimiento, evitar sobrecargas y garantizar la alta disponibilidad. -
Base de datos
Sistema estructurado para almacenar, organizar y gestionar grandes cantidades de datos. Pueden ser relacionales (SQL) o no relacionales (NoSQL). -
Batch Processing (Procesamiento por lotes)
Método de ejecución en el que las tareas se agrupan y ejecutan en conjunto en lugar de ejecutarse de manera interactiva o en tiempo real. -
Biblioteca o Librería (Library)
Colección de funciones, métodos o clases predefinidas que pueden ser reutilizadas en diferentes proyectos. Las bibliotecas permiten evitar la duplicación de código y mejorar la productividad. -
Big Data
Conjunto de datos extremadamente grandes y complejos que requieren herramientas y tecnologías especializadas para su análisis, almacenamiento y procesamiento. -
Big O
Notación que describe la complejidad temporal o espacial de un algoritmo en el peor de los casos. Mide cómo el rendimiento de un algoritmo escala con el tamaño de la entrada. -
Binario
Sistema numérico en base 2, que solo utiliza los dígitos 0 y 1. Es el lenguaje fundamental de los equipos informáticos. -
Bit
Unidad mínima de información en computación que puede tener solo dos valores: 0 o 1. -
Booleano
Tipo de dato que solo puede tener dos valores posibles: verdadero (True) o falso (False). Utilizado comúnmente en expresiones condicionales. -
Bucles (Loops)
Estructura de control que permite repetir una secuencia de instrucciones hasta que se cumpla una condición específica. Los tipos más comunes sonfor
,while
ydo while
. -
Buffer
Espacio temporal en memoria que almacena datos mientras son transferidos entre diferentes partes de un programa o hardware. Los buffers se usan comúnmente para mejorar la eficiencia de entrada/salida. -
Bug
Error o fallo en el código que provoca que un programa no funcione correctamente. La depuración (debugging) es el proceso de encontrar y corregir estos errores. -
Build (Compilación)
Proceso de convertir el código fuente en un formato ejecutable por un ordenador. En los lenguajes compilados, como C++ o Java, el código pasa por un proceso de construcción antes de ejecutarse.
C
-
Cache
Almacenamiento temporal de datos que son accedidos con frecuencia para mejorar el rendimiento y reducir la latencia en las solicitudes repetidas. -
Callback
Función que se pasa como argumento a otra función y que es ejecutada después de que la función principal termina su tarea. Común en programación asíncrona. -
Carga (Load)
Se refiere a la cantidad de trabajo que un sistema, servidor o programa está procesando en un momento dado. El manejo de carga es crucial para evitar la saturación de recursos. -
Clase (Class)
Plantilla o definición para crear objetos en programación orientada a objetos. Una clase define los atributos y comportamientos que los objetos creados a partir de ella tendrán. -
CLI (Command-Line Interface)
Interfaz basada en texto que permite a los usuarios interactuar con el sistema operativo o el software mediante la introducción de comandos. -
Closure (Clausura)
Función que "recuerda" el ámbito en el que fue creada, incluso si se ejecuta fuera de ese ámbito. Común en lenguajes como JavaScript. -
Código fuente (Source Code)
Conjunto de instrucciones y declaraciones escritas en un lenguaje de programación, que luego son compiladas o interpretadas para ser ejecutadas por una máquina. -
Código limpio (Clean Code)
Código que es fácil de leer, comprender y mantener. Se caracteriza por una estructura clara, nombres descriptivos y la ausencia de redundancias o complejidad innecesaria. -
Cola (Queue)
Estructura de datos que opera según el principio FIFO (First In, First Out), donde el primer elemento añadido es el primero en ser procesado. -
Commit
Acción en un sistema de control de versiones como Git que guarda un estado específico del código en el historial del proyecto. -
Compilación (Build)
Proceso de transformar código fuente en un archivo ejecutable por la máquina. Los compiladores se encargan de esta tarea, generando el código binario necesario para que el sistema operativo ejecute el programa. -
Compilador
Programa que convierte el código fuente escrito en un lenguaje de alto nivel a un lenguaje de máquina ejecutable. -
Compilador Just-in-Time (JIT)
Compilador que traduce el código en tiempo de ejecución en lugar de hacerlo antes de que comience la ejecución del programa, optimizando su rendimiento. -
Compresión de datos
Proceso que consiste en reducir el tamaño de un archivo o conjunto de datos. Puede ser con pérdida (se elimina parte de la información) o sin pérdida (se mantiene toda la información original). -
Computación en la nube (Cloud Computing)
Modelo de computación que permite acceder a recursos informáticos (servidores, almacenamiento, bases de datos, etc.) a través de internet, en lugar de gestionarlos localmente. -
Concurrency (Concurrencia)
Capacidad de un sistema o programa para ejecutar múltiples tareas de forma simultánea, a menudo mejorando el rendimiento en sistemas multi-núcleo. -
Condicional
Estructura de control que permite tomar decisiones en el flujo de un programa según una condición booleana (True o False). Los condicionales comunes incluyenif
,else if
,else
, yswitch case
. -
Constructor
Método especial que se invoca automáticamente cuando se crea una instancia de una clase. En la mayoría de los lenguajes orientados a objetos, se usa para inicializar objetos. -
Contenedor (Container)
Unidad de software que empaqueta el código y todas sus dependencias para que una aplicación pueda ejecutarse de manera confiable en cualquier entorno, ya sea en local o en producción. -
Contexto
Entorno en el que se ejecuta un bloque de código, que define qué variables y funciones están disponibles en ese momento. -
Control de versiones (Version Control)
Sistema que permite gestionar los cambios en el código fuente a lo largo del tiempo, facilitando la colaboración entre desarrolladores y el mantenimiento de un historial de versiones. Ejemplos: Git, Subversion. -
CORS (Cross-Origin Resource Sharing)
Mecanismo de seguridad que permite a un servidor especificar quién puede acceder a sus recursos desde un dominio diferente, utilizado para prevenir problemas de seguridad en aplicaciones web. -
CRUD (Create, Read, Update, Delete)
Acrónimo que describe las operaciones básicas que se pueden realizar sobre los datos en una base de datos o sistema de almacenamiento: Crear, Leer, Actualizar y Eliminar. -
CSS (Cascading Style Sheets)
Lenguaje utilizado para definir la apariencia y el diseño de las páginas web. Permite separar el contenido HTML de los estilos visuales, como colores, fuentes y diseño de las páginas.
D
-
Data Mining (Minería de datos)
Proceso que analiza grandes volúmenes de datos para descubrir patrones ocultos y relaciones útiles para la toma de decisiones. -
Data Science (Ciencia de datos)
Campo que utiliza técnicas de estadística, matemáticas y programación para extraer información valiosa a partir de datos. -
Dependencia (Dependency)
Componente o módulo externo que una aplicación necesita para funcionar. Por ejemplo, bibliotecas o paquetes que agregan funcionalidades específicas a un proyecto. -
Depuración (Debugging)
Proceso de identificar, rastrear y corregir errores o fallos en un programa para asegurarse de que funcione correctamente. -
Desarrollo ágil (Agile)
Metodología de desarrollo de software que se enfoca en la entrega rápida y continua de pequeñas mejoras a lo largo del tiempo. Se basa en la colaboración y la adaptación rápida a los cambios. -
Desbordamiento de pila (Stack Overflow)
Error que se produce cuando un programa agota la memoria disponible para la pila de ejecución, generalmente debido a una recursión infinita, bucles mal gestionados, objetos de gran tamaño o ausencia de eliminación de recursos. -
Deserialización
Proceso de convertir un formato de datos serializado (como JSON o XML) en un objeto nativo del lenguaje de programación que lo pueda manipular. -
DevOps
Práctica que combina el desarrollo de software (Dev) y las operaciones de TI (Ops) para mejorar la colaboración entre equipos y automatizar el ciclo de vida de la entrega de software. -
Diagramas de flujo
Representación gráfica de un proceso o algoritmo que muestra las decisiones, entradas, salidas y flujo de control mediante símbolos y flechas. -
DOM (Document Object Model)
Modelo de programación que representa la estructura de una página web como un árbol de nodos, lo que permite a los lenguajes de programación manipular dinámicamente el contenido y estilo de una página web. -
Driver
Programa que permite que el sistema operativo o una aplicación se comunique con un hardware específico, como una impresora, tarjeta gráfica o dispositivo USB.
E
-
Eficiencia
Medida que representa cómo un algoritmo o programa utiliza los recursos disponibles, como su tiempo de ejecución y espacio en memoria, para resolver un problema o ejecutar una tarea. -
Elemento
Unidad individual dentro de una estructura de datos como un array o una lista. Por ejemplo, en el array[1, 2, 3]
, los elementos son1
,2
y3
. -
Encapsulación
Principio de la programación orientada a objetos que oculta los detalles internos de una clase o módulo y expone solo una interfaz pública, protegiendo el estado interno de cambios accidentales o no deseados. -
Encriptación (Cifrado)
Técnica que transforma los datos en un formato ilegible para garantizar su confidencialidad. Solo quienes tienen la clave adecuada pueden descifrar y leer los datos. -
Endpoint
Punto final en una conexión de red o API. Representa un recurso específico en un servidor al que se accede para interactuar con la aplicación. -
Ensamblador (Assembler)
Programa que traduce código en lenguaje ensamblador (un lenguaje de bajo nivel) a código máquina, que es directamente entendible por el procesador de un ordenador. -
Entrada (Input)
Datos o información proporcionados a un programa para ser procesados. La entrada puede venir del usuario, de un archivo, de otro programa o de una base de datos. -
Escalabilidad
Capacidad de un sistema, red o proceso para manejar un incremento en la carga de trabajo añadiendo recursos:- Escalabilidad horizontal: Aumentar la cantidad de servidores.
- Escalabilidad vertical: Mejorar los recursos de hardware.
-
Esquema (Bases de datos)
Estructura que define cómo se organizan y relacionan los datos dentro de una base de datos. Describe las tablas, columnas, relaciones y restricciones. -
Estilo de código
Conjunto de convenciones y reglas sobre cómo debe estructurarse el código en un lenguaje de programación. -
Evento
Acción o suceso que ocurre en un programa, como un clic del ratón, el envío de un formulario o la llegada de datos desde un servidor. Los eventos desencadenan respuestas predefinidas. -
Excepción (Exception)
Evento anómalo o error que ocurre durante la ejecución de un programa y que interrumpe su flujo normal. Las excepciones pueden ser gestionadas con estructuras comotry/catch
. -
Expresión regular (Regex)
Secuencia de caracteres que define un patrón de búsqueda. Se utiliza para la coincidencia, validación y manipulación de texto en la gran mayoría de lenguajes de alto nivel.
F
-
FIFO (First In, First Out)
Estructura de datos en la que el primer elemento añadido es el primero en ser retirado, como en una cola. -
Firewall
Sistema de seguridad que controla y filtra el tráfico de red entrante y saliente, basado en reglas de seguridad predeterminadas. Ayuda a proteger las redes de accesos no autorizados. -
Framework
Conjunto de herramientas, bibliotecas y convenciones que ofrecen una estructura estándar para desarrollar aplicaciones de manera eficiente. -
Frontend
Parte de una aplicación o sitio web que interactúa directamente con el usuario, abarcando la interfaz gráfica y la experiencia de usuario. -
Fullstack
Desarrollador que trabaja tanto en el frontend como en el backend de una aplicación, manejando tanto la interfaz de usuario como la lógica del servidor y las bases de datos. -
Función (Function)
Bloque de código que realiza una tarea específica y que puede ser invocado múltiples veces dentro de un programa. Las funciones permiten modularizar y reutilizar el código.
G
-
Garbage Collection (Recolección de basura)
Mecanismo automático que gestiona la memoria en lenguajes de programación de alto nivel como Java o Python, liberando la memoria que ya no está en uso. -
Git
Sistema de control de versiones distribuido que permite a los desarrolladores llevar un historial de cambios en el código y trabajar en colaboración en proyectos de manera eficiente. -
GitHub
Plataforma en línea que permite a los desarrolladores alojar sus repositorios de Git, colaborar con otros programadores y compartir proyectos de código abierto. -
GUI (Graphical User Interface)
Interfaz gráfica que permite a los usuarios interactuar con un sistema mediante elementos visuales como ventanas, botones y menús, en lugar de usar solo comandos de texto.
H
-
Hashing (Hash)
Proceso de convertir datos de longitud variable en una representación de longitud fija mediante una función hash. Utilizado para búsquedas rápidas, encriptación y generación de claves únicas. -
Heap (Montículo)
Estructura de datos en la que los elementos se organizan en un árbol binario, útil para implementar colas de prioridad. El elemento con mayor prioridad siempre se encuentra en la raíz. -
Herencia (Inheritance)
Propiedad de la programación orientada a objetos que permite que una clase derive de otra, heredando sus atributos y métodos, y permitiendo la reutilización del código. -
HTML (HyperText Markup Language)
Lenguaje estándar para estructurar contenido en la web. Define elementos como encabezados, párrafos, enlaces, imágenes y otros componentes de una página web. -
HTTP (Hypertext Transfer Protocol)
Protocolo de comunicación utilizado para transferir datos a través de la web. Es la base para la transferencia de información entre navegadores y servidores web. -
HTTP (Hypertext Transfer Protocol)
Protocolo fundamental para la navegación en sitios web y la interacción con APIs. Permite la transferencia de datos entre un cliente (como un navegador web) y un servidor. -
HTTPS (Hypertext Transfer Protocol Secure)
Versión segura de HTTP que utiliza encriptación (SSL/TLS) para proteger la información transmitida entre el cliente y el servidor. Garantiza la privacidad e integridad de los datos. -
Hypervisor
Software que permite ejecutar y gestionar múltiples máquinas virtuales en un único hardware físico, maximizando el uso de recursos.
I
-
IDE (Entorno de Desarrollo Integrado)
Software que proporciona un conjunto de herramientas para facilitar el desarrollo de software, como un editor de código, un depurador y un compilador, todo en un solo entorno. -
Índice (Index)
Posición numérica asignada a un elemento dentro de una estructura de datos como un array o lista, que permite acceder a él de manera rápida y directa. -
Inmutable
Propiedad de un objeto o dato que no puede cambiar después de su creación. Las estructuras inmutables son comunes en programación funcional y ayudan a prevenir errores relacionados con el cambio de estado. -
Instancia (Instance)
Objeto creado a partir de una clase. Una instancia representa un ejemplo específico de la clase, con sus propios valores y comportamientos. -
Instanciación
Proceso utilizado para crear un objeto a partir de una clase. Cuando se instancia una clase, se crea un nuevo objeto con los atributos y métodos definidos en la clase. -
Inyección de dependencias (Dependency Injection)
Patrón de diseño que consiste en proporcionar a un objeto sus dependencias desde fuera, en lugar de crearlas internamente. Facilita el testeo y la reutilización de código. -
IoT (Internet of Things)
Red de dispositivos conectados a internet que recopilan y comparten datos, como sensores, electrodomésticos inteligentes y coches autónomos. -
Iteración
Proceso de repetir una secuencia de instrucciones o pasos en un bucle, hasta que se cumple una condición de finalización. Los buclesfor
ywhile
son comunes para realizar iteraciones.
J
-
JavaScript
Lenguaje de programación interpretado que se ejecuta en el navegador para crear experiencias interactivas en la web. También se utiliza en servidores con tecnologías como Node.js. -
JSON (JavaScript Object Notation)
Formato de intercambio de datos ligero y fácil de leer tanto para humanos como para máquinas. Es ampliamente utilizado en APIs y en la transmisión de datos entre cliente y servidor. -
JVM (Java Virtual Machine)
Máquina virtual que ejecuta aplicaciones Java (o Kotlin) al interpretar el bytecode generado por el compilador. Ofrece portabilidad y seguridad independiente del hardware. -
JWT (JSON Web Token)
Estándar para crear tokens de acceso seguros que permiten la autenticación entre cliente y servidor. Los tokens JWT se utilizan para validar sesiones en aplicaciones web.
K
-
Kernel
Parte central del sistema operativo que gestiona el hardware del equipo informático y proporciona servicios básicos a las aplicaciones. -
Key (Llave)
En bases de datos, una columna o combinación de columnas que identifica de manera única un registro en una tabla (ej., claves primarias y foráneas). En estructuras de datos, el elemento que permite acceder a su valor asociado. -
Keyword (Palabra clave)
Término reservado en un lenguaje de programación que tiene un significado especial y no puede ser usado como identificador, comoif
,else
,while
oreturn
.
L
-
Lambda
Función anónima, generalmente escrita en una sola línea, que se utiliza para realizar tareas simples y rápidas. -
Latencia
Tiempo que transcurre entre una solicitud y la respuesta correspondiente. En programación y redes, se refiere al retraso en la transmisión de datos. -
Lazy Loading
Técnica de optimización que retrasa la carga de imágenes, archivos u otros recursos hasta que realmente son necesarios, mejorando la velocidad de carga inicial de las aplicaciones. -
Lenguaje de Alto Nivel
Lenguajes de programación que están más cerca del lenguaje humano y se abstraen de los detalles del hardware, como Python, Java o JavaScript. Son más fáciles de entender y usar, aunque a veces menos eficientes que los lenguajes de bajo nivel. -
Lenguaje de Bajo Nivel
Lenguaje de programación más cercano al código máquina, con menos abstracción, como el lenguaje ensamblador o, en menor medida, C. Ofrece un control detallado del hardware. -
LIFO (Last In, First Out)
Estructura de datos en la que el último elemento añadido es el primero en salir, como en una pila. -
Linter
Herramienta de análisis de código que detecta errores y malas prácticas en el código fuente, mejorando su calidad y consistencia. -
LLM (Large Language Model)
Modelo de lenguaje a gran escala entrenado con grandes cantidades de datos para comprender, generar y predecir texto de manera contextual. -
Local
Hace referencia a un entorno o recurso que se encuentra en la máquina del usuario (como un servidor, base de datos o archivo) y no en una ubicación remota.
M
-
Machine Learning (Aprendizaje Automático)
Rama de la inteligencia artificial que se centra en desarrollar algoritmos que permiten que las máquinas aprendan automáticamente a partir de datos, sin ser explícitamente programadas. -
Método (Method)
Función asociada a una clase o un objeto en programación orientada a objetos, que define un comportamiento específico. -
Microservicios
Arquitectura en la que una aplicación está dividida en pequeños servicios independientes que pueden desarrollarse, desplegarse y escalarse de manera autónoma. -
Middleware
Software que actúa como intermediario entre diferentes sistemas o aplicaciones, facilitando la comunicación eficiente y segura entre ellos. -
Mock (Objeto simulado)
Objeto utilizado en pruebas de software para simular el comportamiento de componentes reales del sistema. Permite probar partes del código sin interactuar con el sistema completo. -
Módulo (Module)
Componente reutilizable de software que encapsula un conjunto de funcionalidades relacionadas, como un archivo de Python que contiene funciones y clases. -
Monolito
Arquitectura en la que todos los componentes de una aplicación están estrechamente interconectados y se despliegan como una sola unidad. A menudo se compara con la arquitectura de microservicios.
N
-
Namespace (Espacio de nombres)
Contexto que permite diferenciar múltiples identificadores (nombres de variables, funciones, clases) sin causar conflictos, al agruparlos bajo un mismo nombre. -
Nested (Anidado)
Situación en la que un bloque de código, como un bucle o condicional, está contenido dentro de otro bloque. El código anidado puede aumentar la complejidad de un programa. -
Normalización (Normalization)
Proceso que organiza los datos en una base de datos para reducir la redundancia y mejorar la integridad, dividiéndolos en múltiples tablas relacionadas. -
NoSQL
Tipo de base de datos que no sigue el modelo relacional tradicional. Es útil para manejar grandes volúmenes de datos no estructurados o semi-estructurados. -
Null
Valor especial que indica la ausencia de un valor o la inexistencia de un objeto. Es común en muchos lenguajes de programación para representar "sin datos".
O
-
OAuth
Protocolo estándar de autorización que permite a los usuarios otorgar acceso limitado a sus recursos sin compartir sus credenciales. Es común en sistemas de autenticación y APIs. -
Objeto (Object)
Instancia de una clase que contiene datos (atributos) y comportamientos (métodos) definidos en dicha clase. Los objetos son fundamentales en la programación orientada a objetos. -
Open Source (Código Abierto)
Software cuyo código fuente está disponible públicamente para que cualquiera lo use, modifique y distribuya, aunque puede haber restricciones. Ejemplos: Linux, Python y Git. -
Operador Aritmético
Símbolos utilizados en programación para realizar operaciones matemáticas básicas como suma (+
), resta (-
), multiplicación (*
), división (/
) y módulo (%
). -
Operador de Asignación
Símbolos usados para asignar valores a variables. El más común es el operador igual (=
), que asigna el valor de la derecha a la variable de la izquierda. -
ORM (Mapeo Objeto-Relacional)
Herramienta que permite interactuar con bases de datos relacionales usando objetos. Facilita la manipulación de datos al eliminar la necesidad de escribir consultas SQL manualmente. -
Overloading (Sobrecarga)
Capacidad de definir múltiples versiones de una función o un operador que realizan diferentes tareas según los parámetros utilizados. -
Override (Sobrescribir)
Proceso de redefinir un método heredado de una clase base en una subclase para modificar su comportamiento.
P
-
PaaS (Plataforma como Servicio)
Modelo de computación en la nube que proporciona una plataforma completa para desarrollar, ejecutar y gestionar aplicaciones sin preocuparse de la infraestructura. -
Paralelismo
Ejecución simultánea de múltiples tareas o procesos en diferentes hilos o procesadores, mejorando el rendimiento del sistema. -
Parámetro (Parameter)
Variable que se pasa a una función o método para que este pueda realizar operaciones basadas en los valores proporcionados. -
Parsing (Análisis Sintáctico)
Proceso de descomponer una secuencia de texto o código en sus componentes estructurales, como palabras clave y operadores, para analizar su significado o ejecutarlo. -
Pila (Stack)
Estructura de datos basada en el principio LIFO (Last In, First Out), donde el último elemento en entrar es el primero en salir. Se usa en algoritmos y gestión de memoria. -
Pipeline
Conjunto de pasos automatizados que se ejecutan en secuencia para compilar, probar y desplegar aplicaciones de software. Es común en sistemas de CI/CD (Integración y Despliegue Continuos). -
Polimorfismo (Polymorphism)
Principio de la programación orientada a objetos que permite que un solo método o función se comporte de manera diferente según el objeto que lo invoque. -
POO (Programación Orientada a Objetos)
Paradigma que organiza el software en clases y objetos que representan conceptos del mundo real. Promueve la modularización y reutilización del código. -
Programación Funcional
Paradigma que se basa en funciones matemáticas puras, evitando cambios de estado y efectos secundarios. Promueve un enfoque declarativo. -
Programación Imperativa
Paradigma que describe los pasos necesarios para lograr un resultado, utilizando instrucciones secuenciales, bucles y cambios en el estado del programa. -
Promesa (Promise)
En JavaScript, una promesa es un objeto que representa la eventual resolución o rechazo de una operación asíncrona. Mejora la gestión de resultados futuros en comparación con los callbacks. -
Pseudocódigo
Descripción informal de un algoritmo que utiliza una mezcla de lenguaje natural y sintaxis de programación. Sirve para planificar soluciones antes de escribir el código. -
Pull Request
Solicitud en un sistema de control de versiones, como GitHub, para fusionar los cambios realizados en una rama con la rama principal. Es una práctica clave para la revisión de código colaborativo. -
Python
Lenguaje de programación de alto nivel conocido por su simplicidad, legibilidad y una comunidad amplia y activa. Se utiliza en desarrollo web, análisis de datos, inteligencia artificial, automatización y más.
Q
-
QA (Quality Assurance)
Proceso de asegurar que el software cumple con los estándares de calidad establecidos. Incluye planificación, pruebas, revisión y mejora continua durante el ciclo de desarrollo. -
Query (Consulta)
Solicitud de información a una base de datos. Por ejemplo, en SQL se usaSELECT
para recuperar datos específicos. -
Query String
Parte de una URL que contiene parámetros clave-valor para enviar datos al servidor. Ejemplo:?id=1&name=mouredev
.
R
-
Rama (Branch)
En sistemas de control de versiones, una línea paralela de desarrollo que permite trabajar en nuevas características o correcciones sin afectar la línea principal (habitualmente llamadamain
omaster
). -
Recursión
Técnica de programación en la que una función se llama a sí misma, directa o indirectamente, para resolver problemas que pueden descomponerse en subproblemas más pequeños. -
Refactorización
Proceso de mejorar la estructura interna del código sin cambiar su comportamiento externo. Esto mejora la legibilidad, eficiencia y mantenibilidad del código. -
Remoto
Hace referencia a un recurso, servidor o servicio ubicado en una ubicación distinta a la máquina del usuario, generalmente accesible a través de internet. -
Renderizado
Proceso de generar la vista final de una página web o aplicación. Puede realizarse en el cliente (frontend) o en el servidor (Server-Side Rendering, SSR). -
Repositorio (Repository)
Almacén donde se guardan y gestionan los archivos y el código de un proyecto de software, generalmente mediante un sistema de control de versiones como Git. -
REST (Representational State Transfer)
Estilo de arquitectura para diseñar APIs que utilizan métodos HTTP (GET
,POST
,PUT
,DELETE
) para interactuar con recursos. Es ampliamente utilizado en comunicación entre aplicaciones web. -
Retorno (Return)
Declaración en una función que termina su ejecución y devuelve un valor al código que la llamó. -
Revisión de Código
Práctica donde otros desarrolladores revisan el código para identificar errores, mejorar la calidad y asegurar el cumplimiento de buenas prácticas. -
Runtime (Tiempo de Ejecución)
Fase en la que un programa ejecuta sus instrucciones. También puede referirse al entorno que soporta esta ejecución.
S
-
SaaS (Software as a Service)
Modelo de distribución de software donde una aplicación se ofrece como servicio a través de internet, eliminando la necesidad de instalarla localmente. -
Script
Programa corto o secuencia de comandos diseñados para automatizar tareas específicas. Comúnmente escrito en lenguajes como Python, Bash o JavaScript. -
Scrum
Metodología ágil que organiza el desarrollo de software en ciclos cortos (sprints), permitiendo la entrega de incrementos funcionales del producto. -
SDK (Software Development Kit)
Conjunto de herramientas y bibliotecas que facilita el desarrollo de aplicaciones para una plataforma específica. -
Serialización
Proceso de convertir un objeto o estructura de datos en un formato que pueda almacenarse o transmitirse fácilmente, como JSON o XML. -
Servidor Web (Web Server)
Software que almacena, procesa y entrega contenido web a navegadores mediante el protocolo HTTP. -
Shell
Interfaz que permite a los usuarios interactuar con el sistema operativo mediante comandos escritos en la línea de comandos. -
Síncrono
Modelo de ejecución en el que las tareas se ejecutan de manera secuencial, esperando a que una tarea termine antes de comenzar la siguiente. Común en operaciones de entrada/salida. -
Singleton
Patrón de diseño que asegura que una clase tenga solo una instancia controlada en todo el programa. Es útil para manejar recursos compartidos como conexiones de base de datos o configuraciones globales. -
SQL (Structured Query Language)
Lenguaje de consulta utilizado para gestionar y manipular bases de datos relacionales. Permite realizar operaciones como insertar, actualizar, eliminar y consultar datos. -
SSH (Secure Shell)
Protocolo de red que permite la administración remota segura de servidores y otros dispositivos mediante una conexión encriptada. Es utilizado para acceder de manera segura a sistemas remotos. -
Stack Trace
Lista de funciones o métodos que están siendo ejecutados cuando ocurre un error en un programa. Es útil para depurar y encontrar la causa de un error. -
Switch
Estructura de control de flujo que ejecuta diferentes bloques de código según el valor de una expresión. Es más eficiente que múltiplesif-else
al evaluar un mismo elemento varias veces.
T
-
Test Unitario (Unit Test)
Prueba automatizada que verifica que una unidad de código (como una función o método) funcione correctamente de manera aislada, asegurando que produzca los resultados esperados. -
Testing (Pruebas)
Proceso de evaluar software para identificar defectos y asegurar que funcione como se espera. Incluye pruebas unitarias, de integración, funcionales, y de rendimiento. -
Thread (Hilo)
Unidad más pequeña de procesamiento que puede manejarse de manera independiente dentro de un proceso. Permite ejecutar múltiples tareas concurrentes en un programa. -
Timeout
Periodo máximo de tiempo que se espera para que una operación o proceso finalice antes de que el sistema lo cancele. Previene que los sistemas se bloqueen por operaciones que no responden. -
Tipado Dinámico (Dynamic Typing)
Característica de lenguajes como Python o JavaScript, donde las variables no tienen un tipo fijo y pueden cambiar durante la ejecución del programa. -
Tipado Estático (Static Typing)
Sistema de tipos donde las variables tienen un tipo definido en tiempo de compilación. Lenguajes como Java o C utilizan tipado estático. -
Token
Unidad básica de un lenguaje de programación, como una palabra clave o un operador. En seguridad, también puede referirse a un token de autenticación que representa información sensible de manera segura. -
Tupla (Tuple)
Colección de elementos ordenados que es inmutable. Común en lenguajes como Python para almacenar datos relacionados.
U
-
UI (Interfaz de Usuario)
Parte de una aplicación con la que el usuario interactúa directamente, como botones, menús, formularios y otros elementos gráficos. -
URL (Uniform Resource Locator)
Dirección única que identifica recursos en la web, como páginas o archivos. Está compuesta por el protocolo (ej. HTTP), el dominio y la ruta del recurso. -
UTF-8
Formato de codificación de caracteres que puede representar cualquier carácter en Unicode. Es ampliamente utilizado en la web para manejar texto en múltiples idiomas. -
UX (Experiencia de Usuario)
La forma en que un usuario percibe e interactúa con un sistema o aplicación, evaluada en términos de facilidad de uso, accesibilidad y satisfacción.
V
-
Variable
Contenedor que almacena datos en un programa. Las variables tienen un nombre y un tipo asociado, lo que permite que el programa acceda a los datos almacenados y los manipule. -
Variable Global
Variable accesible desde cualquier parte del programa. Su uso excesivo puede dificultar el mantenimiento del código y generar errores inesperados. -
Virtualización
Tecnología que permite la creación de versiones virtuales de recursos físicos como servidores, redes o almacenamiento, utilizando software especializado.
W
-
Web Scraping
Técnica para extraer datos de sitios web de manera automatizada, utilizando herramientas o scripts que recorren el contenido HTML de una página y extraen la información necesaria. -
WebSocket
Protocolo de comunicación que permite la transmisión de datos bidireccional en tiempo real entre un cliente y un servidor, manteniendo una conexión activa durante toda la sesión. -
Wireframe
Representación visual básica de una página web o aplicación, utilizada en la fase inicial del diseño para mostrar la disposición de elementos clave. -
Workflow (Flujo de trabajo)
Conjunto de pasos o procesos definidos para llevar a cabo una tarea o serie de tareas de manera estructurada y automatizada en un entorno de desarrollo o producción. -
Wrapper
Código que "envuelve" una función, biblioteca o componente para agregar funcionalidades adicionales o simplificar su uso.
X
- XML (Extensible Markup Language)
Lenguaje de marcado utilizado para estructurar, almacenar y transportar datos de manera legible tanto por humanos como por máquinas. Es ampliamente utilizado en servicios web y configuraciones.
Y
- YAML (YAML Ain’t Markup Language)
Formato de serialización de datos fácil de leer y escribir, utilizado comúnmente para archivos de configuración y almacenamiento de datos. Es más legible para humanos que JSON o XML.
Z
-
Z-index
Propiedad en CSS que determina la posición relativa de elementos superpuestos en una página web. Un valor mayor indica que el elemento está más "arriba". -
Zero-Day Vulnerability
Vulnerabilidad de seguridad desconocida para los desarrolladores del software, que puede ser explotada antes de que se publique un parche para corregirla. -
Zip
Formato de compresión que permite reducir el tamaño de archivos y carpetas para facilitar su almacenamiento y transmisión.