Julia-lang
El lenguaje de programación que vamos a utilizar es Julia.
Julia es un lenguaje de programación creado específicamente para programación científica, cuya promesa inicial fué desarrollar un lenguaje tan rápido como si fuera programado en C y tan fácil de desarrollar como si se estuviera programando en Matlab.
Al final creo que el lenguaje a madurado por su porpia cuenta y actualmente, si bien su uso es reducido, ha ido cobrando importancia en programación científica (en particular para problemas de modelado), gracias a que tiene un manejo realmente sencillo del paralelismo. Cabe recordar que Julia es uno de los lenguajes que dió origen a jupyter y se considera como uno de los 3 lenguajes diseñados para Ciencia de Datos.
Por otra parte el lenguaje es relativamente fácil de aprender y los desarrolladores se han mantenido muy estrictos en cuanto a la consistencia del lenguaje. El lenguaje toma ideas de matlab (como numpy) y R (como pandas), pero tambien tiene mucho inspirado en scheme (como el manejo de macros). Su método de manejo de tipos dinámicos combinado con tipos estáticos (a través de funciones abstractas) es muy interesante.
La primer versión estable de Julia (versión 1.0) fue liberada en agosto de 2018. Los participantes del curso decidimos desarrollar las libretas de entrenamiento desarrolladas por la compañía Julia Computing Inc. que es la compañía privada lider en desarrollo basado en Julia. Estas libretas está desarrollaras en Julia 0.58, por lo que tanto los tutoriales como los ejercicios hay que modificarlos un poco para ajustarse a la versión 1.0 de Julia.
El fork de las libretas mio se encuentra aquí.
Recursos útiles para Julia
Lista de libretas por participante
Para poder evaluar el avance de cada uno (y comparar formas de resolver problemas, anexo un enlace al proyecto de github con la solución de las libretas por cada participante del curso:
Nombre | Libretas |
---|---|
Belen | https://github.com/chasil7/topicosIA |
Adrián | https://github.com/adrianEVI/Topicos-IA/tree/master/notebook-julia/intro-to-julia |
Fernando | No cuento con información |
Ivan | https://github.com/rexemin/Topicos-IA-UNISON |
Ricardo | https://github.com/RicardoHE97/TopicosIA-Unison |
Giovanni | No cuento con información |