Tak, można mieszać wiele języków programowania w jednym projekcie. Wiele gier udostępnia możliwość modowania w innych językach niż zostały one napisane np. Factorio napisane w C++ pozwala na modyfikacje napisane w Lua. Są też gry jak Minecraft, w którym modyfikacje i pluginy pisze się w Javie (lub w innym języku kompilowanym na JVM np. kotlin)
W praktyce przekłada się to bardzo różnie, lecz często ma to negatywny wpływ na wydajność, gdyż zmienne z jednego języka programowania nie mogą być bezpośrednio przeniesione do innego, konwersja zajmuje czas oraz JIT nie może optymalizować dwóch różnych języków na raz. To oczywiście nie dotyczy gdy pisany kod jest w tym samym języku.
Jeśli chodzi o OS to mogą być problemy z uruchomieniem na różnych platformach tego samego kodu. Np. C++ musi być skompilowany na każdy system / sprzęt osobno podczas gdy Java już nie. W Java możesz wczytywać 'pluginy' czyli odseparowane fragmenty kodu dynamicznie i jest to wbudowane w JVM. W c++ np. nie ma natywnego mechanizmu i trzeba się wspomagać systemowym API co jest mniej praktyczne i wygodne.
Natomiast zamiast wczytywania 'pluginów' do działającej aplikacji to aplikacja może udostępniać API poprzez gniazdo Unix lub TCP, protokół HTTP itp. Tak działające programy są bardzo odseparowane od siebie i mogą być bez problemu pisane w innych językach a format wymiany może być wspólny dla wszystkich języków np. JSON. Wadą takiego podejścia jest bardzo niska wydajność, ale za to wysoka wygoda.