Using and working with abstraction to do interesting things with the Julia language
introduction
One of the things I find fascinating about the exploration of different programming languages is the way that different paradigms solve different types of problems. In programming, there are a number of features that might be expected from a modern programming language. Some examples of these features include things like scope, polymorphism, and abstraction. Some paradigms are going to have more prominent applications in certain fields, and Data Science is no exception. These features are all implemented across the spectrum of programming paradigms using a multitude of different approaches. This subject becomes even more interesting to me whenever a language with a paradigm that is atypical implements these types of generic programming concepts. This brings us to the Julia programming language.
The Julia programming language is one of the more interesting developments that has come to the world of programming in recent years. The world of programming is quite used to a few choice paradigms that have been honed over the decades to create some very formidable ideological approaches to solving programming problems. While Julia pulls a lot of more generic programming concepts to get the job done, the language’s paradigm itself is incredibly unique and often brings about a different way of doing things. This has been coined the Multiple Dispatch programming paradigm. This paradigm is a very effective programming paradigm when it comes to doing exactly what Data Scientists do.
With this type of programming paradigm relationship, Julia changes its gears a bit to accomplish a lot of the more generic programming concepts that most programmers are going to want to use. There are a multitude of capacities where this plays out all across Julia. All of these concepts feed back into the robust capabilities of the multiple dispatch paradigm. For experienced programmers, I find this can be an incredibly powerful paradigm! That being said, with any paradigm it is important to know what tools are available to take advantage of. One example of a technique that fits very well into the Julian paradigm is the Julian implementation of…