After our team put the idea forward to redevelop from scratch rather than upgrade the current system (5 developers, 2 of which write in COBOL and manage the change/control of the current system, but 4 of us are C# developers. The math is correct — one of the COBOL developers also uses C#) we were told C# was not the way to go. Incidentally, the person that made this decision has, to the best of our knowledge, zero programming experience.
So my question — as a C# developer, my opinion is rather biased — what would be a better option than C#, considering:
The main program will be the core of the entire company
The main program needs to have a Windows app version as well as a web-app version, which must both work simultaneously.
There is also a requirement for a mobile-app for field agents, which whilst not working entirely the same way as the core program, will need to integrate seamlessly.
The current program does, and the future program must, input AND output multiple formats of file (including, but not limited to, Excel, CSV (comma separated, tab-separated, pipe-separated, asterisk-seperated, to name but a few), XML, fixed-width text files, and PDF versions of all the above).
There are also plenty of business rules that dictate how and when certain processes must take place and even the way in which we take on new work.