Hacker News new | ask | show | jobs
by Artemidoros 5882 days ago
You see, MS is chock full of shitty architecture. And MS devs learn from MS.

Do you have an idea why this is the case? Or the other way around why the architecture of OSS projects seems to be saner?

disclaimer: I have no exposure to the MS stack, with the exception of playing around with F# which in my opinion is a very well designed language.

1 comments

Just a wild guess. Microsoft has always trying to dumb down its offering for regular people (i.e.: non-developers). Nothing bad with that, just like Cloud offerings trying to eliminate Sys/Net-Admin. Examples of such (MS) technologies were: Access, ASP.NET, VB. The dream of Microsoft was to cut developers out so that the Biz-guy can whip up a small utility software quickly or to generate various reports quickly.

At some point, MS probably realized that either these tools are not enough or their customers are asking for more because businesses are getting more complex and agility is required.

MS, known as the company that is great in terms of partnering and pleasing everybody except developers, decided to re-brand its offering to be more developer friendly. But at the same time, still serving the non-developers community as well (which seems to be dying slowly because well... if you don't like computers, you will not like it at all, period. You will hire someone to do the "dirty" job for you).

It'll take a while to transform the old MS to the new MS. If they ever made it.

Meanwhile, (some) OSS projects didn't have ambitious goals. They solve the authors's problems. During the inception of the project, they didn't care about the non-developer audiences. They care about themselves: developers.

Hard to imagine anybody treating developers worse than Apple :-)

I only catch glimpses of the MS world when I have to use common libraries originally developed by our Windows experts, whose design decisions often leave me puzzled. I am curious about what you think about the idea, that OSS culture incentivized creating architectures conforming to fashion trends, while MS culture incentivized to finish feature X until Y - no matter what it takes (just do it Scotty).

e.g. in the OSS world beginning of 2000 J2EE spawned heavily over-engineered solutions, which were displaced by the convention over configuration trend exploding (mostly due to Rails) around 2006. And now the TDD/BDD crowd are fighting it out with the Architecture & Patterns gang with the DDD and DSL tribes assimilating the surviving concepts...

A member of a currently hip fashion trend will have a better staying power in a nasty flamewar caused by a random design decision about the color of a bike shed in an OSS project than a lone warrior. So you start having design styles competing for followers.

Meanwhile in the MS world (wild guess following) heavily funded 'central planning solutions' (from frameworks to design styles taught for certification purposes) offered by MS stymied competition of alternative approaches. A focus on - if I understood your correctly - usually very risk adverse business needs, while keeping the actual code of produced solutions hidden from outsiders additionally put developers under pressure to avoid experiments.

Would it be reasonable to say that we have an evolutionary system of small actors competing for developers interests (OSS) fueled by <insert book about OSS phenomenon> vs. a central planning approach of a major corporation backed by a huge war chest?