strawberry logo lane historia example compilador perl

logo - ¿Qué está pasando con Perl 6?



perl vs python (13)

¿Hay algún progreso visible? ¿Es ahora solo un ejercicio académico? ¿Crees que Perl continuará evolucionando con o sin Perl 6 o que pronto será olvidado?


Lento y tarde Tiene un caso terminal de enfermedad del segundo sistema. Cuando era un hacker de Perl (en el pasado), habían estado trabajando en Perl 6 durante dos años. Eso fue hace 6 años. Podrías construir un sistema operativo completo en ese momento.


Perl 6 se está moviendo muy bien. Perl 6 es un poco diferente al Perl anterior en que Perl 6 es realmente una especificación de lenguaje, no una implementación de la misma. La implementación de referencia sobre Parrot, que es el objetivo principal del proyecto Perl 6, ha cambiado de nombre a Rakudo y se está moviendo muy bien. El mejor lugar que he encontrado para recibir noticias es http://planetsix.perl.org/ . Actualmente, por lo que yo entiendo, la mayoría de las características importantes del lenguaje están implementadas y están desarrollando el resto y escribiendo pruebas. Puedes descargarlo y probarlo un poco. La forma más fácil parece ser la versión de cygwin que se ha incluido y convertido en un paquete cygwin.


Saldrá en Navidad. ;-) Escuché en los podcasts que habrá algún tipo de alfa antes de esta Navidad. Fueron explícitos sobre eso, pero ha pasado un tiempo desde que escuché eso.


Perl 6 está evolucionando lenta pero constantemente. Larry Wall escribió un Analizador que puede analizar todos los Perl 6 que conocemos (que es básicamente el conjunto de pruebas más un poco de otro código). Rakudo, que es Perl 6 en Parrot, también funciona muy bien. Puede rastrear su progreso en el banco de pruebas con los cuadros en rakudo.de

Tenga en cuenta que es un lenguaje radicalmente nuevo, y no es trivial de implementar. No espero una versión utilizable antes del próximo año, y aun así tomará bastante tiempo para que cualquier implementación llegue a ser tan madura como lo es Perl 5 en la actualidad (que ha tenido 20 años para desarrollar una base de código estable).


La capacidad de dirigir otros idiomas al parrot vm, hará que sea trivial hacer un producto utilizando los idiomas con los que se sienta cómodo.

Lista de idiomas con actividad reciente, o al menos probado con el último loro (a partir de 2008/09/22):

tomado de idiomas / LANGUAGES_STATUS.pod

  • APL
  • bf
  • Cardenal (Ruby)
  • Chitchat (Smalltalk)
  • Cola (Java)
  • Common Lisp
  • Eclectus (Esquema)
  • ECMAScript
  • HQ9 +
  • Jako (C / Perl)
  • JSON
  • lazy-k
  • lolcode
  • Lua
  • Loro m4
  • Reducción
  • NQP (no del todo perl)
  • Rakudo
  • Pheme (compilador Lisp-2 inspirado en Scheme)
  • Pipp (Pipp es el PHP de Parrot)
  • PJS ( wiki )
  • Punie (Perl1)
  • regex
  • Squaak (Squaak no es Squeak)
  • partcl (TCL)
  • unlambda
  • Traductor WMLScript

Perl 5 seguirá siendo maravilloso y estará disponible incluso si Six nunca llega a buen término. Seis Perl 5 fortalecido, y Perl 5 continúa experimentando muchas cosas maravillosas nuevas, como Moose.

Creo que Perl 6 se completará algún día y será bueno, pero por ahora, soy un Fiver, y estoy feliz así.


Por favor, consulte la Wiki oficial de Perl 6 para encontrar la información más reciente:

http://www.perlfoundation.org/perl6/index.cgi?perl_6

Los titulares más recientes de los 2 principales blogs de Perl 6 se muestran en la parte inferior de la página principal oficial de Perl 6 wiki.

Hay mucha otra información útil y enlaces allí.

Por ejemplo, artículos y presentaciones recientes de Perl 6:

http://www.perlfoundation.org/perl6/index.cgi?perl_6_articles_and_presentations

El Parrot VM para lenguajes dinámicos (para ser utilizado por Rakudo / Perl 6) también tiene una wiki oficial:

http://www.perlfoundation.org/parrot/index.cgi?parrot

Parrot es multilingüe, por lo que Perl 6 podrá llamar a módulos escritos en otros idiomas Parrot, y otros lenguajes Parrot podrán llamar a los módulos de Perl 6 compilados a Parrot.

A diferencia de Perl 5, que se define por su implementación de referencia, Perl 6 está definido por su conjunto de pruebas. Por lo tanto, eventualmente habrá otras versiones de Perl 6 que no se ejecutan en la máquina virtual Parrot.

Perl 5 todavía está evolucionando. Perl 5.10 fue una versión reciente importante, que (entre muchas otras mejoras) también tenía algunas características relacionadas con Perl 6. Perl 5.12 está en desarrollo activo (como Perl 5.11).

Perl 5.12 tendrá soporte para llamadas (y para ser llamado por) Perl 6. Perl 6 debería ser capaz de compilar la gran mayoría del código Perl 5; esta es una prioridad principal.

