Thursday, August 23, 2007

He started imitating again. This time it is OS

1995-2005: Platform Independent Language competition
Sun's Research of 5 years was resulting in language called Java, which was becoming very hot on all the platforms and helping developers to stop avoiding deployment issues of multiple platforms. Microsoft showed support to Sun & ventured to give products on this line. They bundled VJ++ in Visual studio suite. You can do Java development in VJ++, so what they did inside. They started giving support to make an executable of Java code and introduced Microsoft specific libraries in IDE. This resulted in failure of application's deployment capability on multiple platforms. It was breach of contract with Sun Microsystems & Sun sued Microsoft for that. Case took years to resolve and give final judgment. During this phase, They were loosing business on advanced features of Java Programming like Platform Independence, Garbage Collection, Exception handling, single inheritance etc. To support these features, Microsoft came out with their own language and named it C# C-sharp. It was designed purely on syntaxes and features of Java. In fact Microsoft created product known as JUMP (Java User Migration Path) which use to do basic find replace in Java code and make it working in C#. Later on C# became part of .Net (dot net) suite. Unfortunately because of breach of contract case and imitation of Java language, Sun couldn't achieve their vision of Virtual platform everywhere. Looking to this Sun moved their strength on Server side and could make deals.

C# Code
using System;

class A{

public static void Main(String[] args){

Console.WriteLine("Hello World");

}
}

Java Code
class B{

public static void main(String[] args){

System.out.println("Hello World");

}
}


1995-2003: Browser Market Competition
More than 75% browser market was with Netscape, lead by Marc Anderseen, who created first Internet browser while he was in NCSA university. Microsoft although selling desktop applications realized the potential of this internet application. They wanted to aggressively control this market so the only way they found was to bundle that with Operating Systems. They faced the Monopolistic practices legal case because of this. Netscape was strengthening since there was support for JavaScript on browser side. Microsoft started bundling 90% same syntax language but called it JScript, which was Microsoft's client side programming implementation. In later version they introduced almost 100% compatible JavaScript in IE. Monopolistic practices case didn't stop Microsoft from bundling IE with Operating Systems. Thats the unfortunate part of Law which moves very slow and Technology moves very fast. Microsoft realized this and they took full advantage of this. Result Netscape was open sourced after version 5.0 because they lost the market. Now Netscape is being developed under Mozilla open source community and supported by AOL.


2007- till Operating System Competition is over

Linux is getting good share on server market these days. Applications have started moving towards the web. Internet based servers seems to have good future & Linux has good share there. Linux based applications are faster and cheaper. SCO filed a case against IBM for 1 billion dollar for source code violoations in Linux. Microsoft stood by SCO and supported them. But with all efforts Judgment went in favor of IBM. So Microsoft has already acquired Linux programmers who are writing emulations on future windows platform. PowerShell, which is total rip off from unix shell will be introduced in Windows 2008 and support already available on Windws XP and Vista. This gives support for bash shell like programs to some extent. What seems to be the intent is that Microsoft wants existing shell scripts written for Unix/Linux/Solaris should easily work on Windows server with some modifications. Currently PowerShell supports many Unix commands like ls, ps, diff, kill, lp, mv, clear, echo, rmdir, chdir, man. Why do Microsoft want to build one more scripting language, they already have VBScript, Javascript, C Scripting. Aren't they enough or capable. The intent is clear, they want Unix/Linux scripts and programs to be running on Microsoft server. They have also planned to give non-GUI dedicated server OS for there next version quite similar like inittab 3 in unix.

Some of reference to support:
http://www.windowsitpro.com/Windows/Article/ArticleID/136/136.html
http://msdn2.microsoft.com/en-us/library/4yyeyb0a.aspx
http://www.microsoft.com/windowsserver2003/technologies/management/powershell/default.mspx