I know this is getting a lot of fanfare but let us apply four major costly problems I'm having with the CLR/Framework at the moment:
1. Microsoft.Build.Tasks (the bit that has been screwing with me all day) contains static sealed classes with nothing in them. I thought this was a reference source rather than a source of empty interfaces and empty implementations? Still having to resort to reflector to find out what is going on. Problem not solved.
2. So, ReaderWriterLockSlim has a bug in it with respect to low CPU allocation in virtual machines where 20 concurrent threads accessing a locked object at the point of write cause the spin lock in the implementation to thrash and up blows a race condition taking out the process. I can actually see where the bug is now. Where do I submit this bug, bear in mind I can actually recreate it? I phoned up our MSDN rep - they said raise it on Connect. There isn't a place for it on Connect. Phone up generic paid support, three levels of technical staff bounce me around for a week. as a PAID UP GOLD PARTNER, this sucks. If you open your source, track bugs openly too. Problem not solved.
3. This is only the core framework. We really need the entire lot including all dependencies and external tools. There aren't any symbols on symbol server or this for VSTO or Sharepoint for example? What we do get is another black box somewhere in the system that we can't inspect or poke inside even though it's a wrapper for a COM API or a product API. Problem not solved.
4. Does Rosyln/next MSBuild support parallel compilation? Being tied to a single compilation core on a VS2013 build means we have 8 core Xeons sitting there doing nothing. Our only hope of speeding this up is cranking up to high end i7 to get one core with crazy integer performance. 20 minute sit down compiles are too much these days. http://xkcd.com/303/
I understand this is progress and Roslyn is cool and all that, but what does it deliver for every day users of the CLR/Framework? It doesn't really make our day much easier. In fact stuff that really improves developers' lives has stopped appearing completely and instead we get tedious reengineering projects and new features designed only to lock us further into the system (VS online+sign in anyone?)
Also how does this compare to say LLVM/Clang?
I imagine this semantic compilation stuff will make some static analysis stuff easier and stamp on the toes of Coverity etc but that's about it.
Edit: sorry if this is purely a content-free rant and unpopular but after 12 years of this crap from Microsoft, I want to see new wheels, not the same ones reinvented and remarketed. Developers are lapping up this crap constantly as if it's as good as it gets. We need some REAL CHANGE towards openness and consistency and to ask the community and users what they want rather than telling us what we need.
So you have found some esoteric issues that are likely encountered by less than .01% of developers and this is somehow 12 years of crap from Microsoft?
I find it funny (not really) that somehow this floats up as the top comment when most developers have no clue what he is talking about but since this is HN and someone is saying how bad Microsoft is then lets upvote. Microsoft killed my pappy and all (ht to shanselman) so I must do everything I can to make sure no one else dares like them.
So, instead of addressing his points, you instead chose to make fun of it, criticize HN and invoke a marketing piece to somehow prove your stance on the matter. Nice going.
Note that I find Roslyn an interesting project and it's always a WTF for me whenever I touch .NET that I'm not able to easily view/step through the source code of everything I use, including the standard library, so for those suffering, this article is actually good news - and I'm fed up with negative and uninformed opinions on anything interesting, especially on my current platform of choice that's very trendy to bash lately, which I won't name because it would defeat the purpose - because it's much easier to provide uninformed, non-constructive criticism then it is to build stuff, plus we tend to treat our favorites as sports teams with us behaving like cheerleaders, am I right or what?
But for the uninformed reader, such as myself, comments such as yours just add to the noise, I mean WTF?
I get your point but I do empathize with the OP in the msoft bigotry here gets really old. Those of us that use it feel ostracized and bucketted to second class citizen status. For those lost in the .net world, I'll say the feeling is mutual on the other side of the fence.
I suspect part of the grind is that code changes for microsoft requires a litany of testing and release planning and such. Being beholden to a paying userbase ties ones hands in numerous ways (god forbid their patch breaks something else). That said, there is no excuse for sloppy communication.
NEWSFLASH: Stepping through the framework sources has been available for several years. Roslyn, which is a re-architecting of the compiler itself is not somehow going to change this or make it better.
Oh, so can I open the project in the IDE, click on any identifier and have the source-code of the library in question automatically downloaded, after which the IDE would navigate to the right file and line? I also expect it to work while debugging, no matter the library I'm using, including the standard library, so does it work?
Because that's what I expect from a "modern" developer's environment in year 2014.
Which ecosystems? And if you work in those as well then why are you bothering with an ecosystem that has "several orders of magnitude more crap"?
.01% is a small number - so you have 3,000-4,000 problems with the CLR and .NET framework.
Sorry to translate literally, but this kind of gross exaggeration and lack of data is what creates the "Microsoft sucks!!" attitude that is based on a 10-year old reality (at best).
I'm not sure if you're meaning something else, but is /M or /MP not the direction for you? Though C# compiles can be pretty long, my experience is it's usually File I/O and ancillary tasks that take up the majority of the time spent building. Even our primary product which is an absolutely enormous webapp with tons of projects takes only 11 minutes to fully compile and about 5 of that is just shuffling files around.
To take from another conversation, msbuild is very powerful but it's not very usable at all. So much tribal knowledge and secret handshakes you can't learn unless you have a contact in devdiv.
Beyond that, I've opened 3 incidents with Microsoft in the past and they've been nothing short of amazing. One guy even busted out an assembler and stepped through my code to identify that our issue was actually a deliberately closed accidental exploitation path. Enormously frustrating at the time, but he even provided a workaround for us but, like you say, it took several months.
To be specifically productive though: I feel like Roselyn does provide lots of value to developers in terms of what VS plugins can do. There are infinity re-implementations of the MS Compiler out there in terms of plugins and analysis tools. Would be nice to have everyone at least speaking the same language. I think the other thing this initiative does is put the license out there with permissiveness and clarity. Mono can feel comfortable lifting the concepts and integrating it in to their own without worrying about being sued now. This is all great things that they are making available their compiler as a tool and non-platform limited licensing. But - it's only a step it's not the end-game.
What are things you think really improve developers' lives that microsoft used to build they don't build now?
It's always been bad. I'm the chief technical contact for a system with 50 developers and about 11,500 users. We've raised 20 cases which we couldn't work around and had one officially released solution (bug in IE11). We either have to work around or push a registry fix at great cost to thousands of users worldwide as an out of band patch that we package ourself.
For example there was a regression in ClickOnce with download prompting between IE8 and IE9 due ot the download bar throwing away some compatibility settings. Overnight, when IE9 became mandatory in Windows Update, we had 2000 users down. We got all the users to roll back to IE8. It took 6 months for a registry fix to be sent out to us from a 3rd line support executive after being on the phone daily about it. This is still not fixed in IE11. We've rewritten all our ClickOnce launch points to work around the regression. This took one developer 2 months of work. The regression appeared in the RTM IE9, not the previews.
As for that being the correct place, it's obviously not as the issue was raised there, marked private and closed as not reproducible despite test cases being issued. Not a single contact back from Microsoft bar "closing as can't reproduce". Our rep suggested contacting another support team. Even they aren't helpful.
I have a 100% reproducible (hang/freeze) bug in Visual Studio, with crash dump and everything. It's in 2012, so it'll probably never be fixed. The one developer who responded ignored the information I provided, anyway.
If you browse through connect there's some really unhelpful responses from Microsoft and many people trying very hard to report problems in the most helpful possible way without getting a response. The idea is good but execution is weak.
The c# build system (assemblies) is completely mis-designed for performance. I wish .net assembly modules were supported for separate compilation and link step.
It's hard to disagree with what you've said, especially after Phoenix fiasco. Also, it's quite a shame that opening bugs for open source software requires following through on Connect.
"Yo .NET Reference Source Release, I’m really happy for you, Imma let you finish but I have the best self-proclaimed content-free rant of all time. Of all time!"
Transport in London is cheap and easy. The problem is if you have to commute great distances. A shit bike can get you around most places and as someone who walked to and from work every day for a bit (10 mile round trip daily), it's actually pretty good.
1. I lived in a car in London for 6 months. It was pretty fine. McDonalds was my washroom.
2. These boats are rare. I mean really rare. This is not the norm. The boats and the moorings are damn expensive so this doesn't make sense even for the landlords. Even crappy moorings cost.
3. You can go to the council and get a bedsit if you're in this situation. Literally the next day. Might have to share with a crackhead for a week but that's life.
4. There are plenty of other places to go in the UK where the salary/housing cost ratio isn't crazy. I lived in Nottingham for a bit and had a 5 bedroom detached house in a nice bit for £500/month. £230/month will get you a 2 bed flat better than this.
> These boats are rare. I mean really rare. This is not the norm. The boats and the moorings are damn expensive so this doesn't make sense even for the landlords. Even crappy moorings cost.
My Girlfriend lives on a house boat in battersea and its beautiful and bigger than most flats we have looked at. The moorings are crazy expensive though hers is a bout 650 per month of sunk cost - then obviously plus the cost of the boat and cost of oil to heat it (no gas to central heat).
I feel sorry for this guy but as someone points out, there is council accommodation exactly for this reason (wage =/= rent).
I live on a boat and don't pay mooring fees. I'm a "continuous cruiser" which means I move my boat every two weeks to a new location. All of my fellow boating friends do the same and most of us have pretty nice boats. And yes, the boats described in the story are very rare.
I can't say I've seen anything like the ones described in the story in my time on the water, with the exception of one 25ft fibreglass that was pretty much abandoned save the odd homeless person who used to sneak on it.
I'm actually amazed that the Canal and River Trust would even give a license for such a boat.
Most boaters I know have lovely boats and are incredibly proud of their homes.
It's not on a Canal and River Trust waterway. It's the Thames above Teddington Lock, which is controlled by the Environment Agency. Historically the EA has fewer powers on rivers (because it doesn't own the riverbanks) than CRT/BW does on canals.
The boats in this article are moored about 1/4 mile from where I am right now. This particular riverbank is owned by the council - it's essentially a strip of parkland. As far as I understand, mooring is free, but you're not supposed to stay more than a few days. Certainly not the years this small floating shanty town has been growing there. That's why the article mentioned that the council has been taking legal action to move these boats on.
This is the exception not the norm. Most people don't live like this but i have to agree the prices for renting in London are completely crazy and don't even think about buying a house or getting a mortgage.
I really wish i could buy a house in London (renting it out wold pay for the mortgage and some other bits) but there's no way in hell any bank would give me the amount necessary.
Only rich people and the ones that got council housing will ever be able to live/work in London cheaply.
We arguably rich people have the funds necessary for living in London cheaply in the long therm.
If you buy the house you will never have to pay rent ever on the other hand if you rent you may rent for the rest of your life and adding up all the money you spend on rent over your life would more then pay for the house.
A typical house in London is worth about say £300000 an you're usuall rent for a house like that if you're lucky would be about $1200 but more like £1500 if you want to be realistic.
That means that if you rent for more then 21 years (if you're the luckiest guy in london and find one with a rent at £1200) you have already payed for the house (if we ignore inflation and other things).
Regardless in the long run purchasing the house is the way to go however very few banks a willing to give out that kind of money so only the people that are already rich can pull it off.
If you buy a house, you miss out on all the other things you could do with that money, eg earn a return on the bond market. (That's what economists call opportunity costs, and they are realy.)
So, rich people have enough resources to live in London, but not to live in London cheaply either.
You can not ignore inflation and yield of alternative investments for these kinds of arguments.
Free market! London housing!? The politicians are all getting second homes funded by the taxpayer. The banks went bust but got bailed out by the taxpayer. "Emergency" low interest rates for the last 5 years.
The UK / London housing market is anything BUT a free market.
I agree, and the banks should have been allowed to fail. There should not have been any bail out. But that's a completely different argument to the one of "is there cheap enough housing".
The Guardian is often extremely left-wing and by far the worst of the broadsheets at letting their opinion bleed through into their news pieces. Just different types of editors than the others. Doesn't mean the other broadsheets don't push agendas, it just that the reporting tends to be less emotional and the manipulation is subtler.
This does appear to come from the 'society' section though, which I think is more of a magazine section. Magazine sections tend to be opinion pieces.
Wow, the North is much cheaper than the Midlands and the South! My sister lives up North and housing is much cheaper than the Worcester area where I live.
A friend of mine (who is well known in the London tech community, and might pop up here) has lived on a house boat within spitting distance of London bridge, it's not a 'slum' but rather cheap, centralised accommodation.
Microsoft (and their staff individually) actually contribute to the Linux kernel so this isn't that crazy.
You can already get office 365 for iOS. Not sure about android but it's logical.
This appears to be the budget/developing world side of things. I'd prefer to see WinPhone on low end devices to be honest - it's really good even on low spec handsets.
I see this as that much marketed "devices and services offering" they are always going on about. They're making a killing from Azure etc and Windows Live/outlook.com is the most mature and featureful cloud thing. They're actually shit hot these days.
I still prefer my old fashioned Unix way of life though as I don't want to become a paid up ecosystem slave.
Nobody I know uses Microsoft's lockin. Some prefer google's or apple's, but increasing numbers are trying to escape from being a data source for advertising and the NSA and ditching google, apple, and MS.
I agree that this is the next hurdle. To just from Microsoft's desktop embrace to Google's cloud embrace is to switch one master for another even though Google has shown itself to be an excellent open-source champion in terms of their Summer of Code effort and the amount of client (and server?) software they develop in the open. But lock-in is lock-in no matter how comfy the handcuffs.
I had CTS surgery on my left hand back in 1998. Pretty ok since but the thing that killed me to start with was a big old mechanical IBM Model M and Windows Alt-Tab. The only keyboards I've used since are Cherry value line, IBM ThinkPad and MacBook Pro. No problems so far. I've also gone uber-careful on posture and working environment. I still have problems holding smart phones and touch devices.
CTS surgery recovery is horrid though. You can't hold anything for a few days. Forget work for a month at least and this wasn't even my dominant hand. The most annoying thing is that it really takes 6 months to heal properly and occasionally your hand just stops working. Didn't hurt a bit though after surgery.
Agree with the author - make every keystroke count.
1. Microsoft.Build.Tasks (the bit that has been screwing with me all day) contains static sealed classes with nothing in them. I thought this was a reference source rather than a source of empty interfaces and empty implementations? Still having to resort to reflector to find out what is going on. Problem not solved.
2. So, ReaderWriterLockSlim has a bug in it with respect to low CPU allocation in virtual machines where 20 concurrent threads accessing a locked object at the point of write cause the spin lock in the implementation to thrash and up blows a race condition taking out the process. I can actually see where the bug is now. Where do I submit this bug, bear in mind I can actually recreate it? I phoned up our MSDN rep - they said raise it on Connect. There isn't a place for it on Connect. Phone up generic paid support, three levels of technical staff bounce me around for a week. as a PAID UP GOLD PARTNER, this sucks. If you open your source, track bugs openly too. Problem not solved.
3. This is only the core framework. We really need the entire lot including all dependencies and external tools. There aren't any symbols on symbol server or this for VSTO or Sharepoint for example? What we do get is another black box somewhere in the system that we can't inspect or poke inside even though it's a wrapper for a COM API or a product API. Problem not solved.
4. Does Rosyln/next MSBuild support parallel compilation? Being tied to a single compilation core on a VS2013 build means we have 8 core Xeons sitting there doing nothing. Our only hope of speeding this up is cranking up to high end i7 to get one core with crazy integer performance. 20 minute sit down compiles are too much these days. http://xkcd.com/303/
I understand this is progress and Roslyn is cool and all that, but what does it deliver for every day users of the CLR/Framework? It doesn't really make our day much easier. In fact stuff that really improves developers' lives has stopped appearing completely and instead we get tedious reengineering projects and new features designed only to lock us further into the system (VS online+sign in anyone?)
Also how does this compare to say LLVM/Clang?
I imagine this semantic compilation stuff will make some static analysis stuff easier and stamp on the toes of Coverity etc but that's about it.
Edit: sorry if this is purely a content-free rant and unpopular but after 12 years of this crap from Microsoft, I want to see new wheels, not the same ones reinvented and remarketed. Developers are lapping up this crap constantly as if it's as good as it gets. We need some REAL CHANGE towards openness and consistency and to ask the community and users what they want rather than telling us what we need.