Skoro znasz C#, to możesz się zainteresować:
- C++ (dla programowania środowisk inne niż MS)
...
- IronPython - Python na .NET
Python to przede wszystkim język pozwalanący na tworzenie przenośnego oprogramowania, na podobnej zasadzie jak Java, write once, run anywhere. C++ to ni mniej, ni więcej, write once, debug anywhere. IronPython nie oferuje niczego interesującego poza możliwością ładowania modułów i klas .NET, ma też swoje ograniczenia, nie wszystkie moduły kompatybilne z CPythonem (i nawet PyPy) idzie na nim odpalić.
Przenośnie możesz napisać w C++ (Boost, wxWidgets, Qt, #ifdef, makefile), Python, PHP, C# (Mono), Java, Pascal (FPC), JavaScript (Adobe AIR)...
Pod warunkiem że jest to Twoim priorytetem.
Chyba najsłabiej z tego co słyszę jest to o dziwo zrobione w Javie - program może być nawet nieprzenośny między dwoma serwerami aplikacji, nie mówiąc już o różnicach między smartfonem a PC.