"I was interested in Java the beginning, but the problem with Java is you do have to switch your platform"
About this Quote
Miguel de Icaza speaks as a platform builder who was initially captivated by Java’s promise, yet wary of what developers had to give up to embrace it. Choosing Java in the late 1990s and early 2000s often meant adopting the JVM, class libraries, and UI toolkits as a complete world unto themselves. That world was powerful and portable, but it sat beside, rather than inside, the native operating system environments developers already knew. On Linux desktops, Java apps frequently used Swing or AWT, which looked and behaved differently from GNOME or KDE applications; on Windows, they deviated from native controls and conventions. The result was a sense that to use Java, you had to leave your platform’s idioms, APIs, and ecosystem behind and commit to a Java-centric stack.
De Icaza spent his career trying to reconcile modern languages with native integration. With Mono and later Xamarin, he championed C# and .NET as a way to get managed code, productive tooling, and cross-platform reach while still binding directly to each platform’s APIs: GTK# on Linux, Cocoa on macOS, native UI toolkits on iOS and Android. Instead of abstracting away the platform, his approach let developers share language and business logic without discarding the platform’s identity. The critique, then, is not that Java is weak, but that its original model asked developers to switch contexts: packaging, deployment, look-and-feel, performance characteristics, and even legal and governance issues under Sun’s stewardship.
History softened some of these boundaries. OpenJDK reduced licensing friction, SWT and other toolkits improved native fidelity, and Android popularized Java-like development with platform-specific APIs. Still, the tension de Icaza highlights remains relevant: developers value portability, but they also value deep, idiomatic integration. His work argues for a middle path where language and runtime are shared, yet the platform is not an afterthought.
De Icaza spent his career trying to reconcile modern languages with native integration. With Mono and later Xamarin, he championed C# and .NET as a way to get managed code, productive tooling, and cross-platform reach while still binding directly to each platform’s APIs: GTK# on Linux, Cocoa on macOS, native UI toolkits on iOS and Android. Instead of abstracting away the platform, his approach let developers share language and business logic without discarding the platform’s identity. The critique, then, is not that Java is weak, but that its original model asked developers to switch contexts: packaging, deployment, look-and-feel, performance characteristics, and even legal and governance issues under Sun’s stewardship.
History softened some of these boundaries. OpenJDK reduced licensing friction, SWT and other toolkits improved native fidelity, and Android popularized Java-like development with platform-specific APIs. Still, the tension de Icaza highlights remains relevant: developers value portability, but they also value deep, idiomatic integration. His work argues for a middle path where language and runtime are shared, yet the platform is not an afterthought.
Quote Details
| Topic | Coding & Programming |
|---|
More Quotes by Miguel
Add to List




