ASP.NET misunderstandings part II: Wrong simplifications

My last post received a rather long comment from whose article I referred to in my post. Although I rarely respond to my feedback in public, I wish to do so in this case. This is mostly because Mr. Kortelainen replied in a professional manner – in a way that allows reasonably useful discussion to continue. Please do read his whole comment; I'm not quoting it fully here. I agree with many of the points and will only bring forward those sections I have something to add to.
"If it [the article] would have contained indepth issues like components or webservices about 90% of readers would not have understood a thing (remember, the year was 2002)."
I definitely agree! Simplifications are fundamentally important for teaching and learning. Actually, in a sense, abstractions are everything programming is about. However, simplifying things ("ASP.NET provides a totally new way of designing web sites") is a concept entirely different from providing a partial view ("The most important aspect of ASP.NET is (insert any nonsignificant feature)"). The first one is about reducing depth, the other one is about reducing breadth. Both approaches have their uses, but the latter one very easily provides a very distorted image – in this case, stating that ASP.NET's key change from traditional ASP is the lack of ability to provide a multi-language code file hardly does ASP.NET justice.
While it's true that beginners in 2002 would've been very unlikely to understand f.e. the control model, you shouldn't just have ignored it. If you were unable to write a tutorial that helped them understand the technology, that's fine – but you should've certainly limited your writing to what you can reliably present. Even if you can't popularize a concept well enough to teach it, you should never skip your educational duty of providing the big picture – in this case, telling what ASP.NET is really about. Even warning people that you're about to cover only very minor details of the system would've helped.
Technicly incorrect? I want to see an aspx/1.0 written with 2 or more languages inline (note: inline!) code compiling happily. The last time I checked that was impossible…"
Yes, true for inline, but you didn't say so in the article. This isn't just nitpicking, it's a very relevant issue. When running on a platform where all languages have nigh-equal abilities, you don't need multi-language support for using features such as regular expressions. When you want to use multiple languages for the purpose that was in mind when designing ASP.NET – allowing each developer to work in the language of his/her preference, you quickly realize intermixing several languages in a single page is actually a horrible idea. Page/control/business logic separation is the way to approach it – and in practice I have much trouble imagining a situation where inline language mixing would actually be beneficial over the separation of controls and/or assembly layers.
My point? Simplification ("You can't use several languages on a single page") might be acceptable despite its misleading nature, but calling this the most important difference is entirely another thing. It's reviewing ASP.NET technology from a perspective that is neither valid or supported by Microsoft's own material. It may be the one intuitively possessed by classic ASP coders, but training companies most certainly shouldn't support such an outdated view.
"I wish mr. Heikniemi would in future make some background checking before writing blazing opinions about other sites content in public. It can be one nasty piece of bad publicity (especially since we are a training company with some really heavyweight clients)… I realize that anyone can write whatever he/she wants in personal websites (after all, all human life is based on opinions), but putting an 3 year old article on the table as an example of "bad technogical views" is relatively harsh."
Oh, come on. What background checking? Nowhere in your article can I see the date it's written on. Even if there was such a date, "a training company with some really heavyweight clients" cannot hide behind such details. Google finds older writings just as it does the brand new ones. In general, do you expect your heavyweight clients to verify all the information you provide for accuracy? If one of your publicly available web courses is outdated, mark it as such or remove it.

August 21, 2005 В· Jouni Heikniemi В· One Comment
Posted in: .NET

One Response

  1. - August 22, 2005

    "If one of your publicly available web courses is outdated, mark it as such or remove it."
    This hits the spot of an very controversial question…They still provide value… It's the same issue as with old books – they still provide pieces of good information but are in some portions outdated or perspectives have changed. Do libraries throw these books away – no. Do people read these books – yes.
    The content of of our free articles is reviewed once a year (every summer), and yes. Each and every year some of the stuff get either a complete rewrite or throwed out. Hopefully the ASP.NET would hit there next summer…
    BTW. It's not a web course, it's just an free introductory article (like most of the free stuff on the web). The training docs we provide are of totally different look and weight (small bricks they say ;)