Yasir O. Atabani, Cozeit, Inc.

27 April 2014

Classic ASP to ASP.Net to ASP.Net MVC and out

by Yasir O. Atabani

It’s been sometime since I posted something here, even sometime since I posted something at all anywhere else.

I have been experimenting with new technologies over the past 6 months, trying to enhance the productivity in my development, and I have to say “I came a long way”

In trying to be a better programmer by reading more code from different projects, I experimented with so many different techniques. I will be writing a review of each soon. Although I wanted to take this post to sum up 16 years of programming in a nutshell.

Since the early days I started with Classic ASP, or ASP 3.0 even before that maybe, and it’s been very fast, quick learning curve that I had to take to start writing my first piece of code. then comes the ASP.Net and the notion to separate everything separate the code from the HTML, and separate the logic from the code-behind page (aspx.cs).

Because at that time I haven’t had much knowledge to judge the goodness of a technology, I made the quick move towards it, thinking and reading that it’s the great great new thing that will change our lives forever.

I started with ASP.Net even before Visual Studio had support for it, I remember writing my codes in Notepad, and then compiling it with csc.exe, to produce the .dll file. I remember I had to much trouble around the Web Controls idea, and the whole idea that you just need to put another layer of abstraction, and throughout the years I have struggled with the changes to those controls.

I decided early on that I will learn as little Web Controls as possible and that I will keep as much code as possible, for the firm believe that the code will leave forever but the controllers will change sooner or later, I never used SqlDataSources, never ObjectDataSource, and the only way I say it logical to make the transformation and for it to be useful was to have everything turned into objects in a model layer, and the whole n-tier logic.

If I could go back in time, and if I had the knowledge that I have today, I wouldn’t have switched to .Net at all. don’t get me wrong, it’s a very powerful framework, but it really distracted me from working on features of my projects, to working towards making those tools work for me, the switch was harsh that I stumbled so many times, and I still remember when .Net 2.0 was introduced, when a lot of the namespaces where changed for no apparent reason, other than keeping things logical to the .Net Team.

It was distracting to have to switch so harsh between versions, but it didn’t stop here, what a major pain was that project called ASP.Net Atlas.

Comes ASP.Net MVC which I was involved with early on, and it was another major change, yet everybody said that it’s not mandatory and that you can keep using ASP.Net WebForms, but MVC just felt back home, back to the days when you can mix Razor (C#) with HTML, it felt HOME.

Yes I made the switch and it was overwhelming to be back to logical web, to have full control over the output, to controlling your <br />s and clearfix. But I wonder where did 12 years of WebForms went, YES I have created some very powerful projects with it, I have impressed people with initial productive work, but I have almost always struggled with the tiny bits of problems, the things that I think shouldn’t have taken this much time from me. it seemed quick and productive, it felt like it could bring me peace of mind, but it was far behind that.

I don’t know if this is part of the marketing strategy of Microsoft, or if I was just been out of shape with it, but I promise to never go back. If I get stuck in code and search for solution early before deployment and dig right into it’s roots in the WWW, then I’m happy to do that once and for all. but if I find ready Control that promise to give me what I want, and then fail me later on with no clue into what’s inside the box, then I’m making the wrong choice.

Open-source have a barrier of knowledge, that Microsoft in this example is taking advantage of, trust me I don’t mind that, I could point out Microsoft Technologies for a newbie anytime, and if easy visual makes them a potential programmers (Developers) then I’m happy it did that for them, but it’s not a good choice to run something that you care about with.

I tell you this judgment after using and being dedicated to those technologies for over 12 years, I’m now in better health, less stressed, reading more, and doing my homework, that I shouldn’t have outsourced in the first place.