1. Se clasifican según:
1.1. Su forma de validación
1.1.1. Bajo nivel: Su programación depende de la máquina y cumplen funciones muy específicas.
1.1.1.1. Lenguajes de maquina: Son el único lenguaje que puede entender el computador (escrito en binario) y presentan dificultad para el programador.
1.1.1.2. Lenguajes ensambladores: Funcionan con abreviaturas de palabras para ejecutar las instrucciones, son la evolución de los lenguajes de máquina.
1.1.2. Alto nivel: Son lenguajes parecidos al idioma inglés, tienen como característica que pueden ser ejecutados en diferentes computadoras sin problemas.
1.2. Su nivel de ejecución
1.2.1. Compilados: El código fuente debe ser traducido a un código objeto que entienda la maquina por medio de un compilador.
1.2.2. Interpretados: El código fuente es traducido y ejecutado instrucción por instrucción, gracias a un intérprete.
1.3. Su paradigma de programación
1.3.1. Imperativo: Utiliza sentencias para ordenar una determinada operación al ordenador. Soluciona problemas mediante la ejecución repetitiva de cálculos para transformar los datos almacenados. Entre estos esta C, FORTRAN, PASCAL.
1.3.2. Lógico: Se indica el problema bien de tallado y este se resuelve por medio de deducciones. Es muy conocido PROLOG.
1.3.3. Funcional: Se utilizan funciones matemáticas para describir una relación entre la entrada del programa y la salida de este. R es un lenguaje estadístico muy utilizado en el ámbito científico.
1.3.4. Orientado a objetos: Realiza la abstracción de objetos del mundo real para proponer modelos como solución a diferentes problemas (C++,Ruby, Java, Python).
2. Modelo Cliente / Servidor
2.1. Este modelo se basa en el procesamiento de requerimientos a través de internet, donde un cliente realiza solicitudes que son enviadas a través de la red a un servidor, que resuelve dicha solicitud y la envía de regreso al cliente, por ejemplo en juegos en linea, navegación en diferentes portales, o solicitud de servicios de streaming. En el modelo participan 3 entidades las cuales son:
2.1.1. Cliente: se refiere a un dispositivo capaz de realizar una solicitud.
2.1.2. Red: medio de viaje de las solicitudes.
2.1.3. Servidor: computador que resuelve las peticiones hechas por un cliente. Existen diferentes tipos de servidores (web, aplicaciones, bases de datos, etc.)
3. Que son?
3.1. Conjunto de reglas y elementos gramaticales (léxico, sintaxis, semántica) que utiliza una persona (programador) para darle unas determinadas instrucciones a un ordenador.
4. Iniciaron como:
4.1. Lenguajes de maquina difíciles de programar, pasando a los lenguajes de ensamblador, ambos dependientes del tipo de máquina que se va a programar.
4.1.1. Posteriormente se desarrollan:
4.1.1.1. Lenguajes similares a el lenguaje natural (ingles) independientes de la arquitectura del computador, llamados lenguajes de alto nivel.
5. Componentes y estructuras generales para los lenguajes de programación
5.1. Variables y constantes: son espacios en memoria donde se almacenan valores; las variables son modificadas a lo largo del programa, mientras que las constantes siempre se mantienen en la ejecución del programa. Estas deben tener:
5.1.1. Identificador: nombre que se le da al elemento, se utiliza la notación "camel toe" que introduce una mayúscula en el cambio de palabra, por ejemplo nombreEstudiante.
5.1.2. Tipo de dato: indica que valores puede tomar una variable y por lo tanto que operaciones se le pueden aplicar.