2008-09-15 20 views

Respuesta

2

Siento que algunas cosas buenas pueden provenir de Perl 6 (por ejemplo, loro), pero no cuento con hacer algo con el idioma.

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

+1

Hay ya se implementó parcialmente una pitón en loro (pynie). –

+1

¡Buen uso de la aliteración! – Dana

-1

Saldrá antes de 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.

+2

... Ahora que Navidad, no sé. –

18

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 un poco de sizable donations para ayudar a financiar un mayor desarrollo.

De a recent blog post:

Rakudo actualmente soporta arrays, hashes, clases, objetos, herencia, roles, tipos de numeración, tipos de subconjuntos, composición del papel, el envío multimétodo, la verificación de tipos, E/S básicas, nombrado expresiones regulares, gramáticas, los parámetros opcionales, los parámetros con nombre, parámetros slurpy, cierres, partido inteligente, uniones, y muchas otras características que se esperan de Perl 6.

Mantenga sus ojos en Rakudo.org (Rakudo es el nombre del Perl 6 Implementación bui lt en la parte superior de Parrot) para noticias sobre el proceso de desarrollo en curso de Perl 6.

7

Perl 6 se mueve 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 las 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.

1

Lento y tardío. 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.

+1

No puede ser tarde, nunca hubo una fecha límite. –

+1

Eso ha sido cierto para muchos proyectos tardíos y finalmente irrelevantes. En el momento de su lanzamiento, habrá sido superado. –

+1

Si todo lo que hace es hacer que las personas comiencen a agregar funciones de Perl6 a sus propios idiomas, nunca puede ser irrelevante. –

12

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) ha estado 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 various implementations progress

Realísticamente, no aguantaría la respiración por ello, pero no importa cuán tarde sea, creo que cuando salga aún será relevante.

11

Perl 6 evoluciona 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 gráficos 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).

5

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 la actividad reciente, o al menos probado con la última loro (a partir de 2008/09/22):

tomado de languages/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
  • Markdown
  • NQP (No bastante Perl)
  • Rakudo
  • Pheme (Lisp-2 compilador inspirado por el Esquema)
  • Pipp (Pipp es PHP de Parrot)
  • PJS (wiki)
  • Punie (Perl1)
  • regex
  • Squaak (Squaak no se Squeak)
  • partcl (TCL)
  • unlambda
  • WMLScript Traductor
11

Hay un montón de progess visible. chromatic publica los minutos de la conferencia telefónica de Parrot/Perl 6 a Use.perl y rakudo.org cada semana, puede leer Jonathan Worthington's journal o Patrick Michaud's journal, o las distintas listas de correo de Perl 6. Como señala Mortiz, puede ver el daily state of the test suite.

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

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

+0

Creo que 'rakudo.de' comenzó a censurar la cobertura del conjunto de pruebas Perl 6. Ya no está disponible en el sitio. –

3

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 estará bien, pero por ahora, soy un Fiver, y estoy feliz así.

8

Por favor ver el Oficial Perl 6 Wiki para encontrar la información más reciente:

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

Los titulares más recientes de 2 líderes Perl 6 blogs se muestran en la parte inferior de la página oficial de Perl 6 wiki casa.

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

Por ejemplo, los últimos Perl 6 artículos y presentaciones:

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 un 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 idiomas Parrot podrán llamar a los módulos Perl 6 compilados a Parrot.

A diferencia de Perl 5, que se define por su implementación de referencia, Perl 6 se define 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 importante.

Por favor ver el Perl 5 Oficial Wiki para encontrar la información más reciente:

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

+0

Actualización rápida: la wiki de Parrot se está moviendo a https://trac.parrot.org/parrot/ – Gaurav

3

Para el comentario de que no se inició 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, incluyendo 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 máquina virtual en sí ha sido capaz durante 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.

Tanto como amo 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-too-big-to-fail/). 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 probablemente es de 2-3 años, no de 10.

Cuestiones relacionadas