Ну, ваш источник безопасности - это проблема - как вы определяете безопасность и почему, по вашему мнению, она вам нужна?
Кроссплатформенность только с одной компиляцией - хиты только на .NET / mono и Java, оба не интерпретируются, но работают с промежуточной компиляцией какой-то виртуальной машины. Код может быть относительно легко декомпилирован, хотя и может быть запутан.
Кроссплатформенность с компиляцией для каждой платформы намного проще, с C, C ++ и многими другими, у вас есть отличный выбор. Затем вы можете следить за выбранным GUI-Toolkit и проверять языки, для которых есть привязки.