In teoria puoi fare tutto quello che vuoi utilizzando qualsiasi linguaggio di programmazione, quello che cambia, cosa che mi sono dimenticato di dirti prima, non sono i programmi che possono essere fatti, ma le caratteristiche tecniche del linguaggio ( prestazione e altro..).
Ad esempio: il c e c++, a livello di prestazione rispetto al vb.net gestisce meglio le risorse hardware, mentre, il java, rispetto a prestazione credo sia come il c e c++, in'oltre, come già detto è multi piattaforma ( gira su più dispositivi ), ovviamente il dispositivo richiede una sua versione della JVM, il'oltre java ha una sua versione utilizzata (
Java EE ) utilizzata nell'ambito lavorativo, commerciale, mentre quella che usi normalmente per i vari sistemi operativi è la versione standard del java (
Java SE ).
Detto questo, la scelta di quale linguaggio utilizzare per programmare dipende, no da cosa dovrebbe fare il programma, ma da quale caratteristiche tecniche dovrà avere, ad esempio, se sto programmando un gioco con grafica 3d o un programma di grafica ( ad esempio photoshop o 3d studio max ) non utilizzo il vb.net, visto che a livello di prestazione non è un gran che
, e se il gioco lo dovrei, ad esempio, sviluppare per un cellulare con sistema Android dovrei programmare necessariamente in java.
Quello che sto dicendo, nessuno di vieta di fare questo gioco in vb.net o in qualsiasi altro linguaggio, a te sta la scelta, quello che cambia solo solamente le caratteristiche tecniche del linguaggio in qui lo si programma.
Spero di essermi spiegato bene questa volta, per il resto dovresti fare esperienza tu stesso, per poter verificare tu stesso le caratteristiche tecniche di ogni linguaggio.