Cualquier lenguaje que se adapte al propósito de su aplicación servirá, pero creo que el más común en casos como estos es Java. Esto es por varias razones:
- Portabilidad: Java se ejecuta en la JVM, que se puede instalar en cualquier lugar
- Velocidad: Java es un lenguaje compilado, y la JVM (intérprete de código de bytes) es bastante eficiente
- Facilidad de uso: si bien puede no ser tan fácil como Ruby o Python, Java no es tan complicado de usar como C / C ++
- Disponibilidad de frameworks / bibliotecas: en la web usará J2EE y contenedores de servlets y bibliotecas asociadas. Todas las bibliotecas asociadas están empaquetadas con su aplicación y también se pueden usar sin conexión para la aplicación instalada.
- Seguridad: aunque es posible (algo) descompilar Java, puede sentirse tranquilo por el hecho de que su código no es inmediatamente visible para los consumidores, como podría ser con Ruby / Python