program pearl language descargar compilador perl perl6

perl - descargar - pearl language



¿Cuál es el estado actual de Perl 6? (4)

En primer lugar, y lo más importante, siga el agregador de noticias Planet Six . Se incluyen 6 reuniones semanales y blogs de los principales desarrolladores y muchos miembros de la comunidad, y es una excelente manera de mantenerse al día sobre el progreso de Perl 6.

Para tener una idea de cómo funciona Rakudo Perl, la principal implementación de Perl 6, consulte el Calendario de Adviento de Perl 6 . Cada día muestra una faceta diferente de Perl 6, y hasta qué punto Rakudo lo ha implementado en este momento .

Actualización (marzo de 2012): la comparación de características de perl6.org muestra el progreso de implementación tanto de Rakudo como de Niecza (un compilador de orientación de CLR, por ejemplo, .NET, Mono).

Perl 6, como especificación, todavía se está sometiendo a refinamiento y refactorización constantes. Algunos ejemplos donde la especificación no está clara: la jerarquía de objetos, lo que debe y no debe ser parte de la biblioteca central, manejo de fechas, pereza, ''auto-threading'' de cruces. Pero la mayor parte del lenguaje ha sido finalizado. La especificación es muy ambiciosa, y en mi humilde opinión es una de las razones principales por las que Perl 6 ha tardado tanto en ponerse en marcha.

En términos de implementación, el proyecto principal es Rakudo Perl 6, construido sobre Parrot VM. Hay tal vez una docena de desarrolladores dedicados y muchos más que están ayudando a probar, escribir bibliotecas, códigos y documentación. La mayoría del trabajo de desarrollo está financiado por subvenciones de la Fundación Perl y la comunidad, por lo que no hay ninguna razón para esperar que desaparezca.

Rakudo tiene muchos errores y mucha funcionalidad faltante. Recientemente se ha sometido a una gran refactorización: la rama ''ng''. Explore cualquier fuente existente de Perl 6 y encontrará muchos comentarios que dicen "Rakudobug" o "Rakudo aún no implementa esto ..."

Aun así, esto pinta una imagen injusta de Rakudo. La especificación Perl 6 es ambiciosa, por decir lo menos. El lenguaje tiene tantas funciones que ha necesitado años de desarrollo para llegar al nivel actual. Rakudo es lo suficientemente completo como para que las personas escriban juegos basados ​​en texto, wikis y otras aplicaciones web, y cada día mejora. Los desarrolladores han escrito alrededor de 40,000 pruebas unitarias para Perl 6 hasta el momento, por lo que es fácil ver mejoras en la implementación (Rakudo actualmente pasa ~ 30k pruebas, o el 79% del conjunto de pruebas)

El primer lanzamiento "estable" de Rakudo se conoce como ''Rakudo Star''. Actualmente está planificado para el segundo trimestre de 2010 (abril-junio). La idea general fue implementar una gran parte de Perl 6, no todo el lenguaje, sino un subconjunto útil de este, y minimizar los errores. En cuanto a la producción lista , Perl 6 siempre ha tenido una fecha de lanzamiento de "Navidad". Quizás esta Navidad, más probablemente sea otra cosa. Pasará mucho tiempo antes de que puedas usar todo Perl 6, sin errores, pero al menos veremos un lanzamiento estable muy pronto , y con suerte, la exageración de Perl 6 se convertirá en una bola de nieve una vez que la gente descubra que es real

Si está interesado en Perl 6, podría considerar involucrarse en la comunidad. Desde mi experiencia, es una comunidad muy amigable (casi me asusta lo agradable que es todo el mundo, incluso en el IRC). Instala Rakudo, intenta romperlo, archiva errores. Escribir cajas de prueba. Escribir implementaciones para funciones centrales, escribir módulos. ¡Hay mucho que hacer!

¿Cuál es el estado actual de Perl 6, está listo para producción? ¿Dónde estamos parados ahora? Hay muchos programadores curiosos sobre el progreso actual de Perl 6.

También hay otros dos temas abiertos en reddit y http://perlmonks.org/?node_id=835419 sobre esto.


Interesante blog publicado hoy por Leon Timmermans sobre algunas de las diferencias que saldrán en Perl 6.
Por qué Perl 6 es diferente No se habla mucho sobre cuándo surgirán esas diferencias.


Perl 6 fue lanzado oficialmente hace unos días, esta Navidad de 2015. De hecho, se publicaron dos cosas muy importantes.

