Saturday 23 June 2018

Microsofts profit model is to waste OUR time and not theirs

So, I work in the IT industry. I'm a developer, in C# mainly for my sins (which to be fair is a decent language with alot of good things to say for it). What annoys me is this:

Whenever you build in Visual Studio, when the compliation hits an error it cannot resolve it continues to compile. Now, this behaviour is pointless, the compiler KNOWS it's going to fail because its had a hard error. An error in compilation means that some part of the whole has failed. This, in all situations that matter, will mean the entire build failed. 

Now, there is some small advantage in continuing anyway on an error, the reasons to continue are:

  1. To assertain the extent of the error (is this just an isolated error or is something seriously out of wack, like wrong toolset).
  2. Collect ALL the known errors ahead of time so they can be worked on as a batch instead of individually
So next I'm going to tell  you why neither of these reasons are valid:

  1. Firstly, at the point you hit an error your 100% going to have to resolve THAT error in the end anyway. Your not going to be able to look at any subsequent errors before hand realistically. 
  2. Secondly, every error after the first one is increasingly unlikley to be a real error and is more likely to be the result of the first not being resolved. This is of course not 100% of the time, though usually even if you need to fix all the errors the first error's context is enough to figure out the rest.
What's the problem here? The problem here is that EVERY build Microsoft is spinning our wheels waiting for pointless compilation either telling us what we already know at worst or at best telling us about something we aren't yet concerned with.

Now, bring in distributed compilation in the form of TFS and other solutions. Everytime, as a developer, I finish my work locally I need to push it to a build server to make it production ready. Now, the build server hits an error in the first 30 seconds, so I know my build has failed. YET, it still continues to process 20 minutes of bullshit work!

Now, Microsoft have an error limit in their code, its set to 100 compile errors. The problem is, usually when submitting a build to a build server their are one to five errors, also typically their are THOUSANDS of lines of code.

In 10+ years, people have queried Microsoft about allowing this build error limit to be configured, Microsoft ignored that. Now, with the drive through of open source (and underpaid software developers) people have made their own solutions to this issue. The problem is Microsoft are deliberately not solving it because millions of customers delayed by long build encourages more investment in software and hardware to try to mitigate this simple problem.

No comments:

Post a Comment

What do YOU think?