DISEÑO DE LENGUAJE DE PROGRAMACIONING. SISTEMAS Y COMPUTACION VERONICA PATRICIA SOTO PECHOLENGUAJES DE PROGRAMACIONDESCONO...
DISEÑO DE LENGUAJE DE PROGRAMACIONING. SISTEMAS Y COMPUTACION VERONICA PATRICIA SOTO PECHOErlangEs un lenguaje de programa...
DISEÑO DE LENGUAJE DE PROGRAMACIONING. SISTEMAS Y COMPUTACION VERONICA PATRICIA SOTO PECHORacketEs un propósito, el lengua...
DISEÑO DE LENGUAJE DE PROGRAMACIONING. SISTEMAS Y COMPUTACION VERONICA PATRICIA SOTO PECHOSe deriva directamente de Smallt...
DISEÑO DE LENGUAJE DE PROGRAMACIONING. SISTEMAS Y COMPUTACION VERONICA PATRICIA SOTO PECHOLuaEs un lenguaje de extensión, ...
DISEÑO DE LENGUAJE DE PROGRAMACIONING. SISTEMAS Y COMPUTACION VERONICA PATRICIA SOTO PECHO ExtensibilidadScala se diseñó ...
Upcoming SlideShare
Loading in …5
×

Diseño de progra tarea

274 views
179 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
274
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Diseño de progra tarea

  1. 1. DISEÑO DE LENGUAJE DE PROGRAMACIONING. SISTEMAS Y COMPUTACION VERONICA PATRICIA SOTO PECHOLENGUAJES DE PROGRAMACIONDESCONOCIDOSPosiblemente algunos de estos lenguajes de programación podrían ser lossucesores en un futuro, de los usados actualmente como, C, C++, Java, PHP, Perl, Python o Ruby:HaskellEs un lenguaje de programación estandarizado multi-propósito puramente funcional consemánticas no estrictas y fuerte tipificación estática. Su nombre se debe al lógicoestadounidense Haskell Curry. En Haskell, "una función es un ciudadano de primera clase" dellenguaje de programación. Como lenguaje de programación funcional, el constructor de controlesprimario es la función. El lenguaje tiene sus orígenes en las observaciones de Haskell Curry y susdescendientes intelectuales.En los años 1980 se constituyó un comité cuyo objetivo era crear un lenguaje funcional quereuniera las características de los múltiples lenguajes funcionales de la época, el másnotable Miranda, y resolviera la confusión creada por la proliferación de los mismos.El lenguaje evoluciona rápidamente con y (ver más abajo) como los representantes actuales delestándar de facto. El último estándar semi-oficial es Haskell 98, con la intención de especificar unaversión mínima y compatible del lenguaje como base para futuras extensiones y para suenseñanza.Las características más interesantes de Haskell incluyen el soporte para tipos de datos yfunciones recursivas, listas, tuplas, guardas y calce de patrones. La combinación de las mismaspuede resultar en algunas funciones casi triviales cuya versión enlenguajes imperativos puedenllegar a resultar extremadamente tediosas de programar. Haskell es, desde 2002, uno deloslenguajes funcionales sobre los que más se ha investigado.Se han desarrollado muchas variantes:Versiones paralelas del MIT y Glasgow, ambas denominadas Parallel Haskell.Más versionesparalelas y distribuidas de Haskell llamadas Distributed Haskell (anteriormente Goffin) y EdenUna versión con ejecución especulativa: Eager HaskellVarias versiones orientadas a objetos: Haskell++, OHaskell y Mondrian.Una versión educativa llamada Gofer desarrollada por Mark Jones que fue suplantada por Hugs
  2. 2. DISEÑO DE LENGUAJE DE PROGRAMACIONING. SISTEMAS Y COMPUTACION VERONICA PATRICIA SOTO PECHOErlangEs un lenguaje de programación concurrente y un sistema de ejecución que incluye una máquinavirtual y biblioteca.El subconjunto de programación secuencial de Erlang es un lenguaje funcional, con evaluaciónestricta, asignación única, y tipado dinámico. Fue diseñado en la compañíaEricsson para realizaraplicaciones distribuidas, tolerantes a fallos, soft-real-time y de funcionamiento ininterrumpido.Proporciona el cambio en caliente de código de forma que éste se puede cambiar sin parar elsistema. Originalmente, Erlang era un lenguaje propietario de Ericsson, pero fue cedidocomo software de código abierto en 1998. La implementación de Ericsson es, principalmenteinterpretada pero también incluye un compilador HiPE (sólo soportado en algunas plataformas).La creación y gestión de procesos es trivial en Erlang, mientras que, en muchos lenguajes,los hilos se consideran un apartado complicado y propenso a errores. En Erlang toda concurrenciaes explícita.Erlang recibe el nombre de A. K. Erlang. A veces se piensa que el nombre es una abreviaciónde ERicsson LANGuage, debido a su uso intensivo en Ericsson. Según Bjarne Däcker -quien fue eljefe del Computer Science Lab en su día-, esta dualidad es intencional.IoEs Un lenguaje de programación orientado a objetos puro inspirado en Smalltalk, Self, Lua, Lisp,Act1 y NewtonScript. Io tiene un modelo de objetos basado en prototipos similares a los de unomismo y NewtonScript, eliminando la distinción entre la instancia y de clase. Como Smalltalk, todoes un objeto y utiliza tipado dinámico. Como Lisp, los programas son sólo árboles de datos. Ioutiliza actores para la concurrencia.Las características notables de Io son su tamaño mínimo y la apertura a la utilización de recursosde código externos Io es ejecutada por una máquina virtual pequeña y portátil.
  3. 3. DISEÑO DE LENGUAJE DE PROGRAMACIONING. SISTEMAS Y COMPUTACION VERONICA PATRICIA SOTO PECHORacketEs un propósito, el lenguaje de programación multi-paradigma general de la familia Lisp / Scheme.Uno de sus objetivos de diseño es el de servir como una plataforma para la creación de lenguaje,diseño e implementación. El lenguaje se utiliza en una variedad de contextos, como scripting,programación de propósito general, educación de ciencias de la computación y la investigación.La plataforma proporciona una implementación del lenguaje Racket (incluyendo un sofisticadosistema de tiempo de ejecución, varias bibliotecas, compilador JIT, y más), junto con un entornode desarrollo llamado DrRacket (anteriormente llamado DrScheme) escrito en la propia raqueta. elIDE y un plan de estudios de programación de acompañamiento se utiliza en el programa deextensión ProgramByDesign, un intento de convertir la computación y programación en "unaparte indispensable del plan de estudios de artes liberales". El idioma principal es conocido por suextenso sistema de macro que permite la creación de embebidos y lenguajes específicos dedominio, el lenguaje construye tales asclasses o módulos, y dialectos diferentes de raqueta conuna semántica diferente.La distribución de la plataforma es el software libre y de código abierto distribuido bajo la licenciaLGPL. Extensiones y paquetes escritos por la comunidad se cargan Planet, un sistema dedistribución de paquetes basado en la web.ClojureEs un dialecto del lenguaje de programación Lisp creado por Rich Hickey.Se trata de un lenguaje depropósito general funcional. Su enfoque en la programación con valores inmutables y explícitasconstrucciones de progresión de los tiempos están destinados a facilitar el desarrollo de losprogramas más sólidos, particularmente multiproceso.Clojure se ejecuta en la máquina virtual de Java, Common Language Runtime, y los motores deJavaScript. Al igual que otros Lisps, Clojure trata como código de datos y tiene un macro sistemasofisticado.SqueakLenguaje de programación es un dialecto de Smalltalk. Es orientado a objetos basado en clases yreflexiva.
  4. 4. DISEÑO DE LENGUAJE DE PROGRAMACIONING. SISTEMAS Y COMPUTACION VERONICA PATRICIA SOTO PECHOSe deriva directamente de Smalltalk-80 por un grupo de Apple Computer, que incluyó algunos delos originales de Smalltalk-80 desarrolladores. Su desarrollo fue continuado por el mismo grupo enWalt Disney Imagineering, donde fue diseñado para su uso en proyectos internos de Disney.Squeak está disponible para muchas plataformas y programas producidos en una plataformaejecute bits idénticos en todas las demás plataformas. El sistema de Squeak incluye código para lageneración de una nueva versión de la máquina virtual (VM) en el que se ejecuta. También incluyeun simulador de máquina virtual escrito en Squeak en sí. Por esta razón, es portado fácilmente.OCamlOriginalmente conocida como Objetivo Caml, es la implementación de este lenguaje deprogramación Caml, creada por Xavier Leroy, Jérôme Vouillon, Damien Doligez, Didier Rémy yotros en 1996. OCaml se extiende el lenguaje Caml núcleo con construcciones orientadas aobjetos.Conjunto de herramientas de OCaml incluye un intérprete interactivo de alto nivel, un compiladorde bytecode y un compilador de código nativo optimización. Tiene una gran biblioteca estándarque hace que sea útil para muchas de las mismas aplicaciones como Python o Perl, así comorobustos construcciones de programación modular y orientado a objetos que hacen que seaaplicable para la ingeniería de software a gran escala. OCaml es la sucesora de Caml Light. El CAMLsiglas inicialmente a Categórico Abstract Machine Language, aunque OCaml abandona estamáquina abstracta. [1]OCaml es un proyecto de código abierto gestionado y mantenido principalmente por INRIA. En losúltimos años, muchos de los nuevos lenguajes han dibujado elementos de OCaml, especialmente F# y Scala.FactorEs un lenguaje de programación orientado a pila creado por Slava Pestov. Factor está escrito deforma dinámica y cuenta con gestión automática de memoria, así como las característicasmetaprogramación poderosos. El lenguaje tiene una sola aplicación con un compilador librehostedoptimizing y un entorno de desarrollo interactivo. El Factor de distribución, incluye una granbiblioteca estándar.
  5. 5. DISEÑO DE LENGUAJE DE PROGRAMACIONING. SISTEMAS Y COMPUTACION VERONICA PATRICIA SOTO PECHOLuaEs un lenguaje de extensión, suficientemente compacto para usarse en diferentes plataformas. En lualas variables no tienentipo, sólo los datos y pueden ser lógicos, enteros, números de comaflotante o cadenas.Estructuras de datos como vectores,conjuntos, tablas hash, listas y registros pueden ser representadasutilizando la única estructura de datos de Lua: la tabla.La semántica de Lua puede ser extendida y modificada redefiniendo funciones de las estructuras dedatos utilizando metatablas, casi como en Perl. Lua ofrece soporte para funciones de ordensuperior, recolector de basura. Combinando todo lo anterior, es posible utilizar Lua en programaciónorientada a objetos.ScalaEs un lenguaje de programación multi-paradigma diseñado para expresar patrones comunes deprogramación en forma concisa, elegante y con tipos seguros. Integra sutilmente característicasde lenguajes funcionales y orientados a objetos. La implementación actual corre en la máquinavirtual de Java y es compatible con las aplicaciones Java existentes.Caracteristicas: Orientacion a ObjetosScala es un lenguaje de programación orientado a objetos puro, en el sentido de que cadavalor es un objeto. El tipo y comportamiento de los objetos se describe por medio declases y traits. La abstracción de clases se realiza extendiendo otras clases y usando unmecanismo de composición basado en mixins como un reemplazo limpio de la herenciamúltiple Lenguaje FuncionalScala también posee características propias de los lenguajes funcionales. En Scala lasfunciones son valores de primera clase, soportando funciones anónimas, orden superior,funciones anidadas y currificación. Scala viene integrado de fábrica con la técnica depattern matching para modelar tipos algebraicos usados en muchos lenguajes funcionales. Tipificado estáticoScala está equipado con un sistema de tipos expresivo que refuerza a que lasabstracciones de tipos se usen en forma coherente y segura.
  6. 6. DISEÑO DE LENGUAJE DE PROGRAMACIONING. SISTEMAS Y COMPUTACION VERONICA PATRICIA SOTO PECHO ExtensibilidadScala se diseñó teniendo en mente el hecho de que en la práctica el desarrollo deaplicaciones requiere a menudo de extensiones específicas del lenguaje, para ello, Scalaproporciona una combinación única de mecanismos que hacen fácil y sin problemasagregar construcciones nuevas al lenguaje en forma de bibliotecas.

×