Technology U-Turn


Technology U-Turn is a terminology I invented that means when a technology leave the direction and take a new one then get back to the old one, actually I invented this term when I realized till now there are two technologies did this, I don’t know if there are more or not but nowadays these two technologies are in the top of tech news.


In the past web developers were using Classic ASP till Microsoft released ASP.NET to help Windows Forms developers to develop Web Application with the same look and feel, then create the code behind approach where you will write the server-side code instead on inline script like in Classic ASP, but PHP still using the same approach by using inline scripting. Microsoft make the U-Turn and back to inline scripting in ASP.NET MVC especially in Razor view engine. in PHP you have the full control over HTML like in ASP.NET MVC.

PHP stuck with the same direction of inline scripting and keep enhance its technology, but Microsoft change the direction to ASP.NET and guess what back again after enhance the inline scripting from ASPX view engine then Razor view engine.


In the past data was stored in files/documents without any relations and normalization, then the relational database design start to be used by wide rang of folks till now actually the most popular database design is relational database to prevent duplications, more access speed, less capacity consuming; and now the world is making the U-Turn to NoSQL approach and back to use files/documents to store data, Mega companies like Google, Twitter, Facebook, and Microsoft is start to enhance the way of storing data in files/documents and start to use the feature provided by the Hard Drives file system, there are many of NoSQL engines released like RavenDB, Cassandra, Amazon SimpleDB, MongoDB, and CouchDB.

The Question:

Why Microsoft change its direction and released ASP.NET then after many years it discovered that it didn’t apply the Web Development in the right way and it was just helping the developers to create Web Applications with event oriented design rather than MVC design which become popular especially after Ruby on Rails aka RoR (RoR was invented to get rid of repeating the same task over and over again when developing with ASP.NET) get on surface? Why’s Microsoft didn’t stick with the direction and try to develop and enhance it and that what it’s doing nowadays?

The same question to NoSQL the world, Why do we get back to document oriented database after spend years in relational databases? Why didn’t we stick with the direction and start to develop and enhance the way we are storing data inside the documents and that what NoSQL world are doing?

  • Mohamed_Meligy

    No one size fits all :)

    So, here’s the thing, the more features you want from your database, the more hard it’ll be to scale it and get best performance etc etc … It’s up to you to decide where you are dealing with terabytes of data and you are happy to de-normalize and just use as cache and distribute so many versions across your network, and where ACID rules are very critical to your application data and you need a sophisticated RDBMS. Most big players either have a single critical sort of data, or (the most common) have hyprid approaches, using SQL DBs for some parts, and No-SQL for others.

    Regarding ASP.NET NET, obviously the effort in ASP.NET MVC surpasses Webforms by far. Now ASP.NET webforms often plays catch-up after a feature is already implemented in ASP.NET MVC. Also, many parts were re-written to have better client side (custom developer JS) integrating with the server controls (like being able to set ID statically, and the re-write of ASP.NET AJAX toolkit). If Microsoft suddenly stops support for ASP.NET Webforms (assuming they can, legally and via deals with BIG partners), this will make so many developers fear depending on MS technologies because it can abandon them later. Microsoft’s size and name is way bigger and more mature than that. There are so many solutions that highly depend on webforms. SharePoint is one of the biggest solutions. Also, ASP.NET MVC doesn’t have a good solution yet for end-to-end components like ASP.NET does. That’s why many people see much value in doing things like reporting in Webforms for example. Did I mention there’re also years of development in Reporting Services, and so much 3rd party vendors invested in creating full-suite (not only UI) webforms components? ASP.NET Webforms is more of an ecosystem than a technology. I don’t do it any more, and I hope my next customer doesn’t use it (my previous customer used it, we were using WebformsMVP to make server-side code better, and almost not using any server-side controls to make client-side coder better), but I still understand why it’s damn hard for Microsoft to get rid of it.