Por qué el software de Eclipse está escrito en Java?

Si miramos la cuestión puramente desde un punto de vista técnico orientado al lenguaje, ¿cuál sería la alternativa?

En el momento de los orígenes del proyecto Eclipse, C# no existía. Podría decirse que todavía no es lo suficientemente multiplataforma como para soportar una funcionalidad de Eclipse prácticamente idéntica y completa en todas las plataformas en las que se ejecuta Eclipse en la actualidad.

Visual Basic, un popular lenguaje de desarrollo de aplicaciones de propósito general en ese momento, habría sido viable pero era de una sola plataforma -Windows-, así que está descartado. Lo mismo ocurre con un popular (en su momento) competidor de Visual Basic, Borland Delphi.

Ahora, Delphi ha desaparecido esencialmente y Visual Basic .NET tiene las mismas limitaciones que C#.

Tal vez Python podría haber sido -o podría ser ahora- utilizado. Pero mientras que un lenguaje de tipado dinámico es genial para proyectos pequeños y ligeros, se convierte rápidamente en una carga para proyectos grandes. La naturaleza auto-documentada de las declaraciones de tipo explícitas es una gran ayuda en proyectos grandes, particularmente cuando se desarrolla en equipo.

Y Python es bastante lento comparado con Java.

C++ ciertamente habría sido - y podría ser ahora - un candidato. Es compatible con la interfaz de usuario multiplataforma y otras bibliotecas, y es lo suficientemente potente y está tipado estáticamente, pero tiene numerosas aristas y "trampas" que pueden ralentizar el desarrollo y dar lugar a un software frágil y poco fiable. De hecho, esos son algunos de los problemas que motivaron el desarrollo y la promoción de Java en primer lugar.

Casi cualquier otra opción de lenguaje es más oscura, y por lo tanto tiene menos opciones de biblioteca junto con otras limitaciones potenciales. Sólo unos pocos -como tal vez Haskell- tendrían una oportunidad, pero están todos lo suficientemente fuera de banda en términos de desarrollo de propósito general que probablemente ni siquiera habrían sido -o serían- considerados.

Así que realmente no había nada más adecuado cuando se inició el proyecto, y todavía no hay ninguna alternativa real - excepto tal vez otros lenguajes JVM (y compatibles con Java) como Kotlin o Scala.

Así que si el objetivo es producir un IDE a gran escala, extensible y multiplataforma, ¿qué otra cosa usarías excepto Java?