miércoles, 11 de marzo de 2015

Lenguaje de programación



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
Un lenguaje de programación es un lenguaje formal diseñado para expresar 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.1
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.
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
  1. 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.

  2. El Bytecode se convierte a código objeto (.Obj) usando C.

  3. 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

No hay comentarios:

Publicar un comentario