Re: I Confess
"Executive summary: The world does not work on VS20xx developed code and is not likely to -- ever. We need better tools."
If I could upvote this more I would. Those of us old enough to have written code in the days when memory was measured in Kilobytes are often ignored by the cool new kidz.
Android 4.4 requires nearly 2Gb of storage just for itself and "should" run in 512 Mb of RAM. We stand in awe at how "modern phones have more processing power than a 1990s mainframe". But ignore that all that power is sucked up just running an email client.
I can recall the days of VB6, being able to sit with a business user and bash out a quick-and-dirty application for them more or less in real time then walk away with confidence it would keep working.
No, we didn't have deep Computer Science constructs such as generics, delegates or lambda functions. But for 95% of Line-of-Business applications being able to bang it out in a week won over spending three months designing a beautifully pure architecturally perfect platform. Yes, there were times I was knee deep in VB6 code and wished I'd written it in Java, or C++ for that matter. But there were plenty of other times when the speed of connecting everything up and plugging in a tiny bit of business logic *while the user who needed it was there* made me much happier.
Good programmers write good code no matter what language they are using - bad programmers can make a mess in C#, F#, Erlang ...
Today we not only have gigantic frameworks, but the prevalence of the internet means it's nigh on impossible to have confidence your code will work, keep working, and deploy nicely to a new server too. If it's not Patch Tuesday tripping something up, it's a minor undocumented glitch buried somewhere deep in the recesses of the millions of lines of code on top of which your three text boxes and a button app sits. Anyone who tells you every single deployment they have made with .net went without a hitch has either been amazingly lucky; is a genius who has someone psychically absorbed all the workarounds required for various non-working pieces of the framework; or has only written tiny simple "example code" systems.
The people who comment that no-one should take 20 minutes to compile an application seem unaware that the world has been in recession since 2007.
A former employer has staff still using 2006-era machines. Hard to justify buying new shiny-shiny when staff are being ushered out the door to the dole queue.
But customers still want their new systems, so the poor programmer has to run at least VS2010 on a wheezing 2-4Gb Core2Something. Should the coder need a fire-breather of a new machine with "more processing power than a Cray" just to create a tiny little tool that makes querying someone's database easier? Probably not.
It is the pareto effect at work - as the old joke goes, 80% of problems can be solved with duct tape and WD40. But as programmers we have a horrible tendency to dismantle the entire house just to fix a light switch.