# 2012 - [Julia](http://julialang.org)

<!-- language-all: lang-rb -->

###Language History

Julia was developed in 2012 by Jeff Bezanson, Stefan Karpinski, and Viral Shah while they were students at the Massachussets Institute of Technology (MIT), as well as Alan Edelman, a professor at MIT. They were motivated by a desire for a programming language that was open source, fast, and dynamic (among many other things) while maintaining ease of use in a variety of applications. The product was Julia, a fresh approach to high performance scientific computing.

###"Hello, World!" Variant

    println("Julia was made in 2012!")

Printing to stdout in Julia is quite simple!

###ASCII Art N

    function asciin(n)
        if n == 1
            println("N")
        else
            println("N" * " "^(n-2) * "N")

            for i = 2:(n-1)
                println("N" * (i > 2 ? " "^(i-2)*"N" : "N") * " "^(n-i-1) * "N")
            end

            println("N" * " "^(n-2) * "N")
        end
    end

The code is indented for readability, but Julia imposes no restrictions on whitespace like Python. String concatenation is performed using `*` and string repetition with `^`.

###GCD

    function g(a, b)
        while b > 0
            a, b = b, a % b
        end
        a
    end

Using syntax akin to Python, you can assign two values at once using commas. The last thing listed in the function is implicitly returned, so putting `a` at the bottom has the same effect as `return(a)`.