Reputation: 57149
I always see people writing "C#" and "C#.NET". What is the correct name of this language? C# or C#.net? I'm sorry for this stupid question but it is really confusing (maybe there's another programming language named C#.net?)...
EDIT: if I'm programming against the .NET Framework, why call this C#.NET? Can I use the C# language with other frameworks?
Upvotes: 2
Views: 6081
Reputation: 154
C# is the name of the language on which it is built on the .NET framework. There are multiple other programming languages built on .NET framework like Visual Basic, F#, etc. So, feel free to use just C#.
There’s no need to add “.NET” unless you specifically want to emphasize its association with the .NET framework. So, feel free to use “C#” in most contexts1. If you’re working with C# methods, remember that calling a method involves using the method’s name followed by parentheses, like this: methodName(). Arguments (if any) go inside the parentheses2. Happy coding!
Upvotes: -1
Reputation: 1725
C# is language. But it's always C#.net because C# language added to the Visual Studio Family when the Visual Studio.NET released.
In Visual Studio 6, C# was not there.
In Visual Stuio .NET in 2002/2003, C# was introduced.
Upvotes: 0
Reputation: 192647
The other answers are close but not quite right.
In the same way, there is C++, and there is "Visual C++". The former is a language, the latter is a tool from Microsoft that you can use to write/compile/test/debug apps in the language, on Windows. (But again, most people use "Visual Studio" , which includes all the capabilities of Visual C# and Visual C++)
Upvotes: 7
Reputation: 3489
There was a time when the marketing guys at Microsoft were sticking the suffix ".NET" on to every MS product they could. Sometimes it made sense - e.g. to distinguish VB 6.0, and earlier versions, from what came after. Other times it was just marketing phooee; at one point I think they were going to rechristen all the server products with the .NET suffix: Windows.NET Server, SharePoint.NET Services etc.
But it was a short-lived phenomenon and quickly dropped (in some cases before the products were actually launched).
In the case of C#, there was no earlier version and only later the prospect of publishing the spec and seeing other implementations, so it made little difference whether it was called C#.NET or just C#.
I guess that's just marketing guys for you - they did exactly the same with the "Active" prefix before that...
Upvotes: 1
Reputation: 23338
The language is C#. C# is also a popular language on the NET platform, so people often say C#.NET. The same thing used to happen for C++, where people would call it Visual C++. In both cases, what they really mean is C# using .NET and C++ using MFC.
Upvotes: 0
Reputation: 99824
The C# language is only used with the .NET Framework. So when people say C#, it always means C# on the .NET Framework. Since C# isn't used with any other frameworks (as of writing this) the .NET in C#.NET is redundant.
Visual Basic on the other hand can either be the old VB Runtime or VB.NET. So VB needs the .NET qualification so you really know what you language you are really talking about because VB 6 and VB.NET are pretty different.
When I hear someone say C#.NET, it is usually from someone who isn't a programmer. Most recruiters see .NET appended to things like VB, Visual Studio and ASP, so they naturally append it to C# because for them, it is easier to just think everything is .NET.
Upvotes: 1
Reputation: 9668
C# is a language, .NET is platform.
There are lot of languages on .NET: C#, Visual Basic, IronRuby and more.
Upvotes: 18
Reputation: 2857
".NET" for the general branding for VS 2002. So it was attached to everything related to it also "C#" is always-dotnet by it's nature.
Upvotes: -2
Reputation: 48659
"VB or VB.NET" makes sense as there are both .NET and non-.NET versions of the language. It does not make sense with C# because there is only a .NET version.
Similar with ASP and ASP.NET. The non-.NET version is usually called "Classic ASP."
I've never heard the C# language referred to as "C# .NET" but I guess you could reasonably use that term (even if it's a little redundant.)
So don't worry, there is only one C# language.
Upvotes: 1
Reputation: 1387
When people say they are using "C#.Net", they mean they are developing on the .Net platform while using C#
Upvotes: 3
Reputation: 56450
The language is C#, and the framework/platform it runs on is .NET. C# is purely a .NET language, there is no variant of it that is targeted on another platform, unlike for instance Visual Basic (this is why VB and VB.NET can mean different things).
But C# is always "C#.NET" and is called just C#.
Upvotes: 3
Reputation: 18776
Basically,
The combination is C#.NET. There's also VB.NET, C++.NET, for when you're programming in VB/C++ against the .NET framework.
Upvotes: 4