Primeros pasos con Julia (2ª parte – ¡Hola Julia!)

Publicado el 16 julio 2020 por Daniel Rodríguez @analyticslane

El último día hablamos instalado Julia en nuestro ordenador y creado el primer programa. Hoy vamos a dar nuestros primeros pasos con Julia.

Variables en Julia

Para definir una variable en Julia solamente hay que asignar un valor al nombre de esta. No es necesario usar ninguna palabra reservada para crear la variable, ni indicar el tipo de variable que se desea crear. Al igual que muchos lenguajes de script solamente hay que asignar un valor mediante el operador de asignación (=).

variable = 10

Tal como se muestra en el ejemplo no es necesario escribir punto y coma, ni ningún otro símbolo para indicar el final de una línea.

Los nombres de variable tienen la mayoría de las limitaciones estándares. No es posible que esto coincidan con ninguna palabra reservado por el lenguaje, no pueden comenzar por un número y no pueden contener signos que sean operadores. Aunque, a diferencia de otros lenguajes más antiguos, puede usar cualquier símbolo Unicode dentro de los nombres de las variables. No estando limitados únicamente a los símbolos estándares del alfabeto inglés.

Unicode

El uso de Unicode puede parecer a primera vista una curiosidad, pero es algo que puede mejorar la legibilidad del código. En primer lugar, podemos usar el alfabeto griego para designar variables constantes. Algo que por ejemplo es lo que se usa para constantes como pi, a la que se puede acceder simplemente escribiendo su símbolo

π

No solo esto, sino que es posible usar acentos o ñ en el nombre de la variable sin que nos de ningún problema

peña = 12

Algo que se puede extender a cualquier símbolo, por ejemplo, se puede usar el símbolo del tren (🚋) para representar al precio de un billete y el de una persona pera el número de personas (👨). Lo que nos deja un código bastante sencillo de leer.

🚋 = 10
👨 = 3

Posiblemente, es una funcionalidad de Julia que usaremos poco, aunque con el tiempo puede ser algo realmente interesante.

Acceso a los símbolos Unicode en Julia

Los símbolos Unicode generalmente no se encuentran en el teclado, por lo que acceder a ellos puede parece algo complicado. Nada más lejos de la realidad, para acceder cualquier símbolo Unicode en Julia solamente se tiene que escribir una barra seguida de dos puntos, el nombre del símbolo en inglés, seguido de otros dos puntos y pulsar tabulador. Así para acceder al símbolo del coche (🚗) solamente se tiene que escribir \:car:, para acceder al de una manzana (🍎) \:apple:.

Asignaciones múltiples en Julia

En una única línea se puede asignar más de una variable simplemente separando los nombres y valores por coma. Lo que nos ofrece la posibilidad de hacer cosas como

a, b = 5, 3

Asignando el valor 1 a a y 3 a b.

Operaciones matemáticas en Julia

Los operadores matemáticos y la prelación de estos con los que se cuenta en Julia son similares a de otros lenguajes. Entre los que podemos destacar la suma (+), resta (-), multiplicación (*), división (/), potenciación (^), división entera (//) y resto de la división entera (%).

Además de estos también tenemos la división inversa (\), lo que nos permite cambiar el orden del divisor y dividendos. Esto es, una división se puede escribir de dos maneras x/y = y\x.

Operadores de actualización

Una tarea habitual a la hora de trabajar con variables es la actualización de los valores. Por ejemplo, sumar una unidad. Para esto Julia cuenta con los operadores se actualización que nos permiten escribir menos código. Estos operadores no son más que el operador normal seguido de seguido del símbolo se asignación. Así podemos incrementar el valor de una variable mediante +=. Esto es

var += 5

Es equivalente a

var = var + 5

Comentarios en Julia

El símbolo para denotar comentarios en Julia es la almohadilla (#). Cualquier cosa que se escriba después de un símbolo de almohadilla será ignorada por el intérprete del lenguaje. Lo que puede ser tanto una línea entera como parte de ella.

# Esto es un comentario
var = 12  # Asignación del valor 12 a var

Trabajar con numero complejos

Julia tiene la capacidad de trabajar con números complejos sin la necesidad de agregar complementos. La parte imaginaria se denota con un número seguro de im. Así un número complejo no es más que

complejo = 12 + 3im

Pudiendo trabajar con ellos de manera normal. Por ejemplo, podemos elevar un numero al cuadrado para ver qué im^2 es -1. Otros ejemplos que podemos ver son:

10 + 3im)^2 # 91 + 60im
10im^2 # -10 + 0im

Control de flujo de ejecución con if

El control básico de flujo de ejecución se puede hacer con la palabra if seguido de una condición. Cuando esta es cierta se ejecutará el código hasta que aparezca la palabra clave end o else. En caso la condición sea falsa se ejecutará el código, en caso de que exista, después de else o el que se encuentra después de end. El código entre else y end solamente se ejecutará si la condición es falsa. Lo que es el comportamiento típico de if.

if condition
    # Código caso verdadero
else
    # Código caso falso
end

Con esto podemos ver que los bloques de código se delimitan con la palabra reservada end. Una sintaxis que será familiar para aquellos que tienen experiencia con Matlab.

Cuando necesitamos evaluar más de una condición, simplemente se puede usar la instrucción elseif, condición que se evaluará solamente si el if anterior es falso. Pudiendo incluir tantos elseif como sean necesario según la lógica del programa.

if letra == 'a'
    println("La letra es a")
elseif letra == 'b'
    println("La letra es b")
elseif letra == 'c'
    println("La letra es c")
else
    println("La letra es otra")
end

Operadores lógicos y de comparación

Los operadores lógicos que tenemos disponibles en Julia son los estándares que podríamos esperar. Partiendo del operador y (&), o (||) y no (!).

Por otro lado los operadores de comparación son: igualdad (==), no igualdad (!=), mayor que (>), menor que (<), mayor o igual que (>=) o menor o igual que (<=). Aunque la posibilidad de usar Unicode nos permite reemplazar algunos de estos por versiones más compactas: no igual ( , se puede obtener mediante \ne), mayor que ( , se puede obtener mediante \ge) y menor o igual que ( , se puede obtener mediante \le).

Primeras pasos con Julia

Al dar los primeros pasos con Julia se puede ver qué es un lenguaje sencillo. Especialmente para los que tenemos experiencia con Matlab, ya que la sintaxis es muy similar a este.

Otra cosa que se observa es la posibilidad que nos ofrece poder trabajar con Unicode. Pudiendo crear código más compacto y fácil de leer, ya que estos símbolos se pueden usar en variables y operadores lógicos que tradicionalmente era necesario indicar con varios caracteres. Aunque si no nos acostumbramos también se puede usar los operadores clásicos.