title: Fast (in means of developer time) way to use a lot of C++ code from Java
body: <p>Background: We are designing a physics app, that will do a lot of data analysis, but our focus is integrating physical electronic equipement.  </p>
  
  <p>Basically I would like to be able to call <a href="http://en.wikipedia.org/wiki/ROOT" rel="nofollow noreferrer">root</a> (it's a big data analysis library from CERN written in C++) library written in C++ library from Java. Basically ability to use ROOT classes from Java (and doing it without losing much time to code JNI wrappers) is a showstopper to us (if it will be hard, most probably we will be using Qt). </p>
  
  <p>I can think of following methods</p>
  
  <ul>
  <li>JNI - as I said - we dont want to write wrappers for every class. . . </li>
  <li><a href="https://github.com/twall/jna/" rel="nofollow noreferrer">JNA</a> - JNA doesnt provide C++ mappings, but only C. </li>
  <li><a href="http://www.swig.org/tutorial.html" rel="nofollow noreferrer">SWIG</a> - I didn't use it, but heard it's hard to use. </li>
  </ul>
  
  <p>Other things that may be revelant: we have access to root source code, but we dont want to change it. We want results to be portable. We would like to stick to free libraries. 
  And as I said - we would be able to use much of the ROOT code from the beginning, without fuss. </p>