Lately I was reading about two languages that looks of high value:
Julia
Julia is a high-level, high-performance dynamic programming language for numerical computing. It provides a sophisticated compiler, distributed parallel execution, numerical accuracy, and an extensive mathematical function library.
Syntax is some how easy similar to Python, and performance comparable to C.
Rust
systems programming language. won first place for "most loved programming language" in the Stack Overflow. It is designed to be a "safe, concurrent, practical language". Rust is syntactically similar to C++, but is designed for better memory safety while maintaining performance.
Based on that I could see that Julia could be of much value in developing Bioinformatics tools supporting both high performance and short developing time. also Rust could support better memory usage.
Do anyone have experience in either of these language?
Is it encouraged for beginners to learn Julia instead of Python?
Is there a possibility for bioinformaticians to migrate from Python to Julia?!
The problem with new languages is the lack of libraries. Julia wasn't mature enough for my needs when I wanted to use it. However, Julia seems an improvement over the mess that R is but then it doesn't have the convenient Bioconductor packages. In the end, programming languages are just tools so you just need to use what fits the requirements of the task at hand.
Julia has been buzzing around for a few years now. At some point, I remember Douglas Bates (developer of lme4, among many other packages) saying he was dropping R (mainly due to having to support Solaris, but also for performance and difficulty of integrating C or C++ and R) in favour of Julia - I didn't follow the issue and don't know if he ever really dropped R.
There is an apparently active BioJulia project, and I have seen some developers starting (but not finishing yet) ports of their old code to Julia.
Anyway, I am really terrible at making predictions, so I will spare you on mine.
as you said there is some activities in developing mature BioJulia and It is really promising, but the issue will it continue?!
If I would have a few more hours per day I would learn Julia - but days appear limited at 24h. It definitely looks interesting.
Is there something which could be done only with Julia and NOT with Python?
Is Julia considerably faster than Python?
Is Julia/ Rust really easy to learn or whether the transition from Python to something other is smooth?
If answers are "YES" then it should be considered.
PS: Even I don't know much about Julia or RUST and I am as curious as you. May be the experts will shed some light.
AFAIK: No-Yes-Yes
But nicely written Python code will always beat shitty Julia code, obviously.
actually Julia code is not that hard, and the idea behind Julia to avoid writing prototype code then rewrite it in more efficient language (that would be the case with Python, with respect to Cython and PyPy)
Coming from R or Python Julia looks quite similar to... both. So there are probably quite some gotcha's to keep in mind too!
+1 , I strongly agree, WouterDeCoster