Monday, 28 January 2008

Visual Studio 2008 Test Drive

I haven't been posting for a long time so here comes a long one :)

Last week I was at Microsoft Headquarters in Turkey for a test drive of Visual Studio 2008 "new" features. Actually the features are all new to Microsoft but not so new to rest of the software development world.

First day we had sneak peak at Team System, I must admit Microsoft did a great job with integrating Project, Office, Team Foundation Server and VS 2008. I believe planning and task management can never be easier. After lunch session was really suprised me. All the attenders except for us were working with only Microsoft products and they really had hard time at understanding this concepts. Java and open source world may not have such a perfect integration but it seems we are much more familiar with this terms and concepts.
Second day started with workflows. I had met the presenter long ago actually once he offered me a position in his company but he didn't remember me this time. I knew he knows much about Java and open source world. Everyone watched the presentation were very impressed with the product and actually his presentation was good. However the product did not offer anything new, I asked what does this one offer more than BPEL I have used 5 years ago. His answer was short and explaining "nothing more but Microsoft didn't have that..." After lunch session was amazing Daron Yƶndem made an amazing presentation of an amazing product the WPF. Just imagine a very very easy flash with an easy scripting engine. The integration with Vista's Aero was marvelous. I think WPF will really rock desktops and I am not sure if Adobe's AIR can really compete with it. By the way Daron also introduced us the new desing Studio called Expression Studio. Looks like someone at Microsoft ordered the development team to clone every Adobe product on the market. The problem is most of them are not complete and not as capable of originals but some like Blend and Media are really easy to use and can produce good stuff.
Third and the last day started with the famous Silverlight presentation again by Daron. However this time Daron could not impress us since the product was a total disaster. I can't imagine how can Microsoft even think to compete with Adobe's Flex in rich media. Actually they might not even have a chance against JavaFX which is not really on the market. Silverlight should be labeled as 0.1 alpha or may be not even that much. Think of a rich client design platform which does not even have form components or button! If you plan to stream video Silverlight works but again why would anyone choose it since there is a stable and complete video streaming platform like Flash. Come on even YouTube ows its success to Flash's streaming capabilities. Silverlight does not offer any single thing if you don't plan to stream media. It has no components, all the code written which is xml just as Flex, is carried to client and compiled there. I can't imagine how someone could have a software design like that. All the code written becomes open source. Well no components, not compiled code carried to client but the worst comes now... Silverlight does not have its own Script Engine!!! It uses javascript, well actually it just "communicates" with the javascript running in the browser. I think Microsoft would get an Oscar on Comedy, they say Silverlight is cross browser and even cross OS but they choose the programing language that is not cross browser!!! Funny part is Daron used an IDE based on famous Java IDE, the Eclipse (Flex uses that too) for coding Silverligt. I have coded a simple application and got the second shock. The silverlight Virtual Machine could not run the code and asked me for an update but could not update itself either and all these were happening in Microsoft's Headquarters and the subject was test driving their new stuff esspecially Silverlight. Even their own computers can't run silverlight how can consumer pc's would?
Microsoft really failed in the design of Silverlight. They took every single thing Java applets failed and refused to take everything which lead Flash to success. Flash VM gets updates smoothly and has no version clashes but Silverlight choosed to have version and update problems just like Java VM. They also failed in encapsulating the engine and the code. Everything is open, xml travels to client compiles there (if it can..) communicates with the running javascript (again if it can and if the browser can run that js) and still it does not even have major components. Flex would knock out Silverlight in seconds in RIA arena, with the perfect IDE based on Eclipse (but slow!!), well designed and manageable VM, open sourced BlazeDS, community and with the oo coding engine action script 3 which is just looks like java or c# .
The last session was another headliner the Linq which is a very good improvement for .net but for me offers only xml querying more than Hibernate does. Well at least Visual Studio has its own ORM now. Even the anotations are same with hibernate.

I think Microsoft users really lack of research, reading and investigating new stuff, they just use what comes out of Visual Studio box. For example none of them was aware of nHibernate which works with .net. Hibernate is such a mature tool when compared with linq. How could they expect similar performance? They never heard of something called spring.net. I must admit visual studio is a very well integrated and really productive environment but why not to look for other stuff when it lacks in something?

Now I feel really much happier as a Java&Flex developer..