Sé que todos los 3 están relacionados, y he visto bastantes respuestas para problemas en Project Euler escritos en J, y unos pocos escritos K. Lo que me pregunto es, ¿cuál sugeriría? aprendiendo, ¿y dónde sugeriría ir a buscar los materiales para aprender?Aprendiendo J/K/APL
Respuesta
Dada la naturaleza de los lenguajes individuales, y la disponibilidad de material, voy a ir con J.
La corriente J intérprete no es de código abierto, pero la especificación de lenguaje. Entonces, si el intérprete J oficial ya no es libre, un proyecto de código abierto podría implementarlo.
K parece estar muerto, y reemplazado por Q. Todas las licencias en él parecen ser de propiedad, y el intérprete parece ser más difícil de encontrar (ya que están tratando de vender kdb, no Q).
No puedo encontrar una versión de APL para usar.
Para APL: prueba NARS2000 –
Encuentro que J es lo que más se puede usar actualmente. Yo también lamento la falta de una solución moderna de código abierto, especialmente porque J Software no está interesado en dar soporte a una de mis plataformas de elección, pero parece que la situación podría cambiar ya que parece haber una renovación del interés en estos idiomas. –
Eche un vistazo a APL faq en la sección: ¿Dónde puedo encontrar APL para la máquina X?
También hay un wiki que tiene información en http://aplwiki.com/Frontpage
Siempre se puede tratar de A +. Libre de http://www.aplusdev.org/
Este lenguaje APL evolucionaron en J y Q
APL
Creado por Kenneth Iverson como el lenguaje de programación matriz original. Utiliza un juego de caracteres no ASCII ya que no hay palabras reservadas. El British APL Association mantiene una lista actualizada de intérpretes (tanto gratuitos como comerciales), así como información sobre los idiomas inspirados en APL que se detallan a continuación.
A +
Creado por Arthur Whitney como un seguimiento de APL. El código fuente está disponible bajo GPL y hay una extensión XEmacs incluida. Descárguelo del website.
J
Creado por Kenneth Iverson y Roger Hui, esto sólo requiere de caracteres ASCII. La fuente solía costar dinero, aunque recientemente se lanzó bajo GPL. Descárguelo del website.
K
Otra lengua Arthur Whitney, esto también utiliza caracteres ASCII. La compañía que está detrás de esto ha desmantelado el lenguaje, pero está el código abierto Kona.
Q
incorporado en la parte superior de K para incluir la consulta de tipo SQL/unirse a las capacidades (tablas son una incorporado en el envase), este lenguaje se construye sobre el manejo de una gran cantidad de datos. Una versión con licencia no comercial se puede descargar desde el website.
En cuanto a lo que se usa activamente, Q es bastante popular en las finanzas, mientras que J tiene algún apoyo de la academia y los aficionados. Esos dos son su mejor apuesta para la programación de matriz en estos días.
J es ahora de código abierto: http://www.jsoftware.com/source.htm
Hay un intérprete APL gratuito llamado NAS2000, pero me parece que sólo es útil para la prueba de concepto. A veces recibo resultados incorrectos (programé en APL hace años en todo, desde un 8K IBM 1130 a un PC/XT y, a veces, creo que los resultados son incorrectos) mientras que otras veces son terriblemente lentos. El mejor caso en J funciona tan rápido como cualquier cosa. Nunca he usado K, he intentado hacer unos 100 problemas de Euler en J, y recién estoy comenzando a entender realmente el rango. (Alrededor de 10 de ellos, he hecho en D, uno en Lisp con cálculos de apoyo en J, y uno en un paquete de programación lineal entero que luego abandoné para D cuando descubrí que no me daría la respuesta correcta a pesar de lo que se cree que son restricciones codificadas correctamente.
J es, en el fondo, un lenguaje matemático, y se adapta bien a la mayoría de los problemas de Euler, por lo que simplemente acurrúquelos y hágalos, buscando en el sitio jsoftware.com cuando Necesito, es lo mejor que puedes hacer.
- 1. Aprendiendo GWT
- 2. Aprendiendo Java
- 3. Aprendiendo LINQ: QuickSort
- 4. Aprendiendo WPF y MVVM
- 5. Aprendiendo el framework Django
- 6. rieles Geocoder - Aprendiendo
- 7. Aprendiendo C# en Mono
- 8. Aprendiendo Curvas de Rubí
- 9. Aprendiendo Javascript vs. jQuery
- 10. Aprendiendo C++ ¿verdad?
- 11. Aprendiendo PyQt rápidamente
- 12. Aprendiendo gcc internals
- 13. Aprendiendo a usar Subversion
- 14. Prólogo: Aprendiendo por ejemplo
- 15. Aprendiendo HTML 5
- 16. aprendiendo OO con PHP
- 17. Aprendiendo F # - imprimiendo números primos
- 18. Aprendiendo Java EE, jboss, etc.
- 19. Aprendiendo a usar VBOs correctamente
- 20. Aprendiendo a comprender plyr, ddply
- 21. Aprendiendo C++ sin un IDE
- 22. Aprendiendo Clojure proveniente de Lisp
- 23. Aprendiendo Clojure sin Conocimiento de Java
- 24. Aprendiendo C desde un fondo en C#
- 25. aprendiendo los niveles inferiores de informática
- 26. Aprendiendo C correctamente: sí o no?
- 27. Aprendiendo Ruby de Python; Diferencias y similitudes
- 28. Aprendiendo ASP.NET MVC en Mac OS X
- 29. Aprendiendo OO para un programador en C
- 30. Aprendiendo C# como programador de VB.NET
@Mark: Compiled C miró en un visor hexadecimal no tiene mucho sentido tampoco, pero hay una lógica en ese lío de todos modos. – MPelletier