September 2007 - Posts

.NET, ALT.NET and RoR... The good, the bad and the ugly

I was wondering what is it ALT.NET, once you reach the definition.. if you a ALT.NET developer so "You’re the type of developer who uses what works while keeping an eye out for a better way.", of course this make sense and we all should think that way, sign me up

the irony here is that by their own definition they stenograph the whole development in .NET and thus they alternative it.

perhaps a better term for that definition is ALT.(bad dev methodologies)  seeking alternatives is always cool but only when you seek better alternatives not a buzzy alternative like RoR.. which i didn't get.. and least in the enterprise software stream. 

back to the ALT.NET .. that means - again by the definition - that .NET is a bad thing and we all should search for alternatives.. but even so, there are number of factors you should consider before you drop everything and start learning from scratch.. you have to consider your current job, your time, the roadmap of the language or the framework you are going to spend your next couple of whatever learning.

To me walking away from .NET with all the experience i have gained is insane i rather look to use tools from out of .NET space like SubSonic for instance rather than switching to RoR to solve my problems, only pick up your problem and try to find it in form of open source project, add-in, framework or even implement it yourself.

Frans Bouma's replied to the post How long before ALT.NET becomes NOT.NET? said it all:

Every time I see 'alt' for 'Alternative' I wonder: "alternative to what?". I have the same feeling with ALT.NET: it's to me unclear what it stands for. Does it stand for FOSS all the way, does it stand for using TDD/BDD/DDD style development? Does it stand for not-microsoft, or something else?
A (lame) analogy can be 'Alternative rock': it's still rock, so for what is it the alternative? Unclear.
Will ALT.NET become NOT.NET ? No of course not. If it would have been, people would have moved to Java years ago, as the stuff people are using on .NET are available on Java for years already and are in much more mature state than on .NET. Ruby? As a language: sure. RoR, I'm not convinced.
Another aspect is that something which is 'Alternative' is the 'mainstream' for the people IN that alternative stream. So in a while it will become common for these people, and something 'new' will look like something potentially 'better', as when you're using something for some time you will learn the downsides and quirks of it.
And the process repeats itself.
I've programmed software in at least 15 different computer languages in the last 20 years on at least 10 different platforms. There's one thing I've learned which will save your day: use the platform / language which you know like the back of your hand. Because that will offer you the ability to finish your project. If you keep on switching platforms, you will start over from scratch: you might know how to apply a new EBNF syntaxis of the new language and some classes / functions in the libraries available look familiar, but you will have to start over and learn everything again.
That's why I don't believe people will switch soon to Ruby on its own interpreter: they have to start over again and drop the knowledge they've learned on .NET in the last couple of years.
Don't kid yourself with a sticker that you're so alternative. You're not. You just decided to pick a different subset of tools than some other group. Well, congratulations :), but it's not an achievement at all nor a lifestyle or a movement.

Is C# getting old ?

Anyone who may think so got to be insane, but as Wagner pointed out recently..

I think your question shows that C# is just starting to mature. It's the first time I've been asked is C# is getting old. Most of the people I've worked with that are concerned about C# in a new development are worried that C# is too young

indeed C# getting more mature overtime... but is it always mature when it's going old? I don't think so.. some design ideas can destroy the whole big picture.. for instance the first thing i felt when i knew about automatic properties i was like. WHAT.. are they ran out of ideas.. so we got "prop" and the syntax of C# 2.0 is much easier.. and finally C# isn't that complete so couple of team member leave all feature request and start implementing this snippet like feature.

will give you another example, VB on it's .NET version got way mature that it ever was.. and ever since the VB.NET team keep adding new feature.. but recently they have added the XML Literals which will take us back to the classic asp spaghetti code Daniel Cazzulino sees it as something shouldn't be done in the first place:

I see at least a couple drawbacks with this approach:

  1. VS already has a full-featured, very responsive and cool XML editor that includes intellisense powered by schemas, allows XSLT transformation debugging, etc. We would need to have at least an equally capable inline XML editor in place in order to be really productive
  2. Now the “template” for the “rendered” XML is compiled into the application. If I need to change anything about that XML layout, I’ll need to recompile the application.

So is C# is getting old, ran out of ideas... I hope not and still don't think so.

Posted by Adel Khalil with 2 comment(s)
Filed under: ,

Tiny Tools, Huge Benefits

Those are a subset of Hanselman's tool list, those are very helpful during my daily job... so i thought i share with you.. to boost your productivity as well.

Query Express -  A light weight Query analyzer like application  

.NET Reflector - Amazing utility reflect over .NET Assemblies you can use it as code converter as well between number of .NET Languages.

SysInternals Tools - Those are amazing now part of Microsoft.. Process Explorer, FileMon, RegMon and other goodies.

IIS Diagnostic Tools - Number of great tools allow debugging, tracing and other stuff as well.

IE Developer Toolbar - A FireBug equivalent.

FireBug -  Can't debug without it... must have tool that looks underneath your page.

MemProfiler - Track memory leaks

if you have any tiny little goodies you use frequently please do share.

Posted by Adel Khalil with no comments