Este tema tiene como objetivo recopilar términos de uso frecuente en este apartado del foro y definirlos de forma informal teniendo en cuenta el contexto en el que se encuentran. Es decir, no se trata de una definición de diccionario ni de un artículo de la wikipedia entero, se trata de una breve definición añadiendo datos interesantes relacionándolos con el subforo.
Pueden aportar los términos que quieran con o sin su definición correspondiente, los iremos poniendo en este post y creando el glosario. Los términos pueden estar compuestos por varias palabras y las definiciones se modificaran para crear un conjunto mas o menos uniforme (extensión, registro del lenguaje utilizado...).
Esperamos hacer entre todos un recopilatorio de términos que sea útil y sobre todo ameno a la lectura.
Gracias por participar!
Glosarios creados:
Criptografía
Redes
Programación
Seguridad
Hacking Wireless
Indice alfabético
A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z
Terminos:
A
Acumulador
Algoritmo
Alpha
B
Beta
Bottom-Up
Buffer
C
Camelcase
Compilador
Constante
D
E
F
G
H
I
Interprete
J
K
L
M
N
Nivel de complejidad:
O
P
Pascalcase
Pseudocodigo
Q
R
S
T
Top-Down:
U
V
Variable
W
X
Y
Z
Acumulador: Variable que sirve para llevar una suma o el resultado de un conjunto de operaciones.
Algoritmo: Por definición es un conjunto finito de instrucciones para llevar a cabo una tarea, y de esta forma resolver un problema puntual. Estas instrucciones deben ser precisas y de ser posible, eficientes.
Los algoritmos se implementan en forma de sentencias en el o los lenguajes de programación que se hayan elegido, dependiendo de esto ultimo el paradigma utilizado.
Los algoritmos pueden ser representados en forma gráfica, comúnmente utilizando diagramas de flujo. De esta forma son facilmente comprensibles, sobre todo para personas no relacionadas con la programación.
Alpha: Una versión Alpha es una versión "precoz" de un software. Una versión alpha puede no contener todas las características de la versión final. Normalmente todo software pasa, antes de su lanzamiento, por dos etapas. Esta es la primera etapa (Alpha) y normalmente está disponible solo para usuarios internos y desarrolladores. La segunda etapa, beta, generalmente implica a un número limitado de usuarios pero estos sí pueden o no ser internos. Las versiones alpha en su mayoría de los casos no son estables y no es recomendado su uso para usuarios finales.
Beta Implementa todas las características de los requerimientos iniciales. Posiblemente tenga algunos fallos menores y es usada normalmente para testing y demostraciones. Los usuarios que usan esta versión son llamados [Beta Testers] y normalmente su función es la de reportar los fallos para que sean corregidos en la versión final.
Bottom-Up: Método opuesto al Top-Down. Consiste en afrontar el problema desde los niveles de complejidad más bajos, partiendo desde la base de código a usar, e ir luego construyendo los niveles de complejidad mas altos hasta completar la solución.
Buffer: Porción de memoria que se utiliza para almacenar datos en pos de procesarlos, validarlos u realizar cualquier otro tipo de operación con ellos.
Camelcase: Es similar a PascalCase, salvo que la primera letra de la primera palabra va en minúsculas. Ejemplo: numeroCuenta.
Compilador: Es un programa que se encarga de generar una aplicacion partiendo de un código fuente base, traduciendo este ultimo a un lenguaje que la maquina sea capaz de comprender (Código maquina, o usualmente denominado código nativo). El objetivo principal de los compiladores es permitir a los programadores codificar en un lenguaje de programación mucho mas cercano a como piensa un ser humano.
Constante: Valor o conjunto de valores que permanecen invariables durante la ejecución de la aplicación.
Interprete: Cumple un objetivo similar al del compilador solo que implementado de una manera bastante distinta. El interprete analiza, traduce y ejecuta las sentencias a medida que se van requiriendo, ya sea partiendo de un código fuente base u de un código intermedio. Esto genera un rendimiento menor a un programa compilado, ya que las tareas que se realizan en tiempo de compilación, un lenguaje interpretado debe realizarlas en cada ejecución, no obstante los lenguajes interpretados poseen mayor flexibilidad, dado que no dependen de la maquina en la cual están siendo ejecutados si no del interprete.
Nivel de complejidad: Un nivel de complejidad se entiende como una división de la parte que forma una solución a un problema vista esta como una gran pirámide, donde un conjunto de funcionalidades forman otra o varias otras, que a su vez pueden ser usadas para formar otras tantas.
Top-Down: Método que consiste en afrontar el problema desde los niveles de complejidad mas altos, e ir luego solucionando las partes del problema que permite que el código anterior funcione.
Pascalcase: Es una práctica de programación que consiste en declarar funciones y/o variables mediante varias palabras sin espacios, escribiendo en mayúsculas la primera letra de cada palabra. Ejemplo: CreateRemoteThread.
Pseudocodigo: El pseudocodigo es un falso lenguaje de programación donde sus características mas importantes es su semejanza con el lenguaje humano y la posibilidad de representar soluciones en forma abstracta.
Principalmente utilizado por los aprendices de programación para adentrarse en la lógica y en el desarrollo de algoritmos, dado que el pseudocodigo es una manera abstracta de representarlos sin necesidad de involucrarse con un lenguaje en especifico. No obstante también es utilizado por programadores profesionales para representar en forma simple y comprensible las soluciones que hayan creado en pos que otros programadores puedan comprender mas fácilmente la lógica utilizada, o bien para representar las ideas que se generen en la etapa previa del desarrollo.
Variable: Básicamente es un contenedor, una estructura que contiene los datos que se le hayan asignados hasta que se le asigne otro valor u el programa finalice su ejecución. Por supuesto el escenario puede variar dependiendo de los lenguajes, lo que se este haciendo y como, pero la idea principal es ver a una variable como un espacio en memoria al cual le podemos asignar datos, que dependerán del tipo que sea la variable.