Alon Gubkin
Alon Gubkin

Reputation: 57149

Is it C# or C#.NET?

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

Answers (12)

Anchit
Anchit

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

Firnas
Firnas

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

Cheeso
Cheeso

Reputation: 192647

The other answers are close but not quite right.

  • C# is the language, it is specified in an ISO standard.
  • .NET is the platform from Microsoft.
  • Visual C# .NET was the name of the developer tool in 2002. The name was shortened to "Visual C#" with the 2003 release. The more popular, expansive cousin is "Visual Studio". Subsequent to 2003, Microsoft dropped the independent commercial product called "Visual C#" (along with Visual Basic .NET) and introduced the free Express products. The current version is called Visual C# 2008 Express Edition, some people call it "Visual C# Express" for short.

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

Gordon Mackie JoanMiro
Gordon Mackie JoanMiro

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

Eric Palakovich Carr
Eric Palakovich Carr

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

Bob
Bob

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

x2.
x2.

Reputation: 9668

C# is a language, .NET is platform.

There are lot of languages on .NET: C#, Visual Basic, IronRuby and more.

wiki

Upvotes: 18

Mikhail Orlov
Mikhail Orlov

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

finnw
finnw

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

Anthony M. Powers
Anthony M. Powers

Reputation: 1387

When people say they are using "C#.Net", they mean they are developing on the .Net platform while using C#

Upvotes: 3

reko_t
reko_t

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

iKenndac
iKenndac

Reputation: 18776

Basically,

  • C# is the language you're programming in.
  • .NET if the framework you're programming against.

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

Related Questions