Por favor, consulte la Wiki oficial de Perl 5 para encontrar la información más reciente:

http://www.perlfoundation.org/perl5/index.cgi?perl_5_wiki


A riesgo de sonar como un fanboy de Perl, todavía estoy entusiasmado con Perl 6 y siento que el resultado final será relevante cuando se publique. Los últimos nueve meses han producido algunos buenos logros en el frente de Parrot () e incluso han resultado en algunas donaciones considerables para ayudar a financiar un mayor desarrollo.

De una publicación de blog reciente :

Actualmente, Rakudo admite matrices, hashes, clases, objetos, herencia, roles, tipos de numeración, tipos de subconjuntos, composición de roles, despacho multimétodo, verificación de tipos, E / S básica, expresiones regulares con nombre, gramáticas, parámetros opcionales, parámetros nombrados, parámetros de reducción, cierres, coincidencia inteligente, cruces y muchas otras características esperadas de Perl 6.

Manténgase atento a Rakudo.org (Rakudo es el nombre de la implementación de Perl 6 construida sobre Parrot) para obtener noticias sobre el proceso de desarrollo en curso de Perl 6.


Siento que algunas cosas buenas pueden venir de Perl 6 (por ejemplo, loro), pero no estoy esperando hacer nada con el lenguaje.

En el grupo de desarrollo de bioinformática donde trabajo, estamos fomentando el uso de Python para un nuevo desarrollo en el que Perl haya sido el idioma de elección en el pasado. Python parece proporcionar un mejor camino para nosotros.



Hay un montón de progreso visible. chromatic publica los minutos de la conferencia telefónica semanal de Parrot / Perl 6 en Use.perl y rakudo.org cada semana, puede leer el diario de Jonathan Worthington , o el diario de Patrick Michaud , o las diversas listas de correo de Perl 6. Como señala Mortiz, puede ver el estado diario del conjunto de pruebas .

Los desarrollos recientes incluyen que Larry Wall termina el trabajo para especificar la gramática completa, los desarrolladores de Rakudo agregan soporte de módulos precompilados y el trabajo de despacho de niveles múltiples de Jonathan.

Sin duda es fácil seguir el progreso, pero probablemente ya sabías que podrías usar Google fácilmente para descubrirlo ("progreso perl6" conduce a buenos recursos). Quizás tengas otra pregunta, o solo quieras patear el avispero.


No debe olvidar que Perl 5 se está desarrollando en paralelo. 5.10 salió no hace mucho con nuevas características y adiciones al idioma.

El progreso en Perl 6 es lento pero constante, PUGS (Perl 6 sobre Haskell) se ha estancado por un tiempo, pero Audrey podría reanudarlo pronto. Mientras tanto, Rakudo (Perl 6 sobre loro) está progresando bien. Aquí hay una publicación que detalla el progreso de varias implementaciones

De manera realista, no aguantaría la respiración, pero no importa cuán tarde sea, creo que cuando salga será relevante.


Al comentario de que no comenzó hasta 2005 ... supongo que depende de si cuentas a Parrot como Perl6. El equipo original sí lo hizo, pero no obtuvimos aceptación por parte de la gente de "Perl6 Language" durante años.

Estábamos haciendo un trabajo real en Parrot en 2000-2004 y gran parte de la base VM estaba allí. Para el 2002, teníamos continuaciones, co-rutinas, un JIT, un compilador intermedio y una docena de idiomas además de Perl6, incluido un intérprete BÁSICO escrito en Parrot''s PIR. Para entonces, podíamos compilar y ejecutar prácticamente cualquier tipo de lenguaje en el mundo, a excepción de los idiomas altamente concurrentes, y nuestra capacidad superó con creces las necesidades de Perl6 para una plataforma de implementación.

La VM en sí misma ha sido capaz por años. Perl6 como lenguaje es una historia diferente ya que es una bestia muy compleja de analizar. Eso no tiene reflejo en Parrot. Es simplemente un reflejo de la cultura de Perl y es la razón por la que el aumento de otros lenguajes de scripting se ha acelerado y Perl5 está en declive y las personas que una vez eligieron Perl5 para la implementación de nuevos sistemas se mudaron a Ruby, Python y Groovy, y lenguajes como Java y C # desarrolló frameworks que hacen un uso intensivo de la reflexión para el despacho en tiempo de ejecución.

Por mucho que ame a Perl, si un lenguaje es tan difícil de implementar que un compilador de calidad de producción no se puede escribir en menos de una década, ¡algo está mal! C ++ es más fácil de analizar y se implementó en una fracción del tiempo de Per6. Eso debería decirnos algo. Derek Jones escribe en su blog "The Shape of Code" que C ++ puede haber obtenido "Too Big to Fail" ( http://shape-of-code.coding-guidelines.com/2008/12/c-goes-for- demasiado grande para fallar / ). C ++ puede darse el lujo de hacerlo, ya que primero tuvo éxito antes de que creciera. Perl6 puede ser "Demasiado grande para tener éxito" porque el alcance fue tan grandioso que el proyecto tiene problemas para retener a los contribuyentes debido a que la capacidad de atención del contribuyente típico es probablemente de 2 a 3 años, no de 10.