I'm talking supported builds, not signed builds. You know with the pile of pre-paid support credits that we get with our partnership agreement which are supposed to result in solutions. Every support call requires a week long argument with the lowest grade of software support who phone me up and ask if they can close the call every day without escalating it. I'm aware of the support options you mention, which basically result in "yes, just limp along with the dependency injection problems with ActionFilters in MVC3 for 6 months" or fork and fix it yourself. We chose the latter, but it's expensive so we might as well forfeit the partner agreement, use Open Source software and pay someone to maintain our forks and contribute patches to the products.
We've looked at NDjango, but it's based on F# and as we well know, unless a product is a mainstream MS platform then it's liable to go out of the window on a whim or is shrouded constantly with uncertainty (choke silverlight, original workflow foundation, XNA? etc).
Sorry if this is rather critical and slightly ranty, but I'm slightly pissed off with maintaining this mess.
Not related to the site, but now there is an audience... regarding asp.net mvc:
Can we have support and out of band releases for asp.net mvc without having to go through connect or partner support, which are both to be honest, utter shit?
Also can you get the API right and leave it right so we don't have to piss around for a week with our container and testing environment.
And finally, can you give us something better than razor which has a parser that isn't made of broken twigs and has proper separation of content and programming language (its horrid sorry). Jinja2/django/golang templates FTW.
Oh and sort out SQL 2012 licensing. It's going to cost us £768,000 to upgrade out kit from 2008 to 2012. Postgres migration is an order of magnitude cheaper.
I'm coming from a large asp.net mvc project and its not pleasant, sorry. Welcome to Microsoft centric development!
Not for a minute. The releases are pretty much shelved after v.next. To add to that, the support you do get is crappy, even as a gold partner. ASP.Net MVC is awfully designed and rather buggy as well from experience.
I've been using it on a huge project (145 controllers)since CTP2. I wouldn't use it again.
we're currently investigating werkzeug, python, sqlalchemy and postgresql as a replacement for a new project, particularly also because we got shafted by SQL 2012 per core licensing.
Agree about using data but the main problem is trust autonomy which allows them to develop incompatible systems. For example every damn A&E department in the country has a different software platform or configuration. There should just be one!
Oh that and NHS management, who should just be put up against a wall and shot. If you divide it across all trusts, each directorate member has pissed about 20 million of cash out of the window on stuff that hasn't delivered.
I was in a hospital the other day with my wife. I watched a senior consultant try and find a printer in AD (because the one on his desk was broken). This was to print a request form. It was very hard for him. The form exists because they have two systems with a paper integration path between them. There is some ceremony involved as well, because there is a quota on how many outstanding forms they can be processing. There is also a restriction on when the appointment can be made resulting in a weird set of rules which are virtually impossible to deal with effectively. The staff are completely depressed at having to deal with this every day.
Instead of wasting more money on this shitty PR exercise, perhaps they should fire Kelsey and all quango-esque departments and middle management who bought this, fire the outsourced idiots who built pieces of crap like this and hire a software team (google style!!!) to build new software and infrastructure across the entire NHS from scratch on Open Source software.
The amount of money the NHS pisses up the wall on contractors and management could build a country-wide system from scratch which solves all of these issues. I mean firing five management consultants could hire people to build an open source active directory replacement which would save millions in license costs (OpenLDAP doesn't cut it so don't go there). Another five management consultants would create a standard desktop operating system country-wide based on a COTS Linux distribution. Another 20 management consultants would replace a big chunk of the 105-or-so disjoint software platforms.
In the mean time, they could surely afford some training for their staff, to fix a few printers and to clean up poor integration paths like this. Then we might get to see our consultants rather than watch them argue with Active Directory.
Note: I've worked for the NHS before - it's an IT disaster, bar Guys & St Thomas trust which actually have a clue stick.
I tend not to write oodles of test cases up front in favour of simple scenario based tests applied later on. I add pre/post/invariant-condition checks in the code as I write it. It is tested incrementally by hand.
The condition checks prevent the what if's and tell you why something broke. The scenario tests ensure that it does what is asked of it.
I rarely get bugs raised against my code (7 this year out of about 112,000 lines of c# written). Not bad!
It is also true when testing is included and pylint are used, which is the issue.
I can write a 500 line C# program and it works reliably first time with no crashes, type inference errors or framework exceptions thrown. The only errors will be algorithmic or functional (i.e. based on requirements).
And this and VBA is why office is so irreplaceable. I wrote a report generation tool in 1999 with word 97. It picked a report definition off a file share, assembled documents from fragments on disk (up to 50 pages a pop with tables, graphs etc) and emailed them or printed them. 2000 documents an hour on a single Pentium pro 200 with 128mb of ram on NT. It took 2 days to write and was used until 2009 by 9000 users
This was just word, com and nothing else. Even the application host was an instance of word.
I doubt it could have been done with anything else then or now.
Better solution: tell them you're an ex OpenReach engineer - they let you right through to second line straight away. Repeat the story until you get what you want.
We've looked at NDjango, but it's based on F# and as we well know, unless a product is a mainstream MS platform then it's liable to go out of the window on a whim or is shrouded constantly with uncertainty (choke silverlight, original workflow foundation, XNA? etc).
Sorry if this is rather critical and slightly ranty, but I'm slightly pissed off with maintaining this mess.