Article by Open Software Innovation Center Ltd.
Computer software is often regarded as anything but hardware, meaning that the “hard” are the parts that are tangible (able to hold) while the “soft” part is the intangible objects inside the computer. Software encompasses an extremely wide array of products and technologies developed using different techniques like programming languages, scripting languages etc. The types of software include web pages developed by technologies like HTML, PHP, Perl, JSP, ASP.NET, XML, and applications like Microsoft Word, Open Office developed by technologies like C, C++, Java, C#, etc. Software usually runs on an underlying operating system (which is software also) like Microsoft Windows, Linux (running GNOME and KDE), Sun Solaris etc. Software also includes video games like the Super Mario, Grand Theft Auto for personal computers or video game consoles. These games can be created using CGI (computer generated imagery) that can be designed by applications like Maya, 3ds Max etc.
Computer software usually runs on a software platform which can either be provided by the Operating System or by OS independent platforms like Java and.NET. Software written for one platform is usually unable to run on other platforms so that for instance, Microsoft Windows software will not be able to run on Mac OS because of the differences relating to the platforms and their own standards. These applications can work using software porting, interpreters or re-writing the source code for that platform.
Software design is a realm of messy or wicked