Lenguaje de programación
Un
ejemplo de código fuente escrito en el lenguaje de
programación Java, que imprimirá el mensaje "Hello World!" a la
salida estándar cuando es compilado y ejecutado
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.1
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.
Existe un
error común que trata por sinónimos los términos 'lenguaje de programación' y 'lenguaje informático'. Los lenguajes
informáticos engloban a los lenguajes de programación y a otros más, como por
ejemplo HTML
(lenguaje para el marcado de páginas web
que no es propiamente un lenguaje de programación, sino un conjunto de instrucciones que permiten
estructurar el contenido de los documentos).Permite especificar de manera
precisa sobre qué datos debe operar una computadora, cómo deben ser
almacenados o transmitidos y qué acciones debe tomar bajo una variada gama de
circunstancias. Todo esto, a través de un lenguaje
que intenta estar relativamente próximo al lenguaje humano o natural.
Una característica relevante de los lenguajes de programación es precisamente
que más de un programador pueda usar un conjunto común de instrucciones que
sean comprendidas entre ellos para realizar la construcción de un programa de
forma colaborativa.
PARADIGMA
DE LA COMPUTACION
El lenguaje de programación funcional Clean
Un lenguaje de programación funcional como Clean se basa en el concepto de
funciones matemáticas. Clean es un lenguaje funcional puro, no hay tal cosa
como una cesión. Esto tiene una gran ventaja: una función no puede tener un
efecto secundario. A Clean función referencial es transparente: el resultado de
una función sólo depende del valor de la función de argumentos y en nada más.
Esto tiene importantes consecuencias:
Una vez que la función es de trabajo, siempre trabajo. Una función siempre
reaccionan de la misma manera, sin tener en cuenta cuándo y en qué contexto se
usa esta función;
Una razón puede ser Clean sobre las funciones y la limpieza del programa en su
conjunto (que es una función de aplicación) mediante el uso tradicional de
razonamiento matemático: la sustitución de uniformes y de inducción matemática.
Para hacer el mundo real las necesidades de un curso para poder actualizar una
base de datos, realizar I / O, actualizar una serie destructiva, pasar un
mensaje a otro programa. Y, la solicitud deberá ejecutar de manera eficiente
suficiente. Aunque Clean no tiene asignaciones, los objetos se pueden
actualizar destructivamente. Clean es el único lenguaje funcional en el mundo
que tiene un sistema de tipo especial, singularidad a escribir. Este tipo de
sistema se desarrolla en Nijmegen. Permite actualizar los argumentos y
conservar la pureza de la lengua.
Clean es pura o meramente funcional,
en informática este termino es utilizado para describir algoritmos,
estructuras de datos o los lenguajes de programación la propiedad puramente
funcional de las estructuras de datos puede ser ventajosa en el desarrollo de
muchas aplicaciones que ocupan de múltiples versiones de un objeto, además
Clean es el único lenguaje funcional en el mundo que ofrece la singularidad de
mecanografía, esto hace posible que sea un lenguaje puramente funcional para
incorporar las actualizaciones de destrucción arbitraria de estructuras de
datos (incluyendo arreglos)
DOMINIOS
DE APLICACIÓN
Para las personas q están familiarizadas con otros
lenguajes funcionales, como Haskell, damos aquí una breve lista de las características:
- Clean es un perezoso, lenguaje funcional puro de
programación de orden superior, con gráfica explícita y semántica que
permite la reescritura; se puede definir explícitamente el intercambio de
estructuras (estructuras cíclicas también) en el lenguaje;
- Aunque Clean es por defecto un lenguaje vago se puede
convertir en un lenguaje estricto para obtener óptimos comportamientos en
tiempo / espacio: las funciones se pueden definir fácilmente, así como en
sus argumentos pueden ser más estrictos, como también sus estructuras.
- Debido a ser fuertemente tipado de Clean está en la
obligación de inicializar todos los objetos que se están creando. En
tiempo de ejecución los errores sólo pueden producirse en un número muy
limitado de casos: cuando parcialmente las funciones se llaman con
argumentos fuera de su dominio (por ejemplo, dividir por cero), cuando los
arreglos se les accede con índices fuera de rango y cuando no hay
suficiente memoria (heap o bien el espacio de pila) que se asigna a una
aplicación Clean;
- Tipo clases y el tipo constructor se prestan a hacer
uso de la sobrecarga de funciones y operadores.
- Clean ofrece los siguientes tipos predefinidos:
enteros, reales, booleanas, caracteres, cadenas de texto, listas, tuplas,
registros, (actualizable destructiva) y arreglo de archivos;
- Se puede definir funciones en el ámbito local,
utilizando los bloques.
- la característica clave de Clean es su singularidad de
tipo polimórfico, sistema de inferencia, una extensión de la Milner / Hindley /
Mycroft tipo de inferencia / sistema de control que permite un refinado
control sobre el uso único de los objetos, con la singularidad de este
tipo de sistema se puede influir en el tiempo y el espacio en que se
comportan los programas, puede utilizarse para incorporar las
actualizaciones destructivas de objetos dentro de un marco funcional puro,
permite la transformación destructiva de información de estado, que
permite la interconexión eficiente a los mundos no funcionales (en C, sino
también para I / O como los sistemas X - Windows) que ofrece acceso
directo a sistemas de ficheros y sistemas operativos;
- Clean es un lenguaje modular que permite la
compilación separada de módulos, uno define los módulos de aplicación y la
definición de módulos; hay una instalación de forma implícita y
explícitamente de las definiciones de importación de otros módulos;
- Clean ofrece una sofisticada biblioteca E / S con el
que la ventana interactiva basada en las aplicaciones (y la manipulación
de menús, diálogos, ventanas, ratón, teclado, temporizadores y eventos
planteadas por sub-aplicaciones) puede especificarse compacto y elegante
en un nivel muy alto de la abstracción;
GUI basado en programas escritos en Clean utilizando el v0,8 biblioteca E
/ S puede ser portado sin modificación de código fuente para cualquiera de
las muchas plataformas.
Clean también se destaca por sus diversos tipos de aplicaciones
las cuales son:
·
Su
entorno de desarrollo integrado:
o Clean es un sistema
simple y estable que viene con un programa dedicado Desarrollo Integrado de
Medio Ambiente, el Clean IDE. El IDE es el núcleo del Sistema de Clean que
forma la interfaz para el programador.
Se trata de un dedicado editor y gerente del proyecto que permite a un
programador generar y poner en marcha una aplicación con sólo pulsar un botón.
o
Desarrolle su propia plataforma de juegos
El nuevo Clean Objeto de E / S 1,2 Biblioteca viene con soporte para la
creación de su propia plataforma 2D-juegos. La extensión de construir juegos ha
sido desarrollado por Mike Wiering durante su Magíster, era su proyecto de
tesis. Un documento sobre este proyecto ha aparecido en las seleccionadas Actas
del Taller IFL'99. La biblioteca para crear juegos es la 1.2.1 Biblioteca de
Juegos.
Se puede crear juegos completos en tan sólo una fracción del tiempo que tomará
mediante la utilización de un lenguaje tradicional. Por ejemplo, el Sinterklaas
juego contiene menos de 3000 líneas de código limpio.
o
Hay unos nuevos fines
especiales programa de dibujo, un Tile Editor. Con el Editor de baldosa se
puede hacer baldosas que puede ser usado para hacer los sprites (imágenes),
animaciones y las capas de fondo.
IMPLEMENTACIÓN
DE LENGUAJE DE PROGRAMACION
Analizando e investigando nuestro lenguaje de programación
Clean podemos determinar basándonos en los apuntes del curso
Podemos determinar que su categoría de traducción es
Compilado, este tipo de lenguaje existe una traducción (Compilador) a lenguaje
de maquina previa a la ejecución.
Clean entra en la categoría de lenguajes compilados ya que
crea un archivo ejecutable para poder ejecutar el programa, pero para llegar a
la creación de este archivo ejecutable en clean se deben realizar una serie de
pasos previos.
Una de las características de Clean es como funciona debido
al cálculo grafico se basa en la
reescritura y la reducción constante, como son
los números de los gráficos. Esto, combinado con la compilación de
código nativo, hace que Clean genere programas relativamente regidos, incluso
con alta abstracción. Esto se realiza de la siguiente forma
- Un archivo fuente (.lcl) y un archivo de proyecto
(.Dcl) se convierten en la plataforma independiente de limpieza del
Bytecode (.Abc), implementado en C y Clean.
- El Bytecode se convierte a código objeto (.Obj) usando
C.
- El código objeto esta relacionado con oros archivos en
el modulo de tiempo de ejecución y el sistema y es convertido en un
ejecutable normal de Clean