Существует NO действительно кроссплатформенный язык или методика. Да, Java и Python могут обеспечить некоторую абстракцию над платформой ... Но все застряло, если только вы добавите ":" к своему имени файла.
Я имею в виду, что создание программного обеспечения, которое действительно работает на многих платформах, FAR больше, чем выбор между Java, C # и C ++. Если бы кто-то разработал такое программное обеспечение, меня бы поняли ...
С Mono НЕТ проблем, если вы рассматриваете Mono как целевую платформу с самого начала. Большинство проблем с моно происходит, когда что-то уже написано в .NET и никогда не предназначалось для запуска на моно. В этом случае могут возникнуть проблемы. Если вы помните Mono с самого начала, это все равно отличная платформа.
Как то, что здесь еще не было предложено, я могу сослаться на вас, использующего Python с Glide в качестве кроссплатформенного решения для создания приложений с графическим интерфейсом.
Или вы можете увидеть систему Vala GObject. Какой синтаксис действительно похож на C #.