4 ms·
I thought the idea behind .NET CLR was to make it easier to use whatever language makes sense for the problem without worrying about whether it can be integrate
by harigov 11y ago
I thought the idea behind .NET CLR was to make it easier to use whatever language makes sense for the problem without worrying about whether it can be integrated into the overall system. By making C# into a language for everything, MS isn't using strengths of .NET to its advantage. I would much rather learn 10 easy languages that work together than a single, complicated monster of a language that I can never wrap my head around (read C++).
- ygra 11y agoI'd argue that C# is still much simpler and easier to understand than C++. But in any case, one major problem with .NET and multiple languages in a single project is that a compilation unit is an assembly. So you can write one assembly in one language and another in a different language, but that's about the extent of being able to mix languages in a project. Which just may be not fine-grained enough.
- tracker1 11y agoNot only that, but when you do mix languages in the same solution VS has a history if getting confused... I used to bring in VB.Net when I had to deal with a lot of XML after they added XML literal syntax (similar to E4X), but it was never added to C# (though LINQ was, go figure). In any case, it gets really messy.
- titanix2 11y agoActually assembly is the minimal unit of deployment, not compilation. The minimal unit of compilation is the netmodule[1]. You can compile from different languages as netmodules, then link the resulting netmodules together in an assembly. By the way, this is not a scenario supported by Visual Studio, so it requires using command line tools. So for any practical purpose, you're right that multi-language solution require the use of multiples assembly projects, which is tedious. [1] http://blogs.msdn.com/b/junfeng/archive/2005/02/12/371683.aspx http://blogs.msdn.com/b/junfeng/archive/2005/02/12/371683.as...
- ygra 11y agoOh, didn't know that. Thank you. But it seems indeed like this scenario is neither really advertised, nor supported by IDEs, so adoption is probably very low.