Multiplattform
Från Rilpedia
Ett datorprogram kallas Multiplattform om det kan köras på mer än ett operativsystem.[källa behövs]
Program skrivna i språk som Java kompileras till plattformsoberoende bytekod och kan därmed köras på alla plattformar som kan tolka denna. Oberoendet grundar sig på att programmen körs i en väldefinierad virtualmaskin, som tillhandahålls tillsammans med bytekodstolken. C# fungerar i princip på samma sätt, men själva virtualmaskinen är inte avsedd att fungera annat än i Windows.
Program skriva i skriptspråk som Perl, Python eller Ruby kompileras eller tolkas vid varje körning och kan därmed köras på alla system som har stöd för dessa. Många sådana program gör antaganden om sin omgivning som inte uppfylls bara för att en tolk för språket är installerad. I praktiken är skripten ofta skrivna till exempel för Unix-liknande system.
Program skrivna i språk såsom C, C++, Pascal eller Fortran, avsedda att kompileras skillt måste kompileras om för varje ny plattform programmet skall köras på. Programkoden använder ofta systemanrop eller programbibliotek som är bundna till en viss plattform, då mycket mindre fuktionalitet i allmänhet inkluderats i själva språket än vad som är fallet för till exempel Perl.
Innan plattformsberoende program kan kompileras och köras måste de därför ofta portas, så att systemspecifika funktioner ersätts med motsvarande kod för den nya plattformen. Om programmet strikt hållit sig till väldefinierade plattformsoberoende standarder och programbibliotek som finns tillgängliga på många plattformer(eller lätt kan portas), utom i klart avskilda delar, och undvikit implicita antaganden om exempelvis filträdets struktur är portningsarbetet relativt enkelt (till exempel från en Unix-variant till en annan kan omkompilering räcka).