We are a company, developing an IoT multiprotocol gateway. Now we have to decide whether we are going to use Java or C++ as core language for the gateway. The gateway is running OpenWrt and offers JamVM as Java virtual machine.
We already made a little comparison between the two programming languages. C++: good performance (but not going to do complex calculations), error prone, lots of good libraries available, less familiar than Java. Java: (maybe less performance?), no errors with memory management, very familiar with.
We tend to use Java, because the development time is an issue and when all development environments are setup, in our opinion we can develop much faster in Java.
Some libraries/components we know we need to start with:
- TCP/IP connections
- UART communication
- Bluetooth communication
The first questions that come up is, if it’s wise to use Java or can you see other issues that can be a big problem?
- Last update of JamVM to 2.0.0 was in july 2014? What do you think of the development? Is this a dead project or are updates not necessary because it’s using OpenJDK?
- Can we except support for JamVM? Is this software widely used or are better alternatives available?
- Does anyone have experience in terms of stability of JamVM?
- Are there any other pro’s and con’s for using JamVM?