Diciamo che sono un programmatore teorico che cerca un linguaggio di programmazione multipiattaforma, quali sono le mie opzioni. Questa lingua deve soddisfare questo elenco di requisiti:
-
Non deve richiedere all'utente di installare programmi o runtime aggiuntivi (chiarimento: non mi dispiace collegare librerie ecc. Se posso comprimerle con l'applicazione.) Il programma non deve richiedere all'utente di installare nulla per essere in grado di eseguire il mio gioco. Fondamentalmente voglio solo che l'utente sia in grado di scaricare il mio programma ed eseguirlo immediatamente fuori dalla scatola.)
-
Esegui su Mac, Windows e Linux
-
Deve compilare fino a un eseguibile, o il runtime essere impacchettato con l'eseguibile (es. come Love2d consente ai programmatori di Lua di creare eseguibili, incorporando il runtime nell'eseguibile.) Le dimensioni più grandi e la velocità più bassa sono problema però, quindi la maggior parte delle persone eviterebbe.
-
Gratuito (come nella birra)
Preferibile ma non del tutto necessario:
-
Gratuito (come nel parlato)
-
Può essere utilizzato anche per programmare app mobili (Android e iOS).
-
veloce
-
Dimensioni eseguibili di piccole dimensioni.
-
Maturo e stabile (come nella sintassi e gli strumenti che lo circondano)
Quindi che ne dici? Se un programmatore vuole creare un programma che soddisfi questi parametri, C e C ++ hanno le loro uniche opzioni? Java soddisfa questi requisiti ma richiede l'installazione dell'ambiente di runtime (non è vero?). Ci sono delle lingue là fuori che soddisfano questa nicchia? Non necessariamente alla stessa maturità di C e C ++.
* Modifica: non sono d'accordo con questa domanda che viene messa in attesa, non sto chiedendo quale lingua assumerò successivamente, che è fuori tema e soggettiva. Mi sto chiedendo in particolare quali sono le lingue che soddisfano questi requisiti, che non sono soggettive. Non sto nemmeno creando un sondaggio, sto chiedendo specifici pezzi di tecnologia che soddisfano questo elenco di requisiti. Il Centro assistenza suggerisce di lasciare un commento qui per riaprirlo, quindi sarebbe possibile riaprire questa domanda per la discussione?