Trying to keep everyone's desktops current with the software they need is a major headache. Now all of the PC vendors are talking about total cost of ownership . In organizations with diverse needs, the IT manager's job becomes even more complex. Instead of buying x copies of product Foo , the IT manager needs to buy x copies of Foo for Windows , y copies of Foo for MacOS , and z copies of Foo for Solaris , and so on. The cost of developing software across platforms, or for a platform with a relatively small number of installations, can quickly get very high.
Software developers are in business to make money.
A large reason why PC software costs so much less per unit than mainframe software is because the volume allows a vendor to still make a profit by charging less. The cost of software, then, is a burden ultimately carried by the customers of the software. This is the important part of the Java Virtual Machine. A vendor of a computer or an operating system simply needs to provide support for the Java Virtual Machine, and all of the applications written for the Java platform simply work. Vendors of application software no longer need to manage multiple platforms.