Bob On Development

Musings on the craft and business of software development









September 27, 2007

Is Microsoft Stretching Its Abstractions Too Far?

Filed under: — bob @ 6:30 pm

Erik Meijer, the lead architect in Microsoft’s assault on the impedance mismatch between relational databases and object-oriented programming languages, has just keynoted the JAOO conference in Copenhagen. He’s turning a lot of heads and raising a lot of eyebrows with his vision on the way forward in this and related areas.

Erik is the guy responsible for LINQ. His team has already discerned, rightly I think, that the point of commonality to work from is to have a syntax (LINQ) that can query against arbitrary data stores (databases, arrays, DataSets, collections, XML, etc). With LINQ integrated into VB.NET and C#, and ultimately into the many other .NET-hosted languages that will doubtless choose to support it, there is in theory now a single syntax to master for any kind of querying, regardless of the source of the data. This brings IntelliSense and strong typing to all those queries as well.

LINQ has generated a good deal of controversy. It overlaps with established open source projects like NHibernate and SubSonic in bringing a language-integrated query syntax to the table. Some feel this is another manifestation of Microsoft’s classic “embrace and extend” philosophy. Some have suggested that Microsoft should simply endorse and/or sponsor one of the existing open source projects rather than reinventing the wheel, and potentially not doing as good a job anyway. Others dislike the amount of under-the-hood “magic” and the quality of the generated code, or object to the fact that in its current iteration, LINQ is pretty closely tied to the entities in the data store.

All of this is to be expected … but Erik is doing something now that is either the worst kind of hubris or insanely brilliant. He wants to apply this same kind of abstraction to the Internet as a whole and to arbitrary deployment hardware. As he describes it here:

As the Dutch artist MC Escher once said “Only those who attempt the absurd will achieve the impossible”. Hence we are trying to stretch the .NET framework to cover the Cloud such that it will become possible to incrementally and seamlessly design, develop, and debug complex distributed applications using your favorite existing and unmodified .NET compiler and deploy these applications anywhere.

He calls this “Democratizing the Cloud”.

We have no way of knowing at this point if Erik is just a visionary on a long but very real leash, who may or may not ultimately be permitted to realize everything he envisions — or if he has broad backing within the company.

We have no way of knowing if he’ll even pull it off. But the sheer audacity is both breathtaking and thought-provoking.

Imagine authoring a C# or VB.NET project using a single language and having it compile and deploy into whatever aspx, html, exe, dll or other components are needed. The promise is that you don’t have to spend all sorts of time gluing together heterogenous technologies, which in turn requires that you master them all.

Ayende expressed considerable skepticism about all this that may nevertheless overlook the many billions of dollars in Microsoft’s war chest:

