Some time ago, I wrote a post called “Is
ASP.NET too difficult?” and I strongly believe that it is. Yet at the same time
it cause problems by making it too easy to do relative advanced programming. It doesn’t
seem to be a problem. On the contrary it appears to be a good thing, but an important
thing is missing.
Step-by-step learning
Before ASP.NET when we used PHP and ASP, there was a certain step-by-step learning
curve that everybody followed. You started out by learning basic HTML and then moved
on to PHP/ASP. When you built your first projects it was time to learn about how to
implement databases into them. When you mastered that, you were pretty good at building
dynamic websites. This was the way that many of us took and it made us understand
the platform before proceeding to more advanced features.
In ASP.NET there is no step-by-step learning in the old sense, because everything
has become very easy. Database development has never been easier with all the wizards
and easy-to-use ADO.NET features that handle it for you. It is more likely for an
ASP.NET newbie to building database and AJAX driven websites before learning basic
HTML or JavaScript.
From good to great
Still, that may not sound like a problem but I beg to defer. Because the previously
difficult things have become very easy, it is no longer necessary to have a basic
understanding of the request/response model of a web server or be concerned about
how garbage collection works. You can still build good stuff.
From building good stuff to create great solutions is a huge leap. That will be much
more difficult to be a great developer if you started out using all the wizards and
other cheap tricks because you have to learn it all backwards. You really have to
want it to begin reading books about basic programming techniques when you’ve just
created a cool AJAX website without that knowledge.
Microsoft isn’t helping
This tendency to learn programming backwards is bad. The advantages are short lived
and in the end, you have to pay the price. It seems that Microsoft is doing much to
promote this backward learning by always doing their demos using the designer in Visual
Studio. “Just drag n’ drop controls to your web page and it’s all great”. The designer
cannot, I repeat cannot let you utilize the whole ASP.NET platform and all its features
– far from it.
If you get stuck in the designer, you get stuck as a developer. I have never seen
a professional web developer use the designer for other than personal hobby projects
and there is a reason for that. It hides many decisions from you and leave them to
the controls and wizards. The fewer decisions you are forced to make, the easier it
becomes but as stated above, it comes at a price.
Make the decisions
This is the hard part. Before you are capable of making decisions based on your experience
level, you have to know what the alternatives are. Otherwise it wouldn’t be a decision
at all. Learn about the alternatives instead of leaving it to Visual Studio to decide.
As Rocky Lhotka once said; developers
are paid to think. What’s left afterward is code. Wise words.
Not all programmers want to take it further than as a hobby and that is perfectly
fine. Just consider the consequences before taking the easy way. My advice is to throw
away the designer and start writing code.
* Only $4.95/month ASP.NET & Windows 2008 + IIS 7 Hosting! FREE SQL Included