And on that take a look at all the interlanguage operations. I have some old notes, I wrote:
Julia is well know for its excellent Foreign Function Interface (FFI). What you might not know is that it is more than C, Fortran and Python. There are many more. In theory we could daisy chain off of those languages, to get even more. Eg using Pycall and oct2py to call octave ##.*[C, Fortran, Rust...](http://julia.readthedocs.org/en/latest/manual/calling-c-and-fortran-code/)* C and Fortran are infact supported within the core system. No 3rd Party Libary needed. It also appears to be able to call [Rust](http://paul.woolcock.us/posts/rust-perl-julia-ffi.html). Presumably it can be used to call any number of other compiled languages, so long as the follow certain conventions. *## [PyCall](https://github.com/stevengj/PyCall.jl) * Probably the most well known Julia FFI. Its great for NLTK, sklearn etc. Also useful for things like Pickle Several popular julia libraries are build around python libraries Eg: - - [SymPy](https://github.com/jverzani/SymPy.jl) is [SymPy](http://www.sympy.org) - - [PyPlot](https://github.com/stevengj/PyPlot.jl) is [Matplotlib](http://matplotlib.org/) *##[Mathematica](https://github.com/one-more-minute/Mathematica.jl)* Far less well known. I am yet to test it, but it looks real neat. It does require Mathematica, and my liscense has expired. The [Mathlink Component can be found here.](https://github.com/one-more-minute/MathLink.jl). * ##[Matlab](https://github.com/JuliaLang/MATLAB.jl) * Like the Mathematica above requires the commercial Matlab. Does not appear to support octave. *##[JavaCall](http://aviks.github.io/JavaCall.jl/) * This seems like a strange notion, Java doesn't seem like it has much use by the scientific community tht is julia's target audience. However, both Matlab and Mathematica have support for calling Java so there must be some use. CoreNLP and a few other things like that, some good datamining tools. Could be very useful depending on field. *##[C++](https://github.com/Keno/CXX.jl) CXX * used to require a custom build of Julia 0.4 with LLVM 3.7. I think that in no longer true. A few more have probably shown up there. ---- On cracking wise: It is not that there is no such that as *inane* questions, it is that there is no such thing as *stupid *questions. A stupid question (in this context) is one that demonstrates your ignorance of the answer. An inane question is one that demonstrates your ignorance of the question. On Friday, 3 June 2016 07:24:54 UTC+8, Isaiah wrote: > > I'm going to assume that there is a terminology barrier here... > > My interpretation of the question is: can we directly translate programs > from other languages? > > This is called source to source translation or compilation ( > https://en.m.wikipedia.org/wiki/Source-to-source_compiler), and the > answer is "it's complicated". > > Kevin, hopefully that terminology will give you a better start on looking > for answers -- stackoverflow probably has better treatments than I can give > regarding why this is difficult. > > On Thursday, June 2, 2016, Kevin Liu <[email protected] <javascript:>> > wrote: > >> Is there an answer somewhere here? >> >> On Thursday, June 2, 2016 at 7:54:04 PM UTC-3, Kristoffer Carlsson wrote: >>> >>> Someone taught you wrong. >> >>
