Working with the OS and pipelines
Up to now, we have been discussing ways for Julia to operate with other programming languages.
For C (and Fortran), this was relatively straightforward, as Julia was designed with a mechanism to interface directly with shared libraries (aka DDLs on Windows). So, any system that effectively operates via a shared library is immediately available to Julia.
This means that graphics frameworks, database management systems (DBMS), and so on can all be made (more or less) easily accessible, and several successful packages have been implemented whose code depends on (and requires the installation of) third-party libraries.
These have been termed wrapper packages, as opposed to “native” ones, written purely in Julia. In practice, many packages are often a combination of both paradigms rather than being principally one or the other.
For some other languages, notably Python, R, and Java, effort was expended on creating usable interface...