When you write a program in some programming language, you can't just run it. You need to pass the code through a *compiler*, a program that translates the code into binary code that the processor can understand.

Even then, the executable binary code is platform specific. You can't run a program compiled for Windows on a Mac or a Linux, or on a different kind of CPU (for example running program for an x86 processor on an ARM processor). If you want to be able to run your program on multiple platforms, you have to compile it for each platform separately.

*However*, some programming languages, such as Java, are compiled into an intermediate language. The computer still can't understand this language, but you run them using a special program called a Virtual Machine, which translated the intermediate code into the platform's actual binary code at runtime. There is a version of the Java Virtual Machine for each platform - one for Windows, one for Linux, and so on. If you want to run a java program, you just download the JVM for your operating system and then you can run.
ඔබ යම් ක්‍රමලේඛන භාෂාවකින් වැඩසටහනක් ලියන විට, ඔබට එය ක්‍රියාත්මක කළ නොහැක. ඔබ කේතය *සම්පාදකයක්* හරහා යැවීමට අවශ්‍ය වේ, එය ප්‍රොසෙසරයට තේරුම් ගත හැකි කේතය ද්විමය කේතයට පරිවර්තනය කරන වැඩසටහනකි. එසේ වුවද, ක්‍රියාත්මක කළ හැකි ද්විමය කේතය වේදිකාව විශේෂිත වේ. ඔබට Windows සඳහා සම්පාදනය කරන ලද වැඩසටහනක් Mac හෝ Linux මත හෝ වෙනත් ආකාරයේ CPU මත ධාවනය කළ නොහැක (උදාහරණයක් ලෙස ARM ප්‍රොසෙසරයක x86 ප්‍රොසෙසරයක් සඳහා ක්‍රියාත්මක වන වැඩසටහන). ඔබට ඔබේ වැඩසටහන වේදිකා කිහිපයක ධාවනය කිරීමට අවශ්‍ය නම්, ඔබ එය එක් එක් වේදිකාව සඳහා වෙන වෙනම සම්පාදනය කළ යුතුය. *කෙසේ වෙතත්*, Java වැනි සමහර ක්‍රමලේඛන භාෂා අතරමැදි භාෂාවකට සම්පාදනය කර ඇත. පරිගණකයට තවමත් මෙම භාෂාව තේරුම් ගත නොහැක, නමුත් ඔබ ඒවා ක්‍රියාත්මක කරන්නේ අතථ්‍ය යන්ත්‍රයක් නම් වූ විශේෂ වැඩසටහනක් භාවිතයෙන් වන අතර එමඟින් අතරමැදි කේතය ධාවන වේලාවේ වේදිකාවේ සත්‍ය ද්විමය කේතයට පරිවර්තනය කර ඇත. එක් එක් වේදිකාව සඳහා Java Virtual Machine හි අනුවාදයක් ඇත - එකක් Windows සඳහා, එකක් Linux සඳහා, සහ යනාදිය. ඔබට java වැඩසටහනක් ක්‍රියාත්මක කිරීමට අවශ්‍ය නම්, ඔබ ඔබේ මෙහෙයුම් පද්ධතිය සඳහා JVM බාගත කර පසුව ඔබට ක්‍රියාත්මක කළ හැක.