FredHutch/Oncoscape

Java instead of R

Opened this issue · 5 comments

For the backend, have you guys considered moving over to a language like Java instead of R? Especially since you're already refactoring the backend, it seems to make sense to switch to a much higher performance language like Java.

Additionally, most developers work in Java, C++, Ruby, etc. If you're trying to attract engineers to improve your project, R doesn't make a lot of sense.

@sethfri The decision to use R for the data processing was driven by the large number of available computational biology libraries. Recently we moved away from using R as the primary web interface and in the Development branch there is now a NodeJS proxy, web and proxy servers. We are very much interested in supporting additional backend programming languages and intend to use Node's ability to import C++ modules and/or Sockets to accomplish this. It would be great to know what language you favor and work together to get make it accessible in Oncoscape.

The only point I see on Java usage would be compiling Oncoscapse as a universal framework for JVM instead of an analysis website frontend. In any case, there's a project that can handle R and Java coexistence: https://github.com/s-u/rJava
I haven't tested it myself (I have no knowledge in R) but may worth if we ever need to extend Onco.

Maybe later, we can think about change the structure of backend to microservices. That way we can choose the better language to each problem. If someone wants to help us programing in haskell or goLang will be possible.

@igordcsouza - agreed, we want to use the best tool for the given problem/question at hand. Is there a particular application you had in mind for using haskell or goLang?

Not really, was just a example. I'm new in the project, for now i just am reading the docs and trying to understand how the things really works. Maybe in a couple weeks i can do some contribution bigger than simple docs corretion. :)