Emma Boudreau
2 min readMay 25, 2020

--

1. GPU support is tightly integrated into Julia's base, meaning CUDA is supported with types and methods that are already in the language to start with. When working with Vulkan, for example, you would use the type CuArrays which is included with the Julia base, so it is well integrated to work will GPUs just from the binaries.

2. C# and Swift are both proprietary solutions and are far slower than Julia.

3. Rust is a great language, but Julia is about the same speed (faster in some ways, slower in other ways) while having syntax akin to Python.

4. As I just stated, the syntax is a lot like Python's syntax, so it is fairly easy to get something up and running in Julia.

5. Dispatch is one of Julia's defining features, and often different types from different modules made by different people will use the same methods, and just use type dispatch -- so in other words you end up using rather similar methods for nearly every library in the language.

6. Julia also has support for syntactical expressions, which means that an = sign is a very powerful tool, much more powerful than it is in any other language I have ever used. You can use it to set nearly anything equal to anything. This is actually how dispatch works, we set the two methods equal to eachother whenever a parameter is of a certain type. Additionally, you can do things like f(x) = x += 5, and then call f(x). You could also do something like hello(param) = println(param) ()->(hello) and then call on that and make a type with the hello method as a child (basically make it duck-type like CPP or Python) d.hello("examp"). This is a poor example of this, but there is another example linked in the article below. So to recap:

- Speed - https://julialang.org/benchmarks/

- High-level syntax

- Syntactical Expressions - https://towardsdatascience.com/syntactical-expressions-are-awesome-dc9ba5f25911

Thank you for your comment :)

--

--

Emma Boudreau
Emma Boudreau

Written by Emma Boudreau

i am a computer nerd. I love art, programming, and hiking. https://github.com/emmaccode

Responses (1)