Summary
In this chapter, we have discussed three aspects of Julia that serve to make it stand out from other scripting languages.
First, we looked at the idea of multiple dispatch. This is a relatively new paradigm within object-oriented programming, very different from the more common polymorphic/inherence one, which uses a single dispatch method. The advantage we saw was that it permitted Julia to compile specific, compact, well-optimized code, and in addition, when coupled with delegation, meant that there was no need to implement routines for (say) array operations, broadcasting, and so on.
Secondly, we discussed homoiconic representations of the Julia code, in terms of symbols and expressions and how these can be instanced and then evaluated as part of the running process. This leads to a system for creating macros that can inject code into the program, which stands in place of (often) considerable boilerplates.
Finally, we saw how Julia “knits” all these...