# data[].attributes.headline
Elementos que conforman un lenguaje de programación

# data[].attributes.subject
Elementos que conforman un lenguaje de programación

# data[].attributes.body
Cada lenguaje de programación se define a parte de un conjunto de símbolos básicos, llamado alfabeto, un conjunto de reglas llamado sintaxis, que definen la forma de manipularlos o combinarlos para representar instrucciones; y las reglas que especifican los efectos de dichas instrucciones cuando son ejecutadas por la computadora, conocidas como semántica.

Lenguaje de programación = alfabeto + sintaxis + semántica

“La programación en computadores consiste en escribir la lista de instrucciones que un computador debe ejecutar. Esta lista de instrucciones ordenada se denomina programa” (Llanos, p.3)

# data[].attributes.headline
Clasificación de los lenguajes de programación 

# data[].attributes.subject
Clasificación de los lenguajes de programación 

# data[].attributes.body
Se clasifican en lenguaje de bajo nivel y lenguaje de alto nivel.

Bajo nivel:
Sus códigos, o instrucciones, se basan en lo básico que pueda realizar un computador, en sumar, restar o guardar elementos en la memoria, incluyendo, además, que su sintaxis describe todo lo que debe de hacer el hardware del PC.

Alto nivel:
Son parecidos al lenguaje usado por los humanos, principalmente predomina el inglés como lengua, mencionando que estos no describen lo que sucede en el hardware. Por ello, es necesario que los de alto nivel sean codificados en lenguaje máquina mediante el uso de compiladores (generando un programa ejecutable) e intérpretes (análisis de código fuente en busca de errores y revisión del código).

“Una vez desarrollado un programa en un lenguaje de alto nivel, hay que traducirlo al conjunto de instrucciones que el procesador es capaz de ejecutar (…) el programa se traduce a lenguaje ensamblador a través de un programa especial, denominado compilador” (Llanos, p.3)

# data[].attributes.headline
Evolución de los lenguajes de programación y sus características

# data[].attributes.subject
Evolución de los lenguajes de programación y sus características

# data[].attributes.body
Generación 1. Lenguaje Máquina

Es el primer lenguaje de programación cada computadora necesitaba ser programada de manera diferente, según las características del computador, se usaban en ceros y unos, esto se denomina como lenguaje ensamblador, donde cada conjunto de código binario significaba una operación a realizar.

Generación 2. Programas ensambladores

Es la segunda generación, donde se desarrolló software denominado ensamblador, donde traducía el lenguaje máquina a lenguaje ensamblador, lo cual ahorraba el tiempo para escribir un código, ya que el ensamblador no utiliza sólo ceros y unos.

Generación 3. Lenguajes de alto nivel

A partir de 1950, aparecieron lenguajes como C, pascal, Java, Prolog, entre otros, los cuales sus instrucciones son escritas en lenguaje inglés, lo cual, facilitó a los programadores a la hora de implementar software, sin importar el tipo de arquitectura del equipo.

“Afortunadamente, para el programador existen más opciones que la programación directa del computador utilizando el lenguaje ensamblador. La alternativa más extendida es llamada programación de alto nivel…” (Llanos, p.3)

# data[].attributes.body
Cada lenguaje sigue un paradigma, estos son para saber a qué problema irá dirigido para su solución y su enfoque de cómo irá estructurado dentro del desarrollo del código fuente.

Los principales paradigmas son:

Imperativo

El programa es una secuencia de instrucciones ejecutándose una tras otra, los datos se almacenan en la memoria y se mandan a llama mediante el uso de variables

Lenguajes imperativos (Pascal, Ada, Cobol, C, Modula-2, Fortran)

Funcional:

Todas las sentencias del programa utilizan símbolos y razonamiento matemático, gracias a una composición de funciones simples.

Lenguajes imperativos (LISP)

Lógico:

El programa declara una serie de hechos (denominando un nombre a cada uno de los elementos, todos se relacionan) y reglas (es la relación general, o propiedades, a cumplir) y hasta el último se muestra el resultado.

Orientado a objetos:

Estilo de programación, también llamado “OO” y para el lenguaje “LOO”, combina el paradigma imperativo, funcional o lógico.

Se caracteriza por su forma de manejar la información, la cual es:

-          Clase

Tipo de dato con determinadas propiedades y determinadas funcionalidades

-          Objeto

Es una entidad con una determinada clase y un estado determinado, los cuales, interactúan con otros objetos

-          Herencia

Se caracteriza por poder hacer nuevas clases basándose en las clases que ya existen.

“Un paradigma de programación es una colección de patrones conceptuales que moldean la forma de razonar sobre problemas, formular soluciones y de estructurar programas “(Rodríguez Sala, p.4)

# data[].attributes.headline
Fases de la metodología de la programación

# data[].attributes.subject
Fases de la metodología de la programación

# data[].attributes.body
-          Planteamiento del problema

Se plantea el problema a resolver y tener un análisis, se deben de considerar los datos de entrada, los pasos para la solución y el resultado, o también llamado dato de salida.

-          Análisis del problema

Se define el ámbito del problema, características y limitaciones para sustentar lo que se pide, además de describir cuales son los datos que se requiere para resolverlo (datos de entrada) y el resultado a dar (datos de salida).

-          Diseño del algoritmo

Se da a conocer cómo se resuelve el problema. Escribiendo paso a paso la resolución del asunto, también llamado algoritmo. Si el problema es demasiado grande, es recomendado dividirlo en problemas e ir resolviendo cada uno.

Cuando esté listo el algoritmo, es necesario hacer su representación mediante un diagrama de flujo.

-          Implementación o codificación

Es la parte donde el algoritmo se traduce a un lenguaje de programación, para obtener un código fuente.

-          Pruebas y validación

Es la parte donde se verifica que la ejecución del programa sea de forma correcta. Ejecutando el programa fuente y enfatizar en los problemas que se tengan, y en dado caso, resolverlos y volver a realizar pruebas.

-          Documentación del programa

Es incluir cómo es que funciona el programa, el lenguaje a usar, saber cómo es que fue y para qué se hizo. En caso de ser necesario, es ideal contar con un manual de usuario y normas para su mantenimiento para usar eficaz y correctamente el software.

-          Mantenimiento

Consta de actualizaciones para la corrección de errores no detectados a la hora del lanzamiento del programa o para agregar una nueva función.

“La metodología de programación sirve para desarrollar software desde el inicio con su diseño hasta el final con su implementación (…)” (UnADM, p.30)