CONCEPTOS DE PROGRAMACIÓN

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 7

CONCEPTOS DE PROGRAMACIÓN (TÉCNICO)

Algoritmo: es básicamente un conjunto de pasos para una determinada tarea.

Lenguaje: conjunto de definiciones (sintácticas y semánticas) utilizadas para hacer un texto que la
computadora sea capaz de entender, es decir, un programa de computadora.

Código: conjunto de palabras o símbolos que contienen instrucciones para la computadora.

Código fuente: código de un programa. La computadora lo usa para generar una versión del
programa que es capaz de procesar.

Código Máquina: código que la máquina puede entender y ejecutar.

Código Binario: código formado solo por 0 y 1 que tiene como función codificar algo. Es la base de
toda la lógica de la computadora. Todo se convierte, al final, en código binario.

Bug: problema en el código que hace que no ejecute correctamente su función.

Refactorización: proceso de cambiar un programa para mejorar su estructura interna sin cambiar
su funcionamiento. Estas mejoras pueden ser para el rendimiento o para facilitar futuros trabajos
en el código, por ejemplo.

Frameworks: son como colecciones de herramientas, componentes y soluciones que puedes


encontrar en un mismo paquete (el framework) que facilitan la creación de aplicaciones complejas.

Queries: solicitud de información y/o datos para una base de datos.

Front-End: es la parte de una aplicación web que la persona que la usa, ve e interactúa. Es
ejecutada por el browser.

Back-End: es lo que el usuario no ve en un software, como servidores y base de datos. Es un


procesamiento “detrás de escena”.

Full-stack: unión de Front-End y Back-End.

SSL (Secure Sockets Layer): es un tipo de seguridad estándar para garantizar que todos los datos
estén encriptados en tránsito entre un sitio y un navegador, por ejemplo.

SOLID (Single-responsibility, Open-closed, Liskov substitution, Interface segregation y


Dependency Inversion principles): estos principios, cuando se combinan, se consideran mejores
prácticas para facilitar a los programadores en el desarrollo de softwares que son más fáciles de
mantener y expandirse.

Backdoor: puerto creado por alguna aplicación maliciosa para establecer un canal de
comunicación desde nuestro dispositivo hasta un punto en el que se puedan manipular nuestros
datos o acciones.

Backup: copia de archivos en otro dispositivo para guardar información.

Bandwidth: ancho de banda. Dice cuánto se puede viajar en una red.


Benchmarking: herramienta utilizada para medir y comparar el rendimiento de una máquina.

Big Data: almacenamiento de grandes cantidades de datos.

BIOS (Basic Input Output System): sistema utilizado para listar los dispositivos estándar de entrada
(input) y salida (output) de una computadora, es decir, el sistema puede identificar lo que está
conectado a una máquina, como teclado, mouse, monitor, HD, etc.

Bit: abreviatura de binary digit, es decir, representa solo un valor binario (cero o uno).

BitCoin: criptomoneda creada para establecer un método de pago virtual en diversos servicios
digitales.

Blockchain: protocolo de comunicación descentralizado utilizado principalmente para controlar las


transacciones de criptomonedas. El control de protocolo lo realizan las máquinas distribuidas en
una red, que crean un vínculo (de ahí el nombre chain – cadena) entre los paquetes y sus
destinatarios.

Boot: proceso de inicialización de un sistema donde se verifica si las partes y configuraciones


mínimas necesarias están todas funcionales.

Botnet: red de computadoras interconectadas que realizan una o más tareas para las que fueron
programadas. Habitualmente esta red está asociada al uso de programas maliciosos para ataques
masivos o también para el envío de spam.

Byte: unión de 8 bits.

Mixin: el término mixin se refiere a una clase que se extiende de 2 o más clases, es decir, siendo
clases B y C, A hereda al mismo tiempo que B y C. Sin embargo, para ser considerado un mixin y no
una herencia múltiple, B y C no pueden tener la función de inicialización, de lo contrario no
tenemos un mixin, sino el simple uso de la herencia múltiple.

