August 2017

Volume 32 Number 8

[Editor's Note]

MEAN Machine

By Michael Desmond | August 2017

Michael DesmondIt was August 2015 when Ted Neward officially settled down. Neward for years has used his column, The Working Programmer, as a platform to cover everything and anything—from his 10-part opus on Multiparadigmatic .NET development, to his experiment with an ELIZA-like intelligent conversation bot (this back in 2012, mind you), to his work with alternative frameworks and databases like Oak, Cassandra and MongoDB. And don’t even get me started on his brilliant LOLCODE column (—I'm still chuckling about that.

But it was two years ago this month that Neward—accidentally, it turns out—settled on a single topic. Since his August 2015 column, "How To Be MEAN: Getting Started" (, Neward has been exploring the popular MEAN stack, consisting of MongoDB, Express, Angular and Node.js. That article was intended to be the first of perhaps half a dozen columns exploring MEAN. Now, 24 months later, Neward is still at it. And judging by the online traffic his columns are generating, he could go another 24 months.

"I originally thought this would maybe be a six- to nine-piece series, and then we’d move on to some other things," Neward says. "In fact, I have a number of .NET-centric ideas waiting in the wings, including a piece or two on static code analyzers, which is about as far from the world of dynamic, typeless, JavaScript-y programming as you can get."

Neward describes writing about the MEAN stack as "both tricky and rewarding," with frequent, major updates unveiling green fields to explore. This was particularly true of the Angular 2 release in September 2016, which Neward describes as a "complete transformation," but he also singles out changes to both TypeScript and the ECMAScript language. And while Neward says MEAN can solve thorny problems that seem to bedevil other platforms, the bill eventually comes due.

"When you’re deeper in, you discover that what was easy on your old platform—like .NET or JVM or whatever—is not so easy here, and you’re forced to sit back in your chair and go, ‘Huh.’"

At the end of the day, MEAN is just an architectural stack, much like LAMP (Linux, Apache, MySQL, PHP) before it, and Neward cautions against ascribing too much to it.

"We talked about this a year or so ago: You can build an ASP.NET WebAPI + CouchDB + ReactJS stack, and call it ‘ARC,’ if you like, and have just as much success with it as you can with MEAN."

Neward should know. He’s been having success with MEAN for two years now, and he’s not done yet. In upcoming issues, he says he plans to dive into Angular Routing, and from there into testing and forms.

Michael Desmond is the Editor-in-Chief of MSDN Magazine.

Discuss this article in the MSDN Magazine forum