Kısa cevap: hayır.
Java ikili bir çalıştırılabilir dosya oluşturmaz, yalnızca C # 'ın (CLI) yaptığı gibi bayt kodu oluşturur ve bu, iki ana nedenden ötürü "açık ortamlarda" ciddi işler için iyi bir şey değildir:
- tersine çevirmede tuzağa düşme olasılığı çok yüksektir, özellikle Java gibi eski ve gerçekten iyi bilinen dillerde
- makine performansları üzerinde tam kontrole sahip değilsiniz, Java durumunda JVM tam kontrolü ele almakta büyük rol oynar.
Tabii ki her dilin kendi kütüphaneleri var ama her dil için büyük miktarda olması nedeniyle bu gerçek bir sorun değil ve bu konunun amacı olduğunu düşünmüyorum.
Belki profesyonel düzeyde, tüm C # ifadelerini gerçek bir dünya makinesi için montaj koduna çevirebilen bir dev-Kit gibi kuralı kırabilecek bir şey bulabilirsiniz, ancak bu tür bir yaklaşım kartlarda değilse pratik olarak zorlanırsınız Ürününüzü açık bir ortamda satmayı amaçladığınızda, yalnızca C ve C ++ 'ı geliştirmeniz için düşünün.
Mobil cihazlar için işler biraz farklı çünkü gerçek ortam ROM'larının kaynağının genellikle halka açık olmadığı göz önüne alındığında Android bile pratik olarak kapalı, Android açık kaynak olarak kabul edilebilir, ancak 99 Gerçek cihazlardaki ROM'ların% 'si değil. Bu durumda çok fazla tartışamazsınız, her şey sizin için zaten ayarlanmıştır ve herkesin bildiği gibi her platformun kendi dili vardır.
Sonunda bu ürünleri açık bir ortamda satacaksanız, sadece derlenmiş ve ikili / montaj kodu üretebilen diller önerebilirim, kapalı ortamlarda kararın farklı nedenlerle yapılması daha kolaydır.