Primero y más importante, la especificación oficial y ahora estable del lenguaje, Perl 6.c (c para Navidad), fue lanzada. La especificación es un conjunto de más de 120,000 pruebas conocidas como Perl 6 Roast (Repositorio de todos los estados de S pec) que se pueden encontrar en Github bajo perl6 / asado.

En segundo lugar, se lanzó una nueva versión de una implementación de Perl 6, conocida como Rakudo. Rakudo es un compilador de Perl 6 que se ejecuta en las máquinas virtuales MoarVM y JVM. Esta nueva versión de Rakudo se dirige a la especificación del lenguaje 6.c y pasa todas las pruebas en varias arquitecturas principales. Se puede encontrar más información sobre el lanzamiento en Github en rakudo / rakudo y, en particular, en el anuncio de 2015.12 bajo rakudo / rakudo / blob / nom / docs / announce / 2015.12.md.

Rakudo es bastante sencillo de instalar, yo personalmente recomiendo usar rakudobrew, que es un administrador de instalación de Rakudo. Siga las instrucciones aquí https://github.com/tadzik/rakudobrew . Además de instalar Rakudo y MoarVM, también puede instalar Panda, que es un instalador de módulos Perl 6.

Como desarrollador de software de Perl 5 y Python desde hace mucho tiempo, tengo que decir que Perl 6 parece ser un lenguaje extremadamente potente y profundo que resuelve muchos de los problemas que encuentro con los lenguajes dinámicos existentes. Para tomar directamente del anuncio de Rakudo:

  • Retiene los valores centrales de Perl: expresividad, hacer el trabajo, tomar influencias del lenguaje natural y superar los límites del diseño del lenguaje.
  • Tiene una sintaxis limpia y moderna, arraigada en construcciones familiares pero revisitando y revisando las cosas que lo necesitaban.
  • Es verdaderamente multi-paradigma, permitiendo una programación elegante orientada a objetos, funcional, de procedimiento y concurrente
  • Sirve como un excelente lenguaje de pegado, lo que permite llamar fácilmente a C / C ++ (usando NativeCall) y mantenerse compatible con Perl 5 (a través de Inline :: Perl5).
  • Proporciona construcciones compostables para trabajar con datos asincrónicos y cálculos paralelos
  • Reforma dramáticamente y establece un nuevo estándar en la sintaxis de expresiones regulares, que escala hasta gramáticas completas, lo suficientemente potente como para analizar el propio Perl 6
  • Tiene soporte Unicode sobresaliente, con cadenas que funcionan a nivel grafema
  • Valora el alcance léxico y la encapsulación, lo que permite una fácil refactorización
  • Es extensible a través de la programación de metaobjetos, operadores definidos por el usuario y rasgos

Toda la información que desea saber sobre Perl 6 se puede encontrar aquí http://perl6.org/ .


Perl 6 no está listo para la producción utilizando las definiciones más comunes de "producción lista" según el propio hilo de SO : las implementaciones no son estables y posiblemente carezcan de características completas de la especificación.

Consulte esta respuesta SO para obtener detalles sobre el estado a partir de 2008 . La especificación del lenguaje parece estable (al menos según brian d foy en la publicación vinculada) pero la implementación aún no está allí.

En cuanto a las fechas específicas, según esta publicación el 04/08/2010, el primer lanzamiento importante de la implementación de Perl 6 más lejana - Rakudo (en Parrot VM) - llamado "Rakudo Star 1.0" está tentativamente dirigido al segundo trimestre de 2010 ( el plan original fue alrededor de abril de 2010 pero se modificó debido a circunstancias personales que involucran al desarrollador principal).

Por supuesto, YMMV: he visto a personas usar MUCHOS códigos / proyectos menos estables en producción (incluido lo que ellos mismos escribieron) que el estado actual de Perl 6. Pero personalmente ni siquiera comencé a soñar con implementar Perl 6 hasta que haya sido lanzado por un tiempo.

Sin embargo, tenga en cuenta un punto muy importante : lo anterior no significa que Perl 6 sea vaporware o que no se aprenda, parece que está progresando bien y, por lo tanto, personalmente tengo la intención de comenzar a indagar en él (bueno, ya tengo gracias a SO) antes de tiempo, así que estoy listo para usarlo cuando se haya estabilizado un poco.

Además, me gustaría añadir que una gran parte de la gran funcionalidad de Perl 6 se transfirió a Perl 5 (en 5.10-5-12, y ver Perl6 :: modules ), por lo que el punto anterior sobre el aprendizaje de Perl6 es extremadamente relevante incluso si no tiene planes inmediatos para implementar Perl 6 en sí mismo.