Excursion into Visual C#
Brains-n-brawn pique me to take a closer look at what Microsoft Visual Studio and the .NET framework has to offer. Brains-n-brawn is a spectacular site with lots of projects which the author has written herself. Because I was really impressed with what I saw, I downloaded Visual C# 2005 Express Edition today to play around with it. I have yet to find out whether this uses features of C# 2.0 as mentioned here. As a college student, I have access to Visual Studio 2003 as part of the MSDN Academic Alliance Program but I am really interested to see how much better C# 2.0 is compared to its previous incarnations.
Well, Visual C# 2005 Express Edition (that is really a mouthful!) downloaded fine into my computer. Surprisingly the download was only about 50MB without the extra documentation but it required a whopping 800MB to install. And this includes only Visual C# Express Edition and the SQL Express Edition. I kind of expected Microsoft to try and bundle something along, and true enough, SQL Express Edition was part of the deal. Also, there was enough hints at ASP.NET and other Microsoft technologies that you could sense that Microsoft was trying really hard to tie you down to their technologies. There is hardly any mention of open source alternatives and how Visual C# interacts with them. Not that it was unexpected. Also, you could optionally not install SQL Express Edition but knowing Microsoft, some of the examples are bound to require it so might as well do it now.
I have never used Visual Studio before because it is very much oriented toward Windows development. So, I was pleasantly surprised with what it has to offer. As usual, there are some annoying feature that I would like to customize but do not know how yet. But there are good features as well. First, its speed. It performs as snappy as Xcode does for code completion and indentation. It is definitely more snappy than the sluggish and memory hungry Eclipse. Also, their integrated help browser is really nice.
Anyway here is what I do not like so far. Of course, I am sure that there must be some way to alleviate these feelings of annoyance once I get used to the program.
- Crashes when I did CTRL+S!
I must have done something else but as I tried to save my project, Windows core dumped on me and restarted the computer! - Misbehaving code completion.
For methods that do not expect any arguments, selecting the method from the list suggested should putobject1.method1()
but right now it putsobject1.method
. Therefore, I have to type the empty parentheses in myself!
- No smart typing feature.
I really like how Eclipse and TextMate auto inserts the closing " for strings. - Tabs that do not have an 'x' to close them
Why have the close button at the far end of the tab row? Would it not be better to have individual 'x' to close the tabs? Kind of what Eclipse has. - Counter-intuitive Windows Form "Designer (?)".
The UI builder is still not as intuitive as Apple's Interface Builder. Maybe because it has a lot more windows widgets that need to be accommodated for. Its properties pane for each widget is really complicated though. - Code generator.
Some people like code generators. I don't really like them especially when they use weird names that I have to refactor personally. Why doesn't it just asks me for the name of the method in the first place?
- It tries to suck you into using more Microsoft technologies.
And now what I like:
- Informative code completion.
It actually shows you how many overloaded versions of the particular method there are.
- Extensive help file.
Its help file is really huge. And this is only for Visual C#! You seriously wonder how big the MSDN library really is. - Great resources.
Microsoft would really like to get people to use its tools. Just look at the effort they spend trying to introduce people to these tools: Visual Studio Webcasts, Absolute Beginner videos and if you register and activate your Express Edition product, you get free access to 3 online books on .NET and ASP.NET. - Really nice shortcut keys
Want to indent code? Type CTRL+E and then D. Some people will probably hate this. But I like the fact that you don't have to perform finger circus tricks to hold down several keys at the same time. - C#
The only language that Microsoft created that I feel is worth learning. Visual Basic is kind of limiting. J# is bastardized Java, enough said. - .NET
Like it or not, .NET is going to become the next wave of Microsoft development. If I want to land a job, I better have some grasp of it.
So what have I done with it? Nothing much yet. Did a simple HelloWorld console program. And also a simple web browser following the instructions here. While I still don't like the idea that it is so tightly integrated with Microsoft's other tools, I do feel that learning C# would be beneficial. And it would be nice to actually see what .NET is all about for myself.
Tweetcomments powered by Disqus