Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

There is C# code, VB.NET code... Can I also say ".NET code" as an umbrella term that covers all the languages you can use with the .NET framework?

I've seen people using it as well as people saying it shouldn't be used...

share|improve this question

closed as not constructive by JeffO, Glenn Nelson, Jim G., Yusubov, gnat Feb 25 '13 at 4:15

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

It is concise and gets the message across, although it's arguably not entirely correct. So my suggestion is you use it if you're talking to somebody interested in what you have to say and spell it out if you're facing someone who's more interested in impressing you with their nitpicking. – back2dos Feb 24 '13 at 21:09
I've seen people using it as well as people saying it shouldn't be used... Did you ask them why? – Jim G. Feb 25 '13 at 2:53
@JohnAssymptoth - Except there are more languages then just VB.NET and C# that use the same CLI. You could say this but you would not be correct. – Ramhound Feb 25 '13 at 11:58
up vote 2 down vote accepted

Common Language Infrastructure or CLI is the executable code and runtime environment that form the core of the Microsoft .NET Framework and the free and open source implementations Mono

Common Language Runtime (CLR) is the virtual machine component of .NET

Common Intermediate Language (CIL, formerly MSIL) is the lowest-level human-readable programming language defined by the Common Language Infrastructure (CLI) specification and is used by .NET

share|improve this answer
not sure how that helps the OP – rochal Feb 25 '13 at 2:23

A lot of such umbrella terms I've seen, like C/C++ or C++/C#/Java, or C-family, don't work at all. However, in the case of .NET, it's a lot more sane. This is because the Framework imposes a type system, base classes libraries, and such on every .NET language. So strictly, all languages which lower into CLR bytecode must have a fair chunk in common with each other.

You could also argue that .NET code would refer to the CLR's bytecode.

share|improve this answer
There are implementations of Brainfuck, Haskell, Pascal, Lisp, Ruby, JavaScript, Prolog, COBOL, Forth, Smalltalk for .NET. I don't think that they "have a fair chunk in common" ;-) – Jörg W Mittag Feb 24 '13 at 21:15

C# code could be running via Mono which isn't .NET. Thus something along the lines of CLI (Common Language Infrastructure) Code would be a better way of referring to it. The CLR is Microsoft's implementation of the CLI which is an open standard.

share|improve this answer

I'd say the .Net code term fits binary code (CIL Byte code) allot better then source code - and at that stage you're no longer talking about languages.

With .Net it makes some sense to use an umbrella word for all the languages that could be compiled into CIL targeting the CLR, but .Net languages sounds allot better then .Net code. This expression would of course tell you something about the binary compatibility of the resulting code, and almost nothing about the languages themselves. It's like calling all the languages that can compile code compatible with the Intel x86 a name: There was a time when that was useful, but not any more. There might also have been a time when that could have told you something about the languages themselves (along the lines of: they probably support pointers, they probably support function calls) - but again, not any more.

share|improve this answer

Well I work with .Net for a living and we (as in the organisation) always refer to it as .Net, irrespective of whether the code is written in C#.Net, VB.Net or when writing web front ends aspx.Net

I would have thought this is fairly widespread ussage. Certainly people in other componies use the same language. My current job title is .Net Developer.

So, yes, we call it .Net programming as an umbrella term.

share|improve this answer

Depends on the where the term is being used. If its marketing blurb about your company product technology then i'd guess it would do, but on your CV, looking for a job its a bad choice.

Think about the recruitment process from the side of the recruiter. They have 50 CV's on their desk and need to shortlist 5 for interview. Assuming you have the legal right to work in the country where the job is based (yep, people apply for jobs they cannot legally do) and have not too many spelling mistakes then the focus goes onto your technical ability.

If you are wanting to join a team of C# developers, and have C# development experience then for heavens sake, say it clearly. If your experience is VB, say that clearly too. The recruiter is then able to make a decision on if they are willing to cross train you.

On the other side, If you just say '.NET' then you create uncertainty. Uncertainty is another way of saying 'risk'. For the person recruiting, they want to interview candidates that are likely to be recruitable for the job. Are there 5 other people out there that have shown clearly how they could have the skills to do the job? If so, you've just missed the cut for interview.

share|improve this answer
Neither the companies nor the recruiters should get too hung up on the individual language -- C# isn't different enough from VB.Net that there's a lot of risk that a good developer wouldn't be able to switch between the two at need. – jmoreno Feb 25 '13 at 3:41

Not the answer you're looking for? Browse other questions tagged or ask your own question.