Rethinking my dev stack

Against all odds, I’m still a big fan of .net. I like their core API, some of the surrounding stack, I *love* F#, the tooling (VS + Resharper). It’s a quite productive place to be.

However it’s undeniable the amount of innovation happening elsewhere, and the playing catch up that DevDiv’s doing. Some things we can mimic in .net (like a mvc framework based on Rails), but try to spawn/deploy lightweight processes the same way erlang does.

There’s a firm and passionate community around .net hanging there, witnessing their open source offering being abducted by the mothership. There are also communities around different stacks that seems to play a more important role and being appreciated for it.

For example, the way node.js was designed to support modules, anticipating that node itself is a lightweight kernel, and it’s usefulness is limited only by the imagination of its community. Js may have its problems (dont I know it!) but since it’s fully composable, you can define light contracts and unleash a world of plugins and combinations of how they interact with each other. Express seems to be doing that very well.

On the cost side of things, hosting a Windows solution on aws or azure is about double the price of their linux counterpart. The question is, does the productivity gain of the .net stack + tooling (which isn’t free) outweigh this operational cost that will last well, the lifetime of your app? I’m starting to doubt that.

So I took this holiday to experiment with node + aws + typescript. While there’s some rough edges, the learning curve is practically flat. The fear I always had is the growth in complexity of an app and javascript don’t mix well. But typescript seems to mitigate that gracefully. Another mitigation is the event emitters/listeners that node seems to encourage. Nothing new there, but a good pattern nonetheless.

The dev-polyglot movement seems to make more sense everyday. Be tied to a single stack is a liability, it can go up or down in demand Рand Microsoft had better days. So read about and go learn something new.