Я уже говорил про кроссплатформенность и еще раз скажу. Не было её нормальной никогда, нет и, боюсь, никогда не будет. Хоть жава, хоть плюсы, хоть обычные си, хоть дотнет, хоть делфи/кайлкс - один хрен, нормально работать на всех платформах не будет.
Максимум, что специально под нужные платформы заточат, но тогда нафига счастье?
И то, что говорят, мол - вот си - кроссплатформенный, жава - кросплатформенная, а делфи - нет - полная лажа, все - нет, и кто сталкивался, прекрасно это знает.
не бывает 100% переносимости - факт
НО когда встаёт задача и код переносить надо (и/или) использовать часть кода другого проекта,
написаного под другую платформу - код всё таки переносят
и тогда оказывается, что бывает легко и сложно переносимый код
вот тогда и оказывается, что
java легко переносима, но слишком вещь в себе
perl/ruby - легко
c, c++/qt - легко
c++/mfc - средне(mfc часть придётся переписывать)
delphi/c# - сложно(тут переписывать придётся почти всё)
MFC - это обертка под WinAPI - по определению не должна быть переносимой на други плотформы (хотя не факт что нельзя перенести допустим под Linux)
C# - ничего переписвать не надо, потому как результатом компиляции будет платформенно независимый код (типа Java-байт кода), так что программа провильно написаная (без непосредственного вызова WinAPI функций) и откомпиленая под Windows, запустится и под Linux и на мобильном телефоне и на кофеварке, если там установлен Framework
qt - фиг его знает что это