// guess the programming language of the day

$ whois julia

Julia

first released in 2012 · by Jeff Bezanson, Stefan Karpinski, Viral B. Shah, Alan Edelman

$ guessprog --inspect julia

year
2012
paradigm
multi paradigm
family
other
memory
automatic gc
binding
dynamic
safety
strong

JULIA(7)

AUTHORS
Jeff Bezanson, Stefan Karpinski, Viral B. Shah, Alan Edelman
HISTORY
Jeff Bezanson, Stefan Karpinski, Viral B. Shah and Alan Edelman started Julia in 2009, with much of the early work done at MIT. They announced it publicly in 2012 with a blog post titled "Why We Created Julia", describing themselves as "greedy": they wanted the speed of C with the ease of Python, R and MATLAB. Julia tackles this "two-language problem" with just-in-time compilation via LLVM and multiple dispatch as its core paradigm. Version 1.0 was released in 2018.
USAGE
Julia is a niche but well-established language for scientific and numerical computing, used in research, climate modelling, pharmaceutical modelling and optimisation. Its user base is much smaller than Python's but strong in technical computing.
SEE ALSO
Julia on Wikipedia ↗
$ cat shapes.jl
abstract type Shape end
struct Circle <: Shape
    r::Float64
end
struct Square <: Shape
    side::Float64
end

# Multiple dispatch: one method per argument type
area(c::Circle) = π * c.r^2
area(s::Square) = s.side^2

shapes = [Circle(1.0), Square(2.0)]
println(sum(area.(shapes)))    # broadcasting with the dot