Some programming languages such as Java and C# were designed to foster platform-independence and thus are ???platform neutral.??? Java uses an interface known as the ???Java virtual machine??? between the software application and the underlying technical architecture and operating environment (collectively ???platform???) in order to render the platform transparent to the software application.