martes, 8 de noviembre de 2011

LENGUAJES DE ALTO Y BAJO NIVEL

Al contrario de lo que cabría suponer, los lenguajes clásicos son los más cercanos al programador, los altos, en contrario a los de bajo nivel son los que están más relacionados con el Hardware. El lenguaje “C” se considera de medio – alto nivel ya que aunque tiene muchas características de los de alto nivel exige algo de conocimiento de la máquina.

Otras clasificaciones de lenguajes de programación


Por propósito


  • Lenguajes de propósito general: Aptos para todo tipo de tareas, ejemplos “C”, Java, Basic.
  • Lenguajes de propósito específico: Para un objetivo concreto, ejemplo CSound.
  • Lenguajes de programación de sistemas: Diseñados para realizar sistemas operativos o drivers, ejemplos Ensamblador, “C”.
  • Lenguajes de script: Para realizar tareas varias de control de auxiliares, antiguamente eran los llamados lenguajes de procesamiento por lotes (Batch). Se subdividen en varias clases (de Shell, de GUI, de programación web,). Ejemplos, Bash(shell), IRC script, JavaScript (web).

 Por el paso del tiempo


Con el paso del tiempo se va incrementando el nivel de abstracción pero en la práctica los de última generación no terminan de sustituir al del anterior.

  • Lenguajes de primera generación (1GL): Código máquina.
  • Lenguajes de segunda generación (2GL): Código ensamblador.
  • Lenguajes de tercera generación (3GL): Entre los que se encuentran la mayoría de lenguajes modernos de más alto nivel de abstracción. Diseñados para facilitar la programación a los humanos. Ejemplos: C, Java, PHP…
  • Lenguajes de cuarta generación (4GL): Diseñados con un propósito concreto para abordar un tipo de problemas. Ejemplos: Natural, matemática.
  • Lenguajes de quinta generación (5GL): La intención es que el programador establezca que problema ha de ser resuelto y las condiciones a reunir y la máquina lo resuelve. Se usan en inteligencia artificial. Ejemplo: Prolog.

  Lugar de ejecución


En sistemas distribuidos según donde se ejecute:

  • Lenguajes de servidor: Se ejecutan en el servidor. Ejemplo: PHP.
  • Lenguajes de cliente: Se ejecutan en el cliente. Ejemplo: JavaScript, Visual Basic Script (lo ejecutan los navegadores web).

  Concurrencia


Según admitan o no concurrencia de procesos, esto es la ejecución simultanea de varios procesos lanzados por el programa.

  • Lenguajes concurrentes: ADA, Java.
  • Lenguajes no concurrentes: C.

Interactividad


Según la interactividad del programa con el usuario u otros programas.

  • Lenguajes orientados a sucesos o eventos: El flujo del programa es controlado por la interacción con el usuario o por mensajes de otros programas / sistema operativo, como editores de texto, interfaces gráficos de usuario (UI) o kernels. Ejemplos: VisualBasic, Entornos MVC (Modern View Controller), Lenguajes de programación declarativos.
  • Lenguajes no orientados a sucesos: El flujo del programa no depende de sucesos exteriores, si no que se conoce de antemano, siendo los procesos BATCH el proceso más claro (actualizaciones de bases de datos, colas de impresión de documentos…) Ejemplos: Lenguajes de programación interactivos, ejecución en línea de comandos.


  Productividad (momento freak)


Según se caractericen por tener virtudes útiles o productivas, u oscuras y enrevesadas.

·         Lenguajes útiles o productivos: Sus virtudes en cuanto a eficacia, sencillez, claridad, productividad, motiva a que sean utilizados en empresas, administraciones públicas y o en la enseñanza. Existen diferentes grados de productividad en esta clase de lenguajes a mayor productividad mayor conveniencia para la empresa. Ejemplos: Cualquier lenguaje de uso habitual, C, Java, C++, C#, Lisp, Python, Ruby.

·         Lenguajes esotéricos o exóticos: Inventados con la intención de ser los más raros, oscuros, difíciles, simples y o retorcidos de los lenguajes, para diversión o entretenimiento de freaks programadores. A veces exploran nuevas ideas en programación. Ejemplos: BrainFuck.

No hay comentarios:

Publicar un comentario