I am beginning a new project that requires a nicely refined user interface but also requires portability between Windows and Linux. I am unsure about which way to go about this though, my choices seem to be:
Use c/c++ and a cross platform toolkit such as QT
Benefits are I already use c/c++ and just need to learn the QT library
Write the whole project in Java
Benefits are its the same code for every system but I'm new to Java
For some background the project requires access the the systems sound card and the ability to talk to a USB connected device. The device has drivers for Win/Linux/Mac with a uniform API on each platform but I'm worried that if I use c/c++ as the core program I will need to compile three different versions with subtle changes such as device initialization.
Where should I focus my efforts?