Calificación De Nombres: la calificación de Nombre se utiliza en lenguajes de programación para


referirse a nombres a los que se puede acceder a través de otro nombre.

BLOB (binary large object): su objetivo en relación con la Base de Datos es siempre el
almacenamiento de grandes cantidades de datos en formato de byte.

Inteligencia artificial: rama de la informática que se enfoca en crear sistemas y programas capaces
de realizar tareas que normalmente requerirían la inteligencia humana, como el aprendizaje, la
toma de decisiones y la resolución de problemas.

Tipado: significa una variable o algún valor que tiene un tipo predeterminado.

Recursión: recursión o Función Recursiva significa invocarse a sí mismo. Es decir, una función que
después de ejecutar el bloque de instrucciones, se vuelve a invocar a sí mismo.

Hola mundo: el término “Hola, mundo” se refiere al fragmento de código mínimo para la serigrafía
de la frase “Hola, mundo” con una determinada tecnología. El principal objetivo de estos códigos
es demostrar los mínimos necesarios para el desarrollo de una aplicación con determinada
tecnología.
Shell: ventana, normalmente negra, para manipular el sistema operativo a través de la línea de
comandos. Los Sistemas Operativos Unix siempre proporcionan una ventana para interactuar con
el sistema operativo a través de la línea de comandos.

Console: ventana, normalmente negra, donde se puede trabajar desde la línea de comandos.

Paradigma de programación: modelo de estructura utilizado por el lenguaje de programación. Hay


varios paradigmas existentes y cada lenguaje utiliza uno o varios paradigmas.

Iteración: iteración es el nombre de estructuras que repiten el mismo bloque de código por un
número finito de veces, o por el tiempo que una condición es verdadera. Se puede decir que todos
los lenguajes de programación de computadoras tienen al menos una estructura de iteración.

Clase: proyecto de todo objeto.

Instancia: la ejecución de una clase.

Objeto: la ejecución de una clase.

Herencia: capacidad de heredar las características de otra clase.

Polimorfismo: capacidad de tener funciones con el mismo nombre y firma, pero con diferentes
comportamientos.

Miembro de Clase: puede ser una función o una propiedad (variable).

Propiedad: característica del objeto y en programación, se representa mediante una variable.

SuperClase: la clase padre; clase que se amplía.

SubClase: la clase hija; la clase que parte de la implementación de otra.

Clase-Padre: sinónimo de SuperClase; clase utilizada como base para crear otras.

A PARTIR DE AQUÍ YA ES POSIBLE TENER UNA BUENA IDEA DEL LENGUAJE QUE UTILIZAN
LOS PROGRAMADORES EN SU DÍA A DÍA. SI TE INTERESA EL TEMA, NO DEJES DE LEER
NUESTRO ARTÍCULO SOBRE LÓGICA DE PROGRAMACIÓN:
EL PRIMER PASO PARA APRENDER A PROGRAMAR.

Términos de herramientas de programación


 Sistema operativo: sistema que se comunica entre el hardware, gestionando y
distribuyendo sus recursos, y los demás softwares y crear una plataforma común para
todos los programas utilizados. Ejemplo: Windows 10, Ubuntu.

 Terminal: es una Interfaz de Línea de Comandos, es decir, una interfaz (media) para que la
persona envíe comandos a la computadora.

 Editor de Texto: un editor de texto es una aplicación para editar archivos de texto. Esto
incluye códigos de todo tipo que también son textos escritos en un formato que la
computadora puede entender.

 Compilador: transforma el código en un lenguaje de programación a un lenguaje de


máquina (o algún nivel inferior, es decir, más cercano al código binario que procesa el
hardware) que lee el procesador.

 Lenguaje de máquina: lenguaje con el nivel más bajo de comprensión para el ser humano
y el único entendido por el procesador (CPU).

 Interpretador: programas de la computadora que leen un código fuente de un lenguaje de


programación interpretado, es decir, convierte una línea en código binario (en lugar de
grandes bloques de líneas a la vez) y lo convierte en código ejecutable.

 Browser o Navegador: programa desarrollado para permitir navegar por la web y visualizar
las páginas.

 Plugin: un extensión de código que se puede agregar a un código en el que estás


trabajando. El plugin es una extensión intrínseca al contexto, por ejemplo, un plugin de un
navegador que no funcionará en otro navegador. Además, funciona consumiendo código o
APIs de la aplicación principal.

 C# (C sharp): lenguaje de programación orientado a objetos desarrollado por Microsoft y


que forma parte de la plataforma .NET. Se puede utilizar para diferentes plataformas, es
decir, web, desktop o móvil.

 C + + (C plus plus o C más más): lenguaje de programación utilizado en el paradigma


orientado a objetos o como estructural. Fue construido en base al lenguaje C y presentó la
evolución de muchos conceptos.

 Lenguaje ensamblador: lenguaje de programación de bajo nivel que representa


instrucciones de máquina en un formato legible por humanos, facilitando la programación
directa de una computadora o microprocesador.

 Visual Basic: lenguaje de programación desarrollado por Microsoft que se utiliza para crear
aplicaciones de software (programa informático) con interfaces gráficas de usuario.
Términos de desarrollo front-end
 Biblioteca: piezas de códigos (como funciones, por ejemplo) que ya han sido programadas
y que se pueden usar en otro código. La biblioteca es una extensión fuera de contexto, es
decir, se puede usar y desconectar de un contexto a otro. Las bibliotecas son consumidas
por la aplicación principal.

 React: biblioteca JavaScript para crear el Front-End de aplicaciones.

 React Native: framework de programación de aplicaciones basado en la biblioteca React.

 HTML (Hypertext Markup Language): lenguaje de marcado que se utiliza como estructura
del Front-End de un sitio.

 CSS (Hojas de Estilo en Cascada): lenguaje de estilo que define la apariencia de


documentos web HTML. Ejemplo: manipulación de la posición de los elementos, colores,
fuentes, fondos, etc.

 JavaScript: lenguaje que posibilita la creación de páginas interactivas, es decir, que son
modificables según la interacción del usuario y que conectan el Front-End con el Back-End.

 AJAX (Asynchronous JavaScript And XML): técnica para acceder a servidores web desde,
por ejemplo, Front-End o de otros Back-Ends.

 jQuery: biblioteca de funciones en JavaScript que interactúan con HTML de una manera
mucho más rápida y sencilla que solo JavaScript.

 Bootstrap: framework CSS.

 IU Design (User Interface): es el diseño y ejecución de una interfaz de usuario. Ejemplo:


cómo asegurarse de que un botón se verá y se presionará.

 UX Design (User Experience Design): es el diseño y ejecución de una experiencia de


usuario. Ejemplo: diseñar las acciones que lo harán sentir bien al ingresar a una página,
comprometido, etc.

 Responsive design: el diseño que garantiza que el sitio web se verá de manera diferente
para diferentes tamaños de pantalla.

 Adaptive design: una forma de construir el mismo sitio web que se adapta (cambia) para
cada dispositivo.

 Fluid Design: diseño que sigue el tamaño de la pantalla del dispositivo que estás usando
sin cambiar la estructura de la página.

 Progressive Web App: metodología que busca que los sitios web y apps tengan
características de aplicaciones nativas para dispositivos móviles, es decir, hechas
principalmente para ellos.
Términos de desarrollo Back-End
 Servidor: máquina donde se ejecuta el Back-End de un sitio, por ejemplo, o un Back-End
accesible a otras aplicaciones diversas.

 Node.js (node): intérprete de JavaScript.

 NPM (Node Package Manager): Administrador de Paquetes (módulos) de Node.js.

 Middleware: software que se encuentra entre el sistema operativo y las aplicaciones que
se ejecutan en él. Es decir, es un software que permite la interacción entre sistemas
aislados y funciones. Ejemplo: sitio web con opción de pago. Lo que conecta a los dos es el
middleware.

 Express.js: framework para Node.js que ayuda en la creación de rutas, middlewares y


muchas otras funciones para el desarrollo tanto de APIs como SPAs (One Page
Applications).

 Base de Datos: agrupación (en forma de tablas, documentos, columnas, etc.) de


información que se relaciona y trata sobre un mismo tema.

 Base de Datos Relacional (SQL): base de datos donde se almacenan en tablas que tienen
“relaciones” entre ellas. Por ejemplo, una tabla de productos y compras. La tabla de
compras puede tener varios productos y un producto puede estar relacionado con varias
tablas.

 Base de Datos no Relacional (NoSQL): cuando la base de datos no almacena los datos en
tablas, sino en clave-valor, columnas, etc.

 SQL (Structured Query Language): lenguaje de bases de datos relacionales.

 Sistema de Gestión de Base de Datos (SGBD): responsable de gestionar el acceso, la


persistencia, la manipulación y la organización de los datos.

 MySQL: MySQL es un SGBD que utiliza el lenguaje SQL.

 API (Applied Programming Interface): interfaz que conecta dos programas, realizando
tanto la comunicación entre ellos como especificando y definiendo cómo deben
interactuar.

 Servicio Web: solución utilizada en la integración de sistemas y en la comunicación entre


diferentes aplicaciones (es un programa web de Back-End, un tipo de API que necesita una
red para comunicarse).

 Webhook: es una forma de recibir información cuando sucede un evento (enviar un e-


mail, por ejemplo). Es por eso, que webhook es, en la práctica, una forma pasiva de
transmitir información entre dos sistemas, omitiendo el paso a paso de request
(requerimiento) que hace una API. Básicamente: un sistema proporciona un canal para
recibir información (el webhook) y otros envían información a este sistema a través de él.
 HTTP (HyperText Transfer Protocol): protocolo que especifica cómo clientes y servidores
se comunican entre sí.

 REST (Representational State Transfer): estilo de arquitectura de servicios web que


estandariza algunas características consideradas buenas prácticas.

 Restful: es una aplicación web que implementa el estándar REST.

 CRUD (Create, Read, Update and Delete): cuatro operaciones básicas para interactuar con
una base de datos (creación, consulta, actualización y destrucción de datos).

Términos de Metodologías
Los términos de metodologías se pueden dividir en prácticas y roles. A continuación, conoce más
sobre ambos:

Prácticas: A continuación, consulta algunos de los principales términos de metodologías prácticas


y entiende cuándo usarlos

 Pair programming: técnica ágil de desarrollo de software donde dos personas usan la
misma computadora para programar alguna tarea.

 Sprint: ciclo de tiempo dentro del cual se lleva a cabo un conjunto de actividades.

 Kanban: sistema simple y visual para organizar las tareas y el flujo de trabajo.

 Ágil: conjunto de métodos y principios que consiste en la idea de desarrollo iterativo (es
decir, donde los requisitos y soluciones se identifican y cumplen de forma cíclica) a partir
de la colaboración de equipos autogestionados y multifuncionales.

 Scrum: framework para gestión y planificación de productos y proyectos.

 MVP (Producto Mínimo Viable): forma de probar modelos y conceptos de negocio


directamente con el cliente, desde el lanzamiento de una versión mínima viable del
producto. Ejemplo: en lugar de hacer un sitio web como el que tiene Airbnb, los
fundadores hicieron un sitio web simple con poca funcionalidad.

Roles: Además de los términos prácticos de metodología, también están los roles ejecutados.
Conoce alguno de los principales a continuación

 Product Owner (PO): persona responsable por definir las prioridades del product backlog y
registrar todos los requisitos, reglas del negocio y prioridades de entrega de un producto.

 Reglas de Negocio: requisitos sobre cómo debe comportarse una determinada


funcionalidad o producto dado un determinado criterio.

 Scrum Master: es la persona responsable de asegurar que todos se adhieran al proceso de


desarrollo, que sigan sus ceremonias y que garanticen la organización y realización de sus
artefactos.

 Dev. Team: equipo de desarrollo (personas que colaboran con el proyecto).

También podría gustarte