Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I agree, but would add this.

Microsoft's (development) tools have never had any underlying principles other than: enabling people with minimal knowledge to get stuff done.

Thinking back through MFC, COM, VB v1-6, Access, SharePoint, WebForms and ADO.NET, none of them were characterised by any particular architectural purity or design aesthetic. But they enabled a generation of corporate developers to hack stuff together quickly (I know MFC and COM aren't all that easy but they were easier than just using the WinAPI). Which is why businesses liked the Microsoft stack and hence 9-5 developers flock to them.

What's interesting is that in recent years Microsoft has been infiltrated by other schools of thought. It's like there's a three way war going on. On the one hand there are VB.NET people using WebForms, EntityFramework, VSS and SharePoint to hack together stuff that will be thrown away in 2 years. The TFS, SQL Server, BizTalk and Dynamics people want to bring in some enterprise style rigour to the whole thing. While the C#, Linq, MVC crowd are trying to keep everything loose and open.

I doubt this is any kind of conspiracy to retain mindshare. It's just that Microsoft got big and Bill Gates started stepping back, so it lost much of it's direction.

I sense a real but rarely articulated confusion among the 9-5 developers about all this new stuff. There are 3x the number of frameworks and tools coming out of Microsoft these days, which ones will all the enterprise recruiters be looking for in 2 years? Nobody knows.



> ...hack together stuff that will be thrown away in 2 years

Hah! Just like those all those VB6 apps that have been thrown away?!


So true, but I think he meant "hack stuff together with the intention it will be thrown away in 2 years"


More like "hack stuff together because if we don't get more business quickly we won't be around in 2 years anyway"


Well, if I may, even more like "hacking stuff together that SHOULD be thrown away within two years but never is".


Maybe he meant "should have been thrown away".


I lead a small .net shop up until 2005, when MS decided that integrated unit testing was only going to be available in their Team Edition, which was $1,500 per seat. They later retracted, but we were already drinking python and ruby kool-aide and never looked back.

Although I really enjoyed C#, everything else about the community and ecosystem will eventually be a killjoy if you value your work over your resume.


I agree, C# is aweesome as a programming language. With Mono, an open source implmentation of .NET framework, it virtually runs cross all platform, even supports iPhone apps with MonoTouch.


This. Right now, as a .NET developer myself, it is impossible to keep up with all the new frameworks that Microsoft are releasing.


Hint: you don't need to. Use what works for you.


I disagree. Or at least, you will cause problems for other people. One of my coworkers was delivered a Windows app by a third party - it was written using MFC. I said, "Seriously? In 2010, MFC? MFC was bad even before it became obsolete." My coworker said, "They used it once before and decided it works for them, so that's what they use."

Here's the thing: part of being a developer is keeping up to date. If you find one thing that works for you and don't ever update you are not doing your job.


Learning all the intricacies of a framework takes a lot of time. Once a time, I was all for learning new things, but guess what: I discovered that old tools still delivered.

Sometimes the less dependencies factor matters too. Having to quickly develop a diagnostic application for users to download, a couple of years ago, guess what I chose: Visual Basic 6. Right, that ancient tool. No matter what, the application was easy to develop and the executable was a few kilobytes, with no requirements other than Windows 2000 SP4.


There are definitely limits. I'm not suggesting you use a 20 year old technology like MFC. However, using .NET 3.5 instead of 4.0? Just fine.


Why did it matter what it was written in, if it met the spec?


That's great in theory but once an application becomes big and settled it is usually too big to just 'upgrade'. Upgrading becomes a massive time sink and when there's other deadlines pressing for stuff that your clients will actually notice then upgrading won't happen. Ballmer wants to release a new VS every 18 months. Just skip every other major release and save yourself 1/2 the pain and effort.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: