Lenguaje de Programación
Un lenguaje de programación es un lenguaje
formal diseñado para realizar procesos que pueden ser llevados a cabo por
máquinas como las computadoras. Pueden usarse para crear programas que
controlen el comportamiento físico y lógico de una máquina, para expresar
algoritmos con precisión, o como modo de comunicación humana. Está formado por
un conjunto de símbolos y reglas sintácticas y semánticas que definen su
estructura y el significado de sus elementos y expresiones. Al proceso por el
cual se escribe, se prueba, se depura, se compila (de ser necesario) y se
mantiene el código fuente de un programa informático se le llama programación.
También la palabra programación se define
como el proceso de creación de un programa de computadora, mediante la
aplicación de procedimientos lógicos, a través de los siguientes pasos:
- El desarrollo lógico del programa para resolver un problema en particular.
- • Escritura de la lógica del programa empleando un lenguaje de programación específico (codificación del programa)
- Ensamblaje o compilación del programa hasta convertirlo en lenguaje de máquina.
- Prueba y depuración del programa.
- Desarrollo de la documentación.
ADA
Ada es
un lenguaje de programación orientado a objetos y fuertemente
tipado de forma estática que fue diseñado por Jean
Ichbiah de CII Honeywell Bull por encargo del Departamento
de Defensa de los Estados Unidos. Es un lenguaje multipropósito, orientado
a objetos y concurrente, pudiendo llegar desde la facilidad
de Pascal hasta la flexibilidad de C++.
Fue diseñado con la
seguridad en mente y con una filosofía orientada a la reducción de errores
comunes y difíciles de descubrir. Para ello se basa en un tipado muy fuerte y
en chequeos en tiempo de ejecución (desactivables en beneficio del
rendimiento). La sincronización de tareas se realiza mediante la
primitiva rendezvous.
Ada se usa
principalmente en entornos en los que se necesita una gran seguridad y
fiabilidad como la defensa, la aeronáutica (Boeing o Airbus), la gestión
del tráfico aéreo (como Indra en España) y la
industria aeroespacial entre otros.
Clojure
¿Que Es
Clojure?
Clojure
es un lenguaje de programación de propósito general dialecto de Lisp. Hace un
énfasis especial en el paradigma funcional, con el objetivo (entre otros) de eliminar la complejidad
asociada a la programación concurrente. Clojure puede ser ejecutado sobre la
Máquina Virtual de Java y la máquina virtual de la plataforma .NET, así como
compilado a JavaScript.
-Principios
Rich Hickey
describe el desarrollo de Clojure como la búsqueda de un lenguaje que no pudo
encontrar: un lisp funcional por defecto, integrado sobre un entorno robusto en
lugar de ser su propia plataforma, y con la programación concurrente en mente.
Asimismo, en
principio se rechaza la orientación a objetos, ofreciendo un enfoque en el que
los programas se expresan como la aplicación de funciones sobre datos, más que
como la interacción entre entidades mutables que mezclan representación de
datos, y comportamiento. Por otra parte, características tales como
insaciabilidad, polimorfismo e interfaces son efectivamente parte del lenguaje.
-Sintaxis
Como el resto de la familia Lisp, la sintaxis de
Clojure está construida sobre expresiones simbólicas que son convertidas en
estructuras de datos por un lector antes de ser compiladas. Las expresiones se
caracterizan por estar delimitadas por paréntesis, y por su notación prefija,
por la que se llama al primer miembro de cada lista como función, pasándole el
resto de miembros como argumentos.
Esta peculiaridad,
extraña para los habituados a los lenguajes más populares basados en la
sintaxis del lenguaje de programación C es la base de su flexibilidad.
Estructuras de datos tales como mapas, conjuntos y vectores tienen una
expresión literal; no requieren transformación alguna a la hora de incorporarse
al árbol sintáctico generado por el compilador. Clojure es un Lisp-1 y no está
particularmente diseñado para ser compatible con otros lisps.
-Macros
Un macro es un
fragmento de código que acepta como argumentos otras expresiones, sin evaluar,
transformándolas previamente a su evaluación. Esto permite la aparición de
"programas que crean programas": incorporaciones al lenguaje
-estructuras de control de flujo- o creación de un lenguaje específico del
dominio. Posibilidades en principio no alcanzables en otras familias de
lenguajes sin recurrir al desarrollo de un compilador.
El sistema de
macros de Clojure es muy similar al de Common Lisp con la excepción de que la
versión de Clojure de la comilla inversa (llamada "comilla
sintáctica") cualifica los símbolos con el espacio de nombres al que
pertenece. Así se ayuda a prevenir la captura no intencionada ya que están
prohibidos los bindings con nombres cualificados. Es posible forzar la
expansión de una macro que las capture pero debe hacerse explícitamente.
Clojure prohíbe también re-enlazar nombres globales en otros espacios de
nombres que hayan sido importados en el actual. Otra característica de la
comilla sintáctica es que permite un sistema de templating, en el que se puede
especificar qué miembros de una lista deben evaluarse mediante los operadores
unquote (~) y unquote-splice (~@), dando a lugar a macros más concisas y
manejables.
-Características
del lenguaje
- · Desarrollo dinámico con una consola de evaluación (en inglés, REPL: read eval print loop).
- · Representación de funciones como valores, y preferencia por la recursión y el uso de higher order functions sobre de la iteración basada en efectos secundarios.
- · Números de precisión arbitraria, y representación literal de fracciones, generadas en las divisiones no enteras.
- · Secuencias con evaluación perezosa (los elementos de la secuencia no se computan hasta que son necesarios, lo que permite representar conjuntos infinitos en potencia).
- · Sistema integrado de estructuras de datos persistentes e inmutables.
- · Control del estado (conjunto de valores que puede adquirir una entidad en el tiempo) en situaciones de concurrencia a través de sistemas transaccionales, de agentes y mediante bindings locales.
- · Interacción con java: al compilarse a bytecode de la JVM, las aplicaciones escritas en Clojure pueden ser fácilmente integradas en servidores de aplicaciones u otros entornos Java con escasa complejidad adicional. Se implementan por defecto todas las interfaces posibles a nivel de clases, estructuras de datos y concurrencia para minimizar los esfuerzos requeridos para conseguir esta portabilidad.
-Ejemplo #1
Hola mundo. Notase
que dada la naturaleza del REPL, no es necesaria una orden de impresión.
En este ejemplo
diez hilos manipulan una estructura de datos compartida, que consiste en cien
vectores que contienen diez números únicos al inicio secuenciales. Cada hilo
elige dos posiciones aleatorias en dos vectores aleatorios y los intercambia.
Todos los cambios en los vectores se hacen dentro de transacciones usando el
sistema de memoria transaccional por software de Clojure. Es por eso que
incluso después de mil iteraciones no se pierde ningún número.

Ejemplo #2

C++
C++ es un lenguaje
de programación diseñado a mediados de los años 1980 por Bjarne Stroustrup. La
intención de su creación fue el extender al lenguaje de programación C
mecanismos que permiten la manipulación de objetos. En ese sentido, desde el
punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje
híbrido. Posteriormente se añadieron facilidades de programación genérica,
que se sumaron a los paradigmas de programación estructurada y programación
orientada a objetos. Por esto se suele decir que el C++ es un lenguaje de
programación multiparadigma. Actualmente existe un estándar, denominado
ISO C++, al que se han adherido la mayoría de los fabricantes de compiladores
más modernos. Existen también algunos intérpretes, tales como ROOT. Una
particularidad del C++ es la posibilidad de redefinir los operadores, y de
poder crear nuevos tipos que se comporten como tipos fundamentales.
El nombre "C++" fue propuesto por Rick Mascitti en el año 1983,
cuando el lenguaje fue utilizado por primera vez fuera de un laboratorio
científico. Antes se había usado el nombre "C con clases". En C++, la
expresión "C++" significa "incremento de C" y se refiere a
que C++ es una extensión de C.
Entre otros:
1.
Cobol
2.
Fortran
3.
Java Script
4.
Pascal
5.
PHP
6.
Python





No hay comentarios.:
Publicar un comentario