Arco (lenguaje de programación)

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar

Arc es un lenguaje de programación, un dialecto del lenguaje Lisp, desarrollado por Paul Graham y Robert Morris. Es un software gratuito y de código abierto lanzado bajo la Licencia Artística 2.0.

Historia

En 2001, Paul Graham anunció que estaba trabajando en un nuevo dialecto de Lisp llamado Arc. A lo largo de los años, ha escrito varios ensayos que describen las características o los objetivos del lenguaje, y algunos proyectos internos en la incubadora de empresas emergentes de Graham llamada Y Combinator se han escrito en Arc, sobre todo el foro web Hacker News y el agregador de noticias. programa. Arc está escrito en Raqueta.

1958 1960 1965 1970 1975 1980 1985 1990 1995 2000 2005 2010 2015 2020
LISP 1, 1,5, LISP 2(abandonado)
Maclisp
Interlisp
MDL
Lisp Machine Lisp
Plan R5RS R6RS R7RS pequeño
NIL
ZIL (Zork Implementation Language)
Franz Lisp
Lisp común ANSI standard
Le Lisp
MIT Plan
T
Chez Scheme
Emacs Lisp
AutoLISP
PicoLisp
Gambit
EuLisp
ISLISP
OpenLisp
PLT Plan Racket
GNU Guile
Visual LISP
Clojure
Arc
LFE
Hy

Motivos

En el ensayo Ser popular, Graham describe algunos de sus objetivos para el idioma. Si bien muchos de los objetivos son muy generales ("Arc debería ser pirateable", "debería haber buenas bibliotecas"), dio algunos detalles. Por ejemplo, cree que es importante que un idioma sea conciso:

No estaría lejos de la verdad decir que un hacker a punto de escribir un programa decide qué idioma utilizar, al menos subconscientemente, basado en el número total de caracteres que tendrá que escribir. Si esto no es precisamente lo que piensan los hackers, un diseñador de lenguaje haría bien para actuar como si fuera así.

También afirmó que es mejor que un lenguaje solo implemente una pequeña cantidad de axiomas, incluso cuando eso signifique que el lenguaje puede no tener las características que las grandes organizaciones desean, como la orientación a objetos (OO). Además, Graham piensa que OO no es útil ya que sus métodos y patrones son simplemente 'buen diseño', y considera que las características del lenguaje utilizadas para implementar OO están parcialmente equivocadas. En la presentación de Arc en 2008, Graham afirmó que uno de sus beneficios era su brevedad.

Una controversia entre los programadores de Lisp es si, y en qué medida, las expresiones s del lenguaje deben complementarse con otras formas de sintaxis. Graham cree que la sintaxis añadida debería usarse en situaciones en las que las expresiones s puras serían demasiado detalladas y dirían: "No creo que debamos oponernos religiosamente a la introducción de la sintaxis en Lisp". Graham también piensa que los problemas de eficiencia deberían resolverse dándole al programador un buen generador de perfiles.

Recepción

Cuando se lanzó en 2008, Arc generó reacciones encontradas, algunos lo llamaron simplemente una extensión de Lisp o Scheme y no un lenguaje de programación por derecho propio. Otros aplaudieron a Arc por reducir a Lisp a lo esencial. Poco después de su lanzamiento, Arc fue portado a JavaScript y estaba siendo soportado por Schemescript, un entorno de desarrollo integrado (IDE) basado en Eclipse.

Ejemplos

Hola mundo en Arc:

 ()prn "Hola, Mundo")

Para ilustrar la brevedad de Arc, Graham usa un programa breve. Produce un formulario con un campo en la URL "/dicho". Cuando se envía el formulario, conduce a una página con un enlace que dice "haga clic aquí", que luego conduce a una página con el valor del campo de entrada original.

()defop dijo: req ()aform [onlink] "Haz clic aquí" ()pr "Dijiste: " ()arg ¿Qué? "foo")] ()entrada "foo")  ()presentar))

Versiones

Versión oficial

La primera versión pública de Arc estuvo disponible el 29 de enero de 2008, implementada en Racket (entonces llamado PLT-Scheme). El lanzamiento viene en forma de un archivo.tar, que contiene el código fuente de Racket para Arc. También están disponibles un tutorial y un foro de discusión. El foro usa el mismo programa que Hacker News y está escrito en Arc.

Versiones no oficiales

Debido a la falta de actualizaciones en la rama oficial de Arc, algunos miembros de la comunidad de Arc comenzaron sus propios repositorios con modificaciones, extensiones y bibliotecas no oficiales. Una versión, Anarki, permitía a cualquiera enviar cambios al proyecto y tiene un wiki administrado por la comunidad.

Rainbow es una implementación de Arc en Java.

Arcadia es una implementación de Arc en C.

Contenido relacionado

Cifrado Feistel

En criptografía, un cifrado Feistel es una estructura simétrica utilizada en la construcción de cifrados en bloque, que lleva el nombre del alemán- el...

Problema del barbero durmiendo

En informática, el problema del barbero durmiente es un problema clásico de comunicación y sincronización entre procesos que ilustra las complejidades que...

Código enhebrado

En informática, el código de subprocesos es una técnica de programación en la que el código tiene una forma que consiste esencialmente en llamadas a...
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save