Reflecting back after using C# for 6 months, I remember “environment hell” I faced in Java with conflicting jar versions as well as going on a goose hunt for missing jar – when I found one, there was yet another one that was required but not packaged. I never faced such an issue in C#. Here is a Rails Envy video which accurately describes my feelings:
[youtube=http://www.youtube.com/watch?v=PQbuyKUaKFo]

Many if not most of the people do not know the difference between the MVC and the MVP pattern. Recently, when someone asked me to describe the MVC pattern, they said that it seems like I’m talking about MVP. Most of us thought that there indeed was no difference, but in fact there is – and its very small.

In MVC, the Controller and View can talk to each other, and both can send messages to the model. In MVP, all communication is directed via the Presenter, and the Ms and Vs do not communicate directly, but only the P can send data to the M, and the View and/or its Interface (decoupling!).

There is an everlasting debate about open source software has done considerable damage to the commercial aspect software community. Or perhaps this debate brought in competition and improving standard causing the damage argument to no longer hold as consumers get more for less (therefore reducing potential profits of companies like Microsoft).

But with open source and further advances in technologies, there is always a technological exchange taking place between commercial software enterprises and open source community (more like adopting each others ideas).

Borland’s C was once the dominant force in these barrens lands which very few people like Turing trekked beforehand. Eventually the monopoly was broken up by lack of market understanding and internal political issues in the company, and thus with time, Visual C and Java emerged.

As soon as it became apparent that nothing was free and something had to be done to provide free extensions to the language and the environment, thus Open Source Guerrilla’s gained force and members. It is interesting to note that Guerrilla’s did not just stay with their own party and focus on improvement of one subset of thewhole developer land. Some rebels, encouraged by Microsoft, started open source community through the flexibility afforded by Microsoft and won some rebels back which helped start an Open Source movement of its own.

Now, there are many Java and .Net (probably those that migrated from C and C++) users. Microsoft tried to tug by building a failed language such as J# to entice users. It probably even paid people to write books and promote the language. But the propaganda machine in this war did not work. Java users would not have it no more. They were there to stay, not as refugeesbut a dominant source of power in their territory.

In the end, both Java and C# are facing each other eyeball to eyeball waiting for the other side to blink and lag behind after which the commercial force will wipe the enemy. For now, no treaty will be signed, but the temporary harmony will remain until the next version!