se vuoi programmare qualcosa esclusivamente per apple, usa xcode e swift.
se invece vuoi sviluppare qualcosa multi-piattaforma (personalmente):
- non reputo più java così tanto lento da non usarlo (a meno che non si sviluppi qualcosa dove le velocità è fondamentale)
- ma di python non parla nessuno???
per il punto 4: xcode non è un linguaggio ma un ide, e puoi sviluppare app da trasportare facilmente su altre piattaforme usando framework come apache cordova, ionic, titanium, ecc.
ma cmq, lato apple, devi usare xcode per compilare il tutto e mandarlo sull'apple store.