February 22, 2007 § 4 Comments
Following are the technologies I believe are the future and want to learn but not finding the time for:
- Workflow Foundation: The reviews of this are really really good and people are saying, nothing can beat the designer for this.
- Windows Communication Foundation: Microsoft has unified the way two processes communicate, be they on the same box or on a remote client/server. We don’t have to decide between .NET Remoting, Web Services, Message Queues, Distributed Transactions and a few other related technologies anymore. The basics of WCF are that you create a service and add endpoints to it. If you want a remote .NET client to communicate with it, you add a TCP endpoint (which is equal to .NET Remoting). If you want a Java client to communicate with it, you add HTTP endpoint (which is equal to Web Services). Note that the service remains the same, you only need to keep adding endpoints which reduces code duplication / complexity.
- .NET Framework 3.5: This has a lower priority as it is not out yet but the additions that Microsoft is making to the framework are pretty interesting. The biggest proof that it is interesting is the fact that Sun is taking a few pages from .NET 3.5 for the next version of it’s framework . (
Note: Microsoft itself is taking a lot of ideas from open source projects like Hibernate)
- Windows Presentation Foundation: This has the lowest priority on my list but I find it the most interesting. Future windows applications are going to be built on top of this technology. GDI+/WinForms are past it’s maturity and WPF is taking it’s place. However people are not just going to run and make WPF apps. I see over the next two years a lot of small companies coming out with WPF followed by the big boys.
Update: I had Java on my list but scratched it off after a lot of reading over the past few days. The reason being that there are so many different directions you can take within Java that getting my head around it is in itself a big challenge. Hence I have decided to teach myself more of the .NET stuff instead of trying to be on two ships at the same time.
February 20, 2007 § Leave a comment
I have been reading about the Spring Framework, Hibernate and the Java world in general for the past couple of days. Trust me when I say I am reading about Java just out of curiosity and nothing else .
Here is what I have learnt so far:
With .NET Microsoft took the approach of making it very very simple for developers from the get go. Most .NET applications feel like writing shopping cart applications . They did not add any high level complex APIs and kept the entire platform very very developer centric and simple.
With J2EE Sun took the exact opposite approach and made the platform Enterprise level which resulted in developers having to learn EJBs which from what I have read required a lot more work to get even simpler projects done. This lead to the creation of the Spring Framework, which adds some neat technologies such as Inversion of Control and Aspect Oriented Programming to POJOs (Plain Old Java Objects). I imagine .NET to be like POJOs when I write code.
The end result is that these two technologies are moving towards each other (.NET scaling upwards and JEE scaling downwards in terms of simplicity) and are going to clash/meet somewhere in between.
I think the existing .NET 3.0 framework (which includes Windows Workflow Foundation and Windows Communication Foundation) and .NET 3.5 framework (which adds OR Mapper like Hibernate) right into the framework, while J2EE coming up with frameworks like Spring to simpify Java development is a good indication of this.
On the tooling side I was really surprised to read that Eclipse was more powerful than Visual Studio. I work day in and day out of Visual Studio and never imagined anything more powerful, but after reading some of the features of Eclipse I think we can be a lot more productive if VS had those features.
To name a few:
- Refactoring: Hands down the refactoring support in VS 2005 is pretty lame and may be about 5% of what Ecllipse can do.
- Type search. If you want to search for some class that is sitting in some third party assembly, you can find that just by hitting Ctrl+Shift+T and typing the first few letters. The tool will take you straight to the class if source code is available else will take you to the type definition.
- Automatic imports statements: As you type your code when you reference a class that is not part of the using statements at the top, Eclipse will automatically add it. It will also remove those statements when your code no longer uses any of the classes in that namespace.
There are a lot more, but I forget them . I will try to find the link where I read the differences and update this post.
Having said that I think the refactoring support in Visual Studio 2007 due this year end will improve dramatically. Just by the looks of it, it appears that MS just threw in basic refactoring into VS 2005 at the last movement. The beauty about VS 2007 is that it will target multiple .NET versions (2.0, 3.0 and 3.5). So you can write .NET 2.0 code in VS 2007 with all the productivity benefits they add to that release.
February 19, 2007 § Leave a comment
Apple has started the rumored campaign against Vista in its’ stores. All Apple employees are seen with T-Shirts labelled “Go beyond Vista: It’s time to get a Mac”. They also have little cut-outs all around the store. In addition apple seems to have sent out emails to all iPod owners on PC with a similar slogan. Retail Vista sales have been lackluster in comparison to XP sales. Steve Balmer put the blames on pirates, but analysts say that Vista still isn’t ready yet, and they are still waiting on drivers from all vendors.
Looks like the Longhorn / Vista curse is going to continue on Microsoft until the next version of Windows hits the stores. I feel so sad for Microsoft . They tried to fly too high in one shot instead of flying in increments. A lesson well learnt I assume.
Source: Microsoft Watch
February 18, 2007 § 2 Comments
I installed Windows Vista Ultimate edition about a week back (hence no posts for about a week ). I got a licensed copy of the Business Edition, however, Vista comes on a DVD that has all editions on it, which lets you install any version that you want and evaluate it for 30 days. Note however that if you install a version higher than the one that you have the CD key for, you will have to reinstall the entire OS after 30 days. If you installed a lower version and entered the CD key from a higher version Vista will automatically upgrade to the higher version. To get the option for different versions, don’t enter the CD Key, just click next and you will get a list of all different versions. Installation went smooth without any hiccups although I would say it is nowhere near to the 20 minute installation that Microsoft has been touting. It took a good 45 minutes to install (note: I installed this on a 4 year old machine which could be the reason why it took that long).
My first impressions of the OS is very good. It is much more performant on my old machine than I imagined. The new Aero look and feel is really nice and subtle. Microsoft has surely looked at what Apple has done over the years and brought that to the Windows world. I would however be cautious in calling it a rip off as it is not exactly the same as a Mac. They have copied the idea of adding subtle animations to certain tasks, like fade-in fade-out effects. Mac still has the edge right now which I think will fade-out when the next version of Windows ships somewhere in 2009.
Overall I think the OS is rock solid and want to make it my default OS. There are a few quirks that I want you to know before you run and get yourself Vista. Vista does not recognize my SoundBlaster Live 24 bit sound card. Neither Microsoft nor Creative has the drivers for it. The impression I get is neither companies plan to write the drivers for it. So I am sort off left out in the cold. Also Vista did not recognize my Logitech ClickSmart 510 webcam. Both devices are around 3 to 4 years old and probably will not be supported, hence my best suggestion for anyone wanting Vista is to wait until your next PC, otherwise be ready to replace the devices that don’t work on Vista.
Final word: There is no way for me to go back to XP especially since I am sick of looking at the same desktop for 5 long years. However, I have to wait for a couple of months till I assemble a new PC. By then Windows Home Server will have shipped and I can convert my existing PC to a Home Server and enjoy Vista on the new one. The really cool thing about Home Server is that I can install SQL Server 2005 and transfer my website / media files to it and not bog down my new PC.
BTW I got onto the Home Server beta program (not a big deal any one can get on it by applying). I plan to install it and check it out to see what’s new.
February 9, 2007 § Leave a comment
Following are short videos that explain all about C# 3.0 language features. I couldn’t have explained it better than this:
C# 3.0 Language Enhancements in action
C# 3.0 LINQ in action
C# 3.0 XLinq in action
C# 3.0 DLinq in action
Anders Hejlsberg on LINQat Channel 9 – Channel 9
Chatting about LINQ and ADO.NET Entities – Channel 9
February 8, 2007 § 1 Comment
No it’s not another Vista ad. It’s about my home country. Check it out here. Click Watch Video to your right.
February 7, 2007 § 3 Comments
This is kind of a repost. If you read the Bill Gates Q and A article I posted yesterday, you must have read that Bill Gates mentioned what’s next for Windows. For those who missed it here’s the excerpt.
So can you give us an indication of what the next Windows will be like?
Well, it will be more user-centric.
What does that mean?
That means that right now when you move from one PC to another, you’ve got to install apps on each one, do upgrades on each one. Moving information between them is very painful. We can use Live Services [a way to connect to Microsoft via the Internet] to know what you’re interested in. So even if you drop by a [public] kiosk or somebody else’s PC, we can bring down your home page, your files, your fonts, your favorites and those things. So that’s kind of the user-centric thing that Live Services can enable. [Also,] in Vista things got a lot better with [digital] ink and speech but by the next release there will be a much bigger bet. Students won’t need textbooks, they can just use these tablet devices. Parallel computing is pretty important for the next release. We’ll make it so that a lot of the high-level graphics will be just built into the operating system. So we’ve got a pretty good outline.
WOW! that would be awesome if I could go to a friends place and get my desktop on his / her machine. You would never miss your PC when you are away. Although, we don’t know to what extent they will go. All of this sounds like Hardisk on the Internet, so all your information will stay on the Internet, but we don’t know if that’s going to be true for applications installed on my machine as well. All this would need very high bandwidth, but 2011 is still far away which could make some of this a reality.