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

  1. Un acordeón para Julia 1.0

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