My opinion would be that enable contract-based development with interface, and developer should be able to code a class in whatever language he wish, and probably separate low/high level classes in different assemblies. As long, as the classes respect the requested interface and implements the requirement there should be little problem.
Post Made Community Wiki