I came out of [Erik's talk] with a profound sense of shock. If this is where Microsoft is headed, then they are in a real problem.

At the heart of Ayende’s bullet points of concern is that this will all tend to dumb down developers by treating SQL and JavaScript as “assembly language concepts” and hiding them behind layers of abstraction and magic. He sees it not as democratizing the Cloud, but as dumbing down the Cloud.

My take on it is that, assuming they pull it off (a huge assumption), it’s probably just going to cause the bulk of us to work at a higher level of abstraction and accomplish more ambitious things. Few of us write compilers or language parsers and even fewer of us know assembly language. Big loss! I would enjoy the mental challenge of becoming proficient at assembler, but no one has been willing to pay me to do so since the days when Z-80’s roamed the earth, when I did a couple of LS-DOS printer drivers.

In this vein, my clients would love it if I could woof out simpler code bases that did more things in the same amount of time.

I am, however, frankly skeptical that Microsoft will pull it off. WebForms was a much simpler abstraction, and I know an awful lot of people who think it’s an abortion. I am heading for the ALT.NET conference in a couple of weeks to immerse myself in that whole zeitgeist and see what merit there be in it and whether it has legs. But the very existence of a rogue movement to build on a different tool set is telling.

My guess is that Erik’s brainchild will be much like Vista: heralded as the Second Coming now, but Microsoft will gradually whittle away at the feature set until what we ultimately see in the wild will be about as revolutionary as Vista. In other words, just as Vista is Windows XP except that it’s prettier, slower and less reliable, Microsoft’s “Democratized Cloud” is apt to be WebForms and Web Services, only prettier, slower, and less reliable.

That is the appeal of ALT.NET to me — not its agile or open source orientation; that’s just religion. Not its leanings towards MVC architecture as such. But as a hedge against the likelihood (you read it here first) that Microsoft is building a baroque castle on top of the hot rod that is the CLR. I want access to a cleaner, more nimble and transparent API than what mainstream .NET may well be evolving into.

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment

Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

(required)

(required)


Powered by WordPress

Augmentin Avandamet Rhinocort Elavil Gasex Glucotrol XL Zelnorm Vermox Penis Growth Oil Nymphomax Adalat Prograf Geriforte Medithin Avalide Lariam Viagra Erexor Sarafem Confido Himplasia Arimidex Fosamax ActoPlus Met Mentat Cardizem Hytrin Cafergot Lasuna Mycelex G Hyzaar Buy Pro Erex Buy Lincocin Buy Viramune Buy Micardis Buy Nymphomax Buy Omnicef Buy Effexor Buy Accutane Buy Levothroid Buy Cialis Jelly Buy Femcare Buy Amoxil Buy Aleve Buy Cephalexin Buy Lotrisone Buy Acticin Buy Touch Up Kit Buy Metabo UltraMax Buy Orgasm Enhancer Buy Penis Growth Pack Buy Levlen Buy Styplon Buy Aceon Cheap Loxitane Cheap Differin Cheap Geriforte Cheap Dramamine Cheap Sinequan Cheap Hoodia Cheap Nolvadex Cheap Womens Intimacy Enhancer Cheap Medithin Cheap Female Sexual Tonic Cheap Purinethol Cheap Inderal Cheap Flomax Cheap Orgasm Enhancer Cheap Zimulti Cheap Erexor Cheap Avandamet Cheap Ceftin Cheap Buspar Cheap ZMA Power Cheap Wellbutrin SR Cheap Hoodia Gordonii HG p57 Cheap Singulair Cheap Avandia Cheap Soma Credit reporting system For low credit scores Commercial credit report Understanding credit score Credit report and Florida free credit report Chase credit card status 3 credit reporting agencies Beacon credit score Federal credit reporting act To credit reporting agencies Fix your credit report On line credit card applications Credit card offers Card credit reward travel Credit score formula Credit reports from all Credit free instant report Annual report credit Order credit reports Instant personal credit report Credit beacon score Juniper credit card application Free instant credit reports Airline credit card miles National credit card debt Vue prepaid credit card Credit card debt calculator Chase credit card complaints Is credit score Elan credit card services Balance transfer credit cards Fix my credit score Credit card machines uk Check credit report fix Credit scores of Credit report uk Balance transfers credit cards Average credit score Increasing credit scores Is my credit score Business credit report Redit card pros cons Acceptable credit score Credit card business industrial Credit reports for Fast credit score increase Credit card debt facts On line credit report Free credit reporting Order credit report Chase credit card application Credit reporting act litigation Credit report consumer Clean up credit report Affect your credit score Credit report annual Credit report online Chase redit card Getting a credit score Credit card debt history Credit score after bankruptcy Credit scores meaning Stop credit card offer Ranked credit card offers Mobile credit card processing Linkpoint credit card machine Credit card applications in Credit report disputes Student credit card debt Credit reporting columbia house Credit report service Cheap credit card uk 0 credit card offer Credit report agencies Credit report score understanding Credit cards 0 apr Anual credit report Application aspen card credit Credit score higher Credit card debt management Citibank credit card offers Great credit card offer Free business credit reports Introductory offer credit card Money bank credit card Interpreting credit scores Get credit reports Free credit report Credit card apply online Credit score services Interest credit card offers Credit card debt eliminate Equifax credit reporting Instant credit card offer Credit card consolidation loans Bad credit score Credit card application uk Credit rating score scale Free credit score Experian credit report Credit report.com Article credit card debt Consolidation credit card debt Credit card consolidation uk Stopping credit card offer Read my credit report Obtain a credit report Mint credit card deal Raise my credit score Experian credit report uk Reports credit cards Hurt my credit score Discover credit card offer Good credit rating score Of my credit report Repairing credit score Credit reporting codes Credit reports on Hsbc credit card Credit card application online Repair my credit report Apr credit card offers Credit card debt advice Credit scores by Compare credit card offers Prepaid credit card companies Credit card debt laws Unlimited credit reports Annual credit report request Get my credit report Aarp chase credit card Card consolidation credit debt Credit report companies About credit scores Card credit debt free Transunion credit score Free credit card report Application card citi credit Corporate credit card application Credit scores work Consumer credit reports Credit scores mortgage Freecredit report Credit reporting service Credit card application with Credit scores and Personal credit report canada Credit report identity theft Free anual credit report Improving credit score Credit score uk My annual credit report Landlord credit report Credit score rates With a credit score Credit report government The credit reporting Up credit reports Instant credit reports Fre credit report Visa card bad credit Fair credit reporting act Freecreditreports Credit report repair service Free online credit report To increase credit score Bank one credit card American credit card debt Credit fix repair report Stop credit card debt Instant credit reports uk Low credit scores Colorado free credit report Free transunion credit report Of credit score Company credit report Credit reports with Personal credit score repair Credit scores only Obtain free credit score Cic credit report Eliminate credit card debt Free yearly credit reports The best credit score Credit report canada Wamu secured credit card Uk credit card debt Hsbc rs credit card Check credit report equifax Providian credit card company Secured credit or card Canada credit report Online Femcare Lipitor Muscle Pain Hydrocodone No Prescription Online Furosemide Online Inderal Online Maximum Lipotropics Online Viagra Soft Tabs Online Rythmol SR Levitra Actress Online Avalide Online Lynoral Online Neurontin Online Cardura Online Valtrex Online Fosamax Online Ditropan Online Diamox Online MetaboSafe Online Anafranil Online Viramune Online Advair Diskus Online Pro Erex Online Medrol Online Levaquin Online Echinacea Online Betnovate Online Prevacid Online Male Enhancement Oil Online Vasodilan Online Glucotrol XL Lorazepam Online Cymbalta Online Endep Online Confido Online Keftab Online Depakote Lortab Online Prozac Online Methox 400 Online Anabol AMP Online Tribulus Lipitor Side Affects Online Bentyl Online Dramamine Online Geodon Xanax Addiction Vicodine Online Indocin Online Trimox Online Shoot Carisoprodol 350 Mg Vicodin Hp Online Colostrum 800 Tramadol Cod Zoloft Withdrawal Online Cardizem Online Hangover Helper Online Isoptin Online Nolvadex Online Amaryl Online Penisole Cialis Dosage Phentermine No Prescription Vicodin Lorazepam Overdose Online Liponexol Online Sumycin Online Evecare Online Differin Online Urispas Online Biaxin Online Antabuse Online Ventolin Online Styplon Carisoprodol Soma Online Sustiva Online Prinivil Online Casodex Online Vermox Diazepam Online Cafergot Online Detrol Online Melatonin Zoloft Side Effects Online Trandate Online Reglan Xanax Dosage Lorazepam Addiction Online Avapro Adipex P Didrex Diet Pills Cialis.Com Ultram Online Calcium Carbonate Online Zyloprim Online Desyrel Online Ponstel Viagra Side Effects Xanax Withdrawal Viagra Alternatives Online GABA (HGH Booster) Online Probalan Viagra Dosage Online Orgasm Enhancer Hydrocodone Apap Online Flexisyn Adipex No Prescription Xanax Abuse Viagra Online Tofranil Propecia Generic Phentermine Online Online Mentat Online Zanaflex Online Noxide Online Loxitane Online Lukol Levitra Drug Online Extendaquin Alprazolam No Prescription Online Hyzaar Online Pletal Online Zovirax Online Cialis Soft Tabs Online Relafen Online Quibron T Online Paxil Online Rocaltrol Online Coreg Online Mevacor Carisoprodol Online Maxaquin Online Tenormin Online Remeron Online Evegen Online Claritin Ativan Drug Online QuickBust Diazepam Dosage Tramadol Hcl Online Cystone Online Nymphomax