Lenguaje de Programación
Es el nexo que genera algo, un conjunto de símbolos que cumple una función en particular. Un conjunto de instrucciones que permite la comunicación del programador con el ordenador.
Clasificados según:
- Estilo o Paradigma de Programación
- Funcionamiento
- Desarrollo Histórico o Cronológico
Desarrollo Histórico o Cronológico
1era Generación (Lenguaje Máquina, Lenguaje de Bajo Nivel, Nivel Ensamblador)
2da Generación (Signos y Reglas, Interpreta Lenguaje de Bajo Nivel)
3ra Generación (Lenguajes que conocemos actualmente, C, Java, Comienza Orientado a Objetos)
4ta Generación (Conectividad, Trabajo Online, Orientado a Objetos también)
Estilo o Paradigma de Programación
Imperativo: Se realizan n instrucciones secuenciales para realizar una tarea en particular. Ejemplo: C.
Declarativo: Definición de tipos de reglas o funcionalidades para ejecutar cierto tipo de tarea, no como desarrollar un algoritmo. Tiene la ventaja de tener ciertos componentes definidos. Ejemplo: SQL.
Tipos de Declarativos
Funcionales: Permite trabajar para realizar un problema en particular.
Lógicos: Se encarga del aspecto lógico matemático para problemas en particular.
Orientado a Objetos: Debe existir una comunicación entre objetos. El resultado final debe ser la comunicación entre objetos.
Funcionamiento (Funcionalidad, Herramientas, Ejecución)
Lenguajes Ensamblados: Son lenguajes de extremadamente bajo nivel que se comunican directamente con la máquina.
Lenguajes Compilados: Son aquellos que requieren de un ente para pasar de lo que genera el programador. Pasan por este ente que es el compilador. Ejemplo: C. El compilador valida y encuentra todo lo que se pasó por él. En este se crea otro archivo que es un ejecutable. Esto puede ser compilado y puede mostrar errores.
Lenguajes Interpretados: Necesitan un intérprete para ser leídos (HTML, PHP, Python). El intérprete va leyendo línea por línea y va entregando lo que corresponde de acuerdo al lenguaje. Esto verifica la sintaxis y si está incorrecta puede hacer que quede una ejecución errónea o incompleta.
Lenguajes Preprocesados: Son los que tienen un paso intermedio antes de llegar a la máquina. Ejemplo: Java. Estos tienen una máquina virtual.
Programa
Lo conocemos como software (SW). Conjunto de instrucciones que se encuentran en un código fuente perteneciente a un ejecutable. Instrucciones que se utilizan para realizar tareas una vez que se compila, generar operaciones correspondientes para lenguaje máquina y tiene sintaxis.
Sintaxis: Es lo que nosotros creamos.
Gramática: Define de qué manera se puede utilizar la sintaxis.
Semántica: Es la encargada de verificar la gramática y sintaxis.
Léxico: Elementos o símbolos que son utilizados en un lenguaje de programación (palabras reservadas, delimitadores).
¿Cómo se crea un programa?
1. Idea o Problemática.
Clarificar la idea: Leer sobre la idea, etapa de pensar.
Selección de lenguaje: Según la idea que tengo.
Codificar: Acción de crear el código fuente, definir las variables a través de una serie de instrucciones.
Transformación de código de máquina: Directamente con la selección de lenguaje.
Prueba: Las pruebas aseguran si tiene problemas, si se cae (fallo de segmentación) después de ejecutarlo de nuevo no libera la memoria.
¿Volver al paso 4?
Programa funcional: Ejecutable, el binario .exe.
Al Codificar: Esto debe estar estandarizado. Convención de nombres: se puede utilizar «y», «j» y «k».
Indentación: Tiene que ver con los espacios que se tienen que tener ordenados en el código fuente.
Comentarios: Línea de código crítica y las funciones.
El usuario final no tiene nada que ver con la programación, independiente si el lenguaje es de alto o bajo nivel y es como se comunica.
pr: void, int, main.
Identificadores: hello, number, count.
Operadores: =, -, !=
; para separar la instrucción.
{} para señalar los bloques de códigos (funciones, ciclos).
[] para definir arreglos o matrices.
() para pasar parámetros, delimita cierto tipo de operaciones, separan el identificador de los parámetros.
Los valores primitivos: char, int, long.
Lenguajes Específicos
Ensamblador
Fue creado por Dennis Ritchie en el año 1969.
- Posee una cierta dificultad de ser entendido ya que su estructura se acerca al lenguaje máquina.
- El lenguaje ensamblador es difícilmente portable.
- Al programar cuidadosamente en lenguaje ensamblador se pueden crear programas que se ejecutan más rápidamente y ocupan menos espacio.
Fortran
John W. Backus, creador del lenguaje Fortran a mediados de 1954.
- Fue diseñado teniendo en cuenta que los programas serían escritos en tarjetas perforadas.
- Las líneas debían ser numeradas y la única alteración posible en el orden de ejecución era producida con la instrucción goto.
- Sus características han evolucionado de versión en versión.
Basic
Fue diseñado en 1964 por John George Kemeny y Thomas Eugene Kurtz.
- Visual Basic provee soporte para empaquetado y distribución.
- Será necesario que las librerías DLL requeridas se encuentren instaladas en el sistema para posibilitar su ejecución.
- Se puede generar el programa en código ejecutable (exe).
C
Creado en 1972 por Dennis M. Ritchie.
- Un núcleo del lenguaje simple.
- Es un lenguaje muy flexible que permite programar con múltiples estilos.
- Por defecto, el paso de parámetros a una función se realiza por valor.
Prolog
Creado a principios de los años 70 por los profesores Alain Colmerauer y Philippe Roussel
*Basado en lógica y programación declarativa.
*No se especifica cómo debe hacerse, sino qué debe lograrse.
*Una característica importante es que una variable sólo puede tener un valor mientras se cumple el objetivo
Java
Desarrollado por Sun Microsystems a principios de los años 90
*Encapsulamiento: Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad
*Herencia: las clases no están aisladas, sino que se relacionan entre sí,
1. Lenguajes Imperativos.
BASIC, C, FORTRAN, Perl, PHP, Java
2. Lenguajes Interpretados.
ASP (hasta la versión 3), Bash, COBOL (Compilador COBOL85), JavaScript (todas las plataformas), Logo (Linux, Windows y Mac), Lua, Perl (todas las plataformas), PHP
3. Lenguajes Compilados.
Fortran, La familia de lenguajes de C, incluyendo C++ y Objective C pero no Java.
Ada, Pascal (incluyendo su dialecto Delphi), Algol
4. Lenguajes Orientado a Objetos.
Fortran 90/95, Java, Perl, PHP (a partir de su versión 5), PowerBuilder, Python
Ruby, Visual Basic 6.0