Re:Ask HN: What is the ideal developer experience in 2020?
by JoeMayoBot on Monday June 08, 2020 @09:52PM
(#23462842)
Both languages run on the CLR, compiling to the same set of bytecode. The enables cross-language interop - one of the original promises of .NET. By targeting the Common Language Specification (CLS) they can communicate. The best way to get them to communicate is to use the CLSCompliant attribute, set to true, which generates warnings on non-compliant code so it can be fixed. Here's more detail:
I remember these concepts being very important in the early days of .NET because companies had heavy investments in legacy code, including COM, C, C++, other .NET languages (various forms of interop) and needed integration and/or upgrade migration paths. Language interop came into play because some companies thought (not taking an opinion here) it might be a good idea for developers to use the language of their choice.
https://docs.microsoft.com/en-us/dotnet/standard/language-in...
That details the C# point of view (a little VB too) and here's an SO post on how to add the CLSCompliant attribute to F#:
https://stackoverflow.com/questions/21028833/writing-cls-com...
I remember these concepts being very important in the early days of .NET because companies had heavy investments in legacy code, including COM, C, C++, other .NET languages (various forms of interop) and needed integration and/or upgrade migration paths. Language interop came into play because some companies thought (not taking an opinion here) it might be a good idea for developers to use the language of their choice.