Jeremy Heckt's Blog

Things I Find "Just Neat" About The Julia Programming Language

Marge Simpson holding an object and saying "I just think they're neat"

I have been learning the Julia programming language recently and I wanted to take a bit of time to just show some things that I found neat about the language. I may update this over time as I learn more!

I really recommend the book Practical Julia by Lee Phillips, at least one of these examples came from there.

Neat Stuff

  • Environment variables are very easy to get
# export MY_ENV_VARIABLE=1234

my_var = ENV["MY_ENV_VARIABLE"]
print(my_var)

## 1234
  • Accessing the last item in an array has a keyword
a = [1,2,3,4]
print(a[end])

# 4
  • You can use numbers next to variable names to do multiplication. Use this one at your own risk, lest you introduce ambiguity!
w = 2
print(2w)

# 4
  • You can use rational numbers (fractions) if you wish. This even handles type promotion.
print(1//2 + 1//3)

# 5//6

print(1//2 + 1//2)

# 1//1

print(1//2 + 0.5)

# 1.0
  • You can index matrices using arrays. This was weird when I first saw it, but it is neat. You will get a vector back instead of a matrix if the results are 1-dimensional.
m = [11 12 13 14; 15 16 17 18; 19 20 21 22;]

m[2, [2, 3]]

# 16 17 -- Vector

m[[1, 2], [3, 4]]

# 13 14
# 17 18 -- Matrix
  • Functions can iterate over an array with the dot notation
m = [2, 4, 6]

function double(x)
  return 2x
end

double.(m)

# 4, 8, 12