Talk:C Sharp (programming language)/Archive 1

message: Certain cynics have suggested that C# should be pronounced complete hash. — Preceding unsigned comment added by  213.3.87.59  (talk • contribs)  02:26 30 Dec 2002 (UTC)
: See-Pound is also sometimes used (by me, at least!). -mhr 07:09, 18 Nov 2003 (UTC)
replies: text: Cynics of nearly everything have alternate pronunciations/spellings for products they wish to jeer. Point? Samrolken 09:53, 18 Jan 2004 (UTC)

text: To add a reference to the whole "C-Hash" thing, I give the infamous TheRegiter's take on it all:  they also have some opinions of readers on the issue:  and yes, it's all very cynical. But hey I've pronounced it 'C Hash' since before I knew how it was supposed to be pronounced, and I still do out of my cynicism. - SHayter 23:43, 20 August 2006 (UTC)
thread_title:  Complete Hash 

message: I noticed Dysprosia changed all the instances of C# to C#.  While I realize this would be correct for music notation, I have never seen C# written this way (even by Microsoft).  If no one objects, I'll change it back to C#.  Any objections? 
Also, I changed the notation in the example from the K&R/Java style to the C++/C# style which is preferable for C# code. —Frecklefoot 14:19, 4 Aug 2003 (UTC)
replies: text: You were absolutely right about this, Foofy. The large majority of readers (more than 95%) will just see screwed up characters, not the intended character, regardless of which is more correct. Let's stick to # and think about our readers. Deco 18:52, 1 August 2005 (UTC)
thread_title:  C# to C<sup>#</sup> 

message: I wrote a C# critique at (a dead link now) which I believe should be added to the external links. I won't add it myself because that could be construed as blatant self-promotion. — Preceding unsigned comment added by  66.130.152.126  (talk • contribs)  23:17, 6 July 2004 (UTC)
replies: text: I read it, not bad.  I added it to the list, but we should probably trim a few if the list gets any longer.  Get too many links and the list becomes worthless.  Next time, dude, sign your post (anyone can still go back in the history and see who made the post, but signing saves them the extra work).  You can sign your post by using 3 tildes (~~~) or 4 (~~~~).  The latter gives your signature a timestamp.  If you're concerned about privacy, create an account.  If you sign posts without an account, your IP address is shown.  With an account, just your username is shown without any other information. Peace. :-)  — Frecklefoot | Talk 13:51, Jul 7, 2004 (UTC)
Have a look at the OpCodes enumeration in System.Reflection.Emit. The MSIL is stack-based. Obviously compiled MSIL is targeted to a platform.
phx — Preceding unsigned comment added by  203.26.206.130   (talk • contribs)  07:19, 21 April 2005 (UTC)
thread_title:  C# Critique 

message: Why was this article added to the this category? C# is not part of the Java family of languages in any formal sense -- it may have been influenced by a lot of Java features, but it was influenced by C++ and Delphi features as well. There are pretty significant aspects of the language (and especially the base class libraries) that differ from Java. I'd say this category ought to be reserved for languages that have some kind of formal relationship with Java (e.g. they compile down to Java bytecode in their standard implementation, they can seemlessly interop with Java, the language is an extensive of Java like Pizza is, and so on). Neilc 03:21, 21 Aug 2004 (UTC)
thread_title:  Category: Java programming language family 

message: This should be de-acronymed and defined. — Preceding unsigned comment added by  71.35.0.241  (talk • contribs)  23:50, 4 March 2005 (UTC)
replies: text: The CLR is the Common Language Runtime.  This allows multiple languages to be 'compiled' to a standard in which the JIT (Just-in-Time) compiler can interpret. — Preceding unsigned comment added by  207.232.98.235  (talk • contribs)  19:35, 9 March 2005 (UTC)
thread_title: "CLR" is used without being defined

message: From the article:
:As in Java, only single inheritance is available, but a class can implement any number of abstract interfaces. This functions mainly to simplify the runtime's implementation.
Is there a reference for the claim that the lack of MI is "mainly" for the purpose of simplifying the runtime implementation? I would think a major reason for not including MI is that some people consider to be too complex, implementation trickiness aside. Neilc 05:16, 1 May 2005 (UTC)
replies: text: Well, the implementation of CLR is one problem, CLS compliance is the another. We cannot tell which is the main problem, but C# as the "mainstream .NET language" can not (and should not) support multiple inheritance. An interview with Eric Gunnerson about this issue can be found here http://www.artima.com/intv/dotnet.html 84.47.7.5 00:06, 7 Jun 2005 (UTC)

text: The fact that C# does not implement MI is because it has no choice, because the CLR does not (and it would be gruesome to implement it on top of the CLR). The reason the CLR does not, on the other hand, has nothing to do with language feature complexity, because C# could still have chosen to drop MI even if the runtime supported it. On the other hand, I suppose they might have reasoned that they have no intention of building a language with MI on top of the CLR, so that was part of why they chose not to support it. Deco 01:58, 7 Jun 2005 (UTC)
thread_title:  MI? 

message: I think it is interesting to know things like when C# 1.0 first came out and when the standard was accepted. Hirzel 09:11, 16 July 2005 (UTC)
thread_title:  Timeline 

message: I noticed this fact in the naming section:
:Another name for the # symbol is "octothorpe", which when combined with a hard C sound, results in the pronunciation "cock-toe-thorp". This form, spoken emphasising the first syllable, is occasionally used as an expletive by programmers.
As crass as programmers are, I find this a little difficult to believe. Anyone have a reference? Deco 00:25, 3 December 2005 (UTC)
replies: text: I have not received any reply in two weeks, and so I am removing this claim. Deco 20:44, 16 December 2005 (UTC)
replies: text: I don't know about the specific claim, but the ANSI name for the # character is octothorpe. — Preceding unsigned comment added by  Geo Swan   (talk • contribs)  04:57, 17 December 2005 (UTC)
thread_title:  Suspicious naming fact 

message: As part of the on-going difference of opinions on the name of the language (of which I think I have the least popular one), I'd like to get a better understanding of how the language came to be.  I understand that Microsoft "submitted C# to the ECMA for formal standardization", but what does this mean to the evolution of the language?  I have always assumed that Anders Hejlsberg created the language while employed with Microsoft.  But who commissioned it?  How was it "born"?  Who started the standardization process?  Did Microsoft go to ECMA or the other way around (I assume the former)?  And, in the end, who "owns" the language? - Chris 02:23, 12 December 2005 (UTC)
replies: text: The question of "ownership" seems impossible to answer. The ECMA standard defines the language, but not the extended C# implementation published by Microsoft, and Microsoft's is really the only implementation of the language (other than the incomplete open-source ones). I don't think anyone has the power to decide how the standard must be interpreted in particular situations, but there are certainly figures whose opinions are respected, such as Hejlsberg. Deco 05:24, 12 December 2005 (UTC)

text: Good comment Chris. However, why do we have to assume that it was ECMA who approached MS? Cheers -- Svest 21:20, 21 December 2005 (UTC)
replies: text: Indeed, it seems I can see nothing to support that assumption.  As well, from reading a few more articles, I see nothing but the standard line about the language being developed by Hejlsberg at Microsoft. - Chris 14:31, 28 December 2005 (UTC)
replies: text: That would mean that he got paid for that job! In other words, as long as there are no information about how Hejlsberg started developing the language, in case he did before joining MS, we must say that the language was developed by MS. Cheers -- Szvest 18:08, 28 December 2005 (UTC)

text: I think only a part of C# is standardised via ECMA (the core of the language, and not for example the Forms, etc... parts that are specific to the MS environment (still can be emulated, but may be not so simply). Why not adding this sort of information on the "Standardization" section ? Hervegirod 09:51, 14 May 2006 (UTC)
replies: text:  Because it's wrong. Windows Forms are part of the .NET framework, not C#. --Craig Stuntz 13:11, 15 May 2006 (UTC)
replies: text:  It seems that the ECMA standardization of C# is adressing the VM and syntax part of the language, and not its librairies. The ECMA standard states that The Standard specifies: The representation of C# programs, The syntax and constraints of the C# language, The semantic rules for interpreting C# programs, The restrictions and limits imposed by a conforming implementation of C#. If I am right, it should be fair to explain this in the standardization section. I agree that most of the libraries are part of the .NET framework, but the libraries are also important for the users. Hervegirod 19:02, 15 May 2006 (UTC)
replies: text:  Not "most of the libraries," all of them. I don't know of any parts of the C# language which are "specific to the MS environment." However, it might be worth noting that the C# and BCL standards are widely confused, and that many people presume that things which are actually part of the BCL are parts of C#. --Craig Stuntz 19:10, 15 May 2006 (UTC)
replies: text:  you are right, the bunch of terminologies (.NET, C#, CLI, CLR, etc..) can create some confusion, it is also the case in Java (JDK, JRE, VM, Java, bytecote), but I think it is more confusing in C#, because there are more acronyms Hervegirod 20:03, 15 May 2006 (UTC)
thread_title:  Standardization and "ownership" of the language 

message: * This # is a pound sign. Every person I talk to says C Pound. Can we please change this?--God of War 18:51, 3 January 2006 (UTC)
replies: text: Change your friends? That's your job! Tell them to stop pronouncing "C++" as "C increment" while you're at it. :-) Deco 02:24, 6 January 2006 (UTC)
thread_title:  "C Pound" 

message: Why are article titles not allowed to have the # sign?? Georgia guy 19:31, 15 January 2006 (UTC)
replies: text: Because HTML URLs reserve it to separate a page name from an anchor name created by the A REF tag. Deco 20:04, 15 January 2006 (UTC)
replies: text: Click on a link in a table of contents, and see how it is used in the URL.--Max  Talk [ (add)] • Contribs •  00:59, 7 February 2006 (UTC)
thread_title:  # sign 

message: This edit added  to the article without any discussion on the talk page. What is confusing about this article? The Rod 22:14, 14 February 2006 (UTC)
thread_title:  Confusing 

message: I removed the reference to Java as a proprietary language in the Politics section.  Given that Java has a community process which directs its progress as a language (The Java Community Process; see also http://www.jcp.org/en/home/index), it either deserves mentioning or we should choose more clearly proprietary languages as examples.  No need to introduce needless controversy. :)  Taft 22:36, 6 March 2006 (UTC)
thread_title:  Java as a proprietary language 

message: Some dates, such as when the language was first released, would be nice. Dan100 (Talk) 18:08, 27 March 2006 (UTC)
thread_title:  Dates 

message: There's a significant and obvious contradiction between the C# vs Java article and the main C# article, specifically, about garbage-collection.  The main article states, "A common misbelief is that they are garbage-collected, though they are not; they are true value-types and are stack allocated (with an exception for System.Object, and due to interning, System.String)." while this article begins, "As two modern garbage-collected runtime-compiled languages derived from C and C++, Java and C# are very similar."
I'm not familiar enough with the lanugage to fix this myself, but wanted to note it for others to take a look at.
Cross-posted to the Comparison of Java and C# talk page. —The preceding unsigned comment was added by 65.100.221.52 (talk • contribs)  2006-04-10 05:28:23  (UTC)
:There is no contradiction betwen those two correct statements. Like Java, C# implements garbage-collection for objects allocated from the heap. The local value type variables to which the C# article refers need no such heap allocation since they are kept on the stack. The compiler takes advantage of the limited lifetime of those value variables and still uses garbage collection for the heap-allocated objects to which any reference variables refer (although the stack-based references themselves are freed when the method returns). The Rod (☎ Smith) 05:40, 13 April 2006 (UTC)
replies: text: And like C# Java uses stack allocation for local varables. (Side note: Stack for local varables has been around forever.... cobal didn't and fortran did... of course newer versions of these language do.) Hogan 00:09, 29 April 2006 (UTC)
replies: text: To be precise, the compilers of those languages use stack allocation for local variables. Obviously a compiler (for whatever language) can store variables anywhere it wants as long as the results are the same, and not all architectures have a stack as a natural part of memory (the CLR and the JVM do, obviously). Even global variables à la COBOL and Fortran could be allocated on the stack if the compiler detected the variables are live only within function calls (rather than across), but this would be difficult and error-prone and requires a closed-world assumption. 194.151.6.67 14:05, 12 May 2006 (UTC)
thread_title:  Contradictions Between Articles 

message: ...per ECMA, the name is C# (C sharp,) not C box, C square (however you pronounce the character.) What does that mean?? Georgia guy 00:47, 24 April 2006 (UTC)
thread_title:  HTML comment near the beginning of the source says... 

message: The article states that "C# was designed to fit both demands for a concise syntax (C++) and 'unlimited' rapid development (versus the 'limited' RAD of Visual Basic)."
Several assertions are packed into this short sentence:
1) C++ syntax is concise.  (it supports concise expressions, but the overall syntax is arguably non-concise).
2) There is such a thing as "unlimited" RAD. (what would that mean?)
3) Visual Basic only supports "limited" RAD. 
4) C# had RAD support as a design goal. (I doubt it.)
I'd like to remove the entire sentence.  Any objections?
:I agree. There is nothing concise about C++ syntax (it contains a great deal of redundant elements). It's evident they were thinking in comparison to VB - BASIC has always been verbose, using complete words for most of its elements. The other stuff just doesn't make sense. Deco 19:35, 29 May 2006 (UTC)
thread_title:  Claim regarding RAD-ness seems questionable. 

message: I corrected some mistakes. 
1) ref counting is NOT used to detect objects eligable to GC.  Other methods are used. 
2) Dispose does NOT make the referring object object eligable for GC. Dispose informs an object that it should release its unmanaged resources.  That's it. Leotohill 18:35, 31 May 2006 (UTC)
thread_title:  Memory management corrections 

message: :When combined with Windows and Web Forms and Visual Studio, it provides a scripting language with the power and performance of C++ with the ease of use and user interface design of Visual Basic for Windows and Web ASP.NET clients. It is designed to be safer, more productive, and easier to use than C++, somewhat like dull school scissors compared to sharp scissors. It is commonly deployed only in Windows environments with the large CLR runtime installed. Most sample code on the Internet is either C# or VB.NET. There is also a managed version of C++ which some have adopted for porting C++ programs such as 3D games, but source samples are scarce. If you want to develop new applications for Windows on PCs, and you have a bachelors degree in computer science, and you don't need to port to other platforms, and accept some memory and performance penalties in exchange for increased productivity, then C# is the language of choice.
I'm going to clip this paragraph out because it doesn't seem encyclopedic.  If somebody wants to add it back or revert then go ahead, but the tone needs to change if stays. —TheMuuj Talk 22:18, 31 May 2006 (UTC)
replies: text: Tell me about it. This is a ridiculously biased paragraph with virtually no information content, just colorful metaphors and bold unsupported claims. Thanks for cutting it out. Deco 23:39, 31 May 2006 (UTC)

text: I agree.  Leotohill 00:00, 1 June 2006 (UTC)

text: I second that. -- Szvest 12:36, 5 June 2006 (UTC)
thread_title:  Wrong tone and questionable content 

message: Based on some discussion in the VB talk, I created a new topic for comparing C# and VB. It needs significant work, but I think it will be a valuable topic. Have at it. Gaijin42 20:02, 5 June 2006 (UTC)
thread_title:  C# vs VB 

message: This statement claims that Gtk# is a language:
:The "sharp" suffix has been used by a number of other .NET languages that are variants of existing languages, including J# (Microsoft's implementation of Java), A# (from Ada), F# (presumably from System F, the type system used by the ML family), and Gtk# (a .NET wrapper for GTK+).
While I know that is not the intent, it is still a little awkward as it is.  I've pondered how to reword it but I can't seem to come up with anything that doesn't read worse (although being more clear).  Anyone else want to take a shot?  --Chris (talk) 19:40, 11 June 2006 (UTC)
thread_title:  Gtk#... a language? 

message: I didn't like the section with the programmer's joke, and now its been revised to something even more convoluted and contrived.  
I'd like to delete it.  Comments? Leotohill 03:21, 14 June 2006 (UTC)
replies: text: I rewrote and shortened it. It could still use a source, though. What do you think? Deco 02:35, 14 June 2006 (UTC)
replies: text:  It's better.  Thanks. Leotohill 03:21, 14 June 2006 (UTC)
thread_title:  The Programmers joke is boring 

message: I've removed a couple of sentences from the section.
"The relevant patents covering the .NET implementation were released for public use. "
I'm not sure that this is true or correctly phrased.  "Released for public use" is not the right language for a patent. Can anyone provide a reference to this claim about patents?
"However, the standard library provided with C#, including the extensive GUI library, is not open or completely documented, so an independant implementation which can run all programs 
written for Microsoft's C# would be difficult and of questionable legal basis "
C# is a specification.  No library is provided with it.  This statement confuses C# with the .NET framework.  C#, the specification,  does not require the framework. It does not even require the CLR (CLI). 
We need to divide this topic into two parts, or separate topics.  One is C#, the specification.  This would describe the characteristics of the language free of .NET framework context.  
The second topic would be "Microsoft C#".  This would describe Microsoft's implementation of the spec, and could freely use .NET framework elements in the examples and other text. 
Leotohill 21:32, 14 June 2006 (UTC)
replies: text: Also, I believe the correct name for Microsoft's implementation is "Microsoft Visual C#."  Even the commandline compiler (csc.exe) refers to itself in this way.  —TheMuuj Talk 21:55, 14 June 2006 (UTC)

text: The correct wording would be "licensed freely for public use", or something like that. Yes, parts of the article referring to Microsoft's specific implementation should be qualified as such. Deco 00:23, 15 June 2006 (UTC)
thread_title:  Politics: Don't confuse C# with the .NET framework. 

message: I reverted the changes by 70.17.32.75 that removed a sub-section about how C# is sometimes pronounced (see C_Sharp#Language_name).  I don't think the edit was vandalism, but I don't think it should be removed without discussion, either.  Feel free to remove it again, but include an explanation of why it should be removed.  I have heard people refer to the language by the names mentioned, so it is not a factual error.  However, if the information is not encylopedic or otherwise violates policy, then by all means re-remove it. —TheMuuj Talk 05:48, 20 June 2006 (UTC)
replies: text: I think it should be removed.  It's trivial and distracting. (perhaps move it to a "Trivia" section?)  Also, I never heard the symbol referred to as "gate".  Maybe it is, but not enough to cause confusion. Leotohill 11:56, 20 June 2006 (UTC)
replies: text: Trivia sections are the garbage pile of Wikipedia. Since its inception, C# was always defined (and publicized) as being pronouced "c-sharp". Any other pronounciation as always been done after-the-fact and jokingly. --Spookfish 02:47, 20 July 2006 (UTC)
thread_title:  Reverted Removal of "C Pound" 

message: The Hello world example section states:
:Console is a system object, representing a command-line console where a program can input and output text.
This may be a bit pedantic of me, but technically Console is a static class, and therefore there is never an "object" of that type.  This is different from Java, where System is the static class and Console() returns an object, but in .NET, Console mostly consists of helper methods that call methods on Console.In and Console.Out.  It's probably helpful to think of it as an object, and the design is a simpler way to implement the singleton pattern (rather than something like Console.Instance.WriteLine).  But is it correct to call it an object?  I don't know how to change it without making it confusing, so I'll leave it as is.  —TheMuuj Talk 21:50, 21 June 2006 (UTC)
replies: text: Speaking of "pedanticity," there is no System.Console() method in Java.  There are three fields of System: in, out, and err (which can be reassigned to redirect output/input/error).  --Chris (talk) 23:10, 21 June 2006 (UTC)
replies: text: Actually, there is (or will be) a System.console() method, but it appears to be still in draft.  (See JDK 1.6 Spec).  I did get the capitalization wrong, but that was out of habit. —TheMuuj Talk 23:24, 21 June 2006 (UTC)
replies: text: Why are you comparing currently released .NET aspects with yet-to-be-finalized aspects of a still-under-development Java? Secondly, static class methods can be thought of as methods of a singleton (global instance) object of that class. The concept of "object" doesn't just apply to class instances... a Java "Class" instance is proof of that since there can only be one instance of it per class definition. --Spookfish 02:31, 20 July 2006 (UTC)

text: I'd be ok with changing it to "Console is a system class, ..." Leotohill 03:48, 22 June 2006 (UTC)
thread_title:  System.Console is not technically an Object 

message: What if someone creates a language called C Flat?? What would the symbol be?? Georgia guy 23:26, 7 July 2006 (UTC)
replies: text: Any serious computer language takes a lot of effort to develop. No serious developer(s) would go to that trouble to only then call it some joke/pun-on-words name. It would certainly result in no one taking it seriously enough to do any major development with. --Spookfish 02:52, 20 July 2006 (UTC)

text: I would imagine "Cb."  Or "B" if you wanted to be really clever. —TheMuuj Talk 02:08, 8 July 2006 (UTC)
replies: text: Ah, but there already was a B. Deco 02:36, 8 July 2006 (UTC)
replies: text: So C-flat would be a .NET implementation of Bell Labs B? —TheMuuj Talk 02:55, 8 July 2006 (UTC)
thread_title:  I don't think this will ever happen, but... 

message: why this link does not meet the criteria for external links:
*C# Online.NET - free, wiki-based C# and .NET encyclopedia and forums
but these do:
*CSharpfriends community   
*C# forum and community
--70.104.16.183 17:20, 18 October 2006 (UTC)
replies: text: Personally, I'd say that neither is sufficiently relevant. I don't think we need more than one "community" link anyway, and that one should preferrably be the most prominent C# community site. Those are often wikis, true (consider CLiki), but apparently not in this case (yet, anyway). Considering how fast wikis tend to grow, it would get some leeway in my opinion if it were a true wiki, but it's neither Free (copyright to all contributions is assigned to creators of that page, and they explicitly reserve the right to deny access to information to anyone they please, and use it for any purpose, including commercial) nor ad-free (plenty of Google text ads). So, my say would still be no. And remove the other two links as well, unless someone gives a convincing reason for why they are there. -- int19h 05:23, 20 December 2006 (UTC)
thread_title: Would someone explain to me why this link does not meet the criteria

message: It is obvious C# is normally strongly typed, but doesn't it allow for weak typing using the implicit type casts a programmer can specify? Shouldn't we note that in the Typing discipline part of the box at the top of the page? --85.145.148.191 02:46, 30 July 2006 (UTC)
replies: text: I thought that it was generally accepted practice for implicit casts to only be used for widening conversions, which really doesn't make C# any more weakly typed.  Most strongly-typed languages allow for widening conversions, because there's less potential for bugs to spring up. There is the possibility of writing a Variant-like class that's like a tagged union and can be implicitly cast to any of the primitive types, but I still don't think that would make C# weakly typed, because you'd still be explicitly specifying the casting behavior somewhere in code. So the weak type behavior would still be limited to classes that are designed that way, and not any classes/types. —TheMuuj Talk 04:45, 30 July 2006 (UTC)
thread_title:  Possibility of weak typing 

message: Then either link to one, or provide an external link! Loganberry (Talk) 03:15, 9 September 2006 (UTC)
thread_title:  "The public static void portion is a subject for a slightly more advanced discussion." 

message: We say both:
:This article describes the language as defined in the ECMA and ISO standards, and avoids description of Microsoft's implementation. For a description of Microsoft's implementation, see Microsoft Visual C#
and
:the Microsoft implementation of C# is by far the predominant one, and this article describes its characteristics and behavior, unless noted otherwise
This is confusing, and somewhat contradictory. — Matt Crypto 11:38, 25 September 2006 (UTC)
replies: text: I tried to make the article focus more on the ECMA standard and less on MS quirks in the recent cleanup edit, so I've removed the "this article describes its [Microsoft's implementation] characteristics and behavior, unless noted otherwise" statement and "contradictory" tag for now. But I'll appreciate if someone takes another look and checks if nothing of a kind has managed to slip past. -- int19h 12:33, 28 September 2006 (UTC)
replies: text:  Thanks for looking at that, cheers. — Matt Crypto 19:39, 28 September 2006 (UTC)
thread_title:  Microsoft's implementation 

message: Should this page mention the XML documentation mechanism? What is that called, anyway?
I don't think that the XML documentation is specific to Visual Studio, either; it was mentioned in an appendix of the C sharp standard, as a recommendation, I think or something like that. 68.198.48.49 03:21, 14 October 2006 (UTC)
replies: text: Yes, it is part of the standard, so it should probably go in here as well as the Java/C# comparison page. I'll try to come up with something. -- int19h 07:19, 15 October 2006 (UTC)
replies: text: I've done it. The section is pretty minimalistic as it is. Does something like this deserve its own article? Javadoc has an article. 68.198.48.49 18:37, 23 October 2006 (UTC)
replies: text: I've expanded it a bit with info about standardization. Even so, it's pretty short (which is perfectly okay - we're not describing the language in detail here), so I don't think a separate article is worth the bother. Not sure why Javadoc has one, actually - it looks like it would be better placed in the main Java article. -- int19h 07:28, 24 October 2006 (UTC)

text: There's also the question of whether or not linking to other documenters, even by way of an example (I'm thinking of NDoc here), might not also be a good idea.  NDoc, in my humble experience, is a pretty popular way of doing code documentation and adds a few tags to the "standard" which one can find in sample code occasionally.  Whether it's popular enough to be characterized as a de facto 'standard' is another matter.  Does it matter if one points to examples where NDoc tags seemed which were not implemented in .NET Framework v1.1 seem to have been embraced in v2.0 & later? ross613 19:40, 25 January 2007 (UTC)
thread_title:  XML Documentation? 

message: Does anyone else find this wording strange: "He can be cited in interviews and technical papers as stating flaws in most major programming languages". Is there a better way to say this? I can't think of one off the top of my head though. Timbatron 04:59, 23 October 2006 (UTC)
thread_title:  "He can be cited in interviews" 

message: "EMCA" and "ISO" standards are unadopted standards.  C# is a Microsoft product; any other variations can not be considered C#.
What, are you next going to replace the Microsoft Windows article with an article about WINE and then put 'Microsoft's implementation' in a different article? —The preceding unsigned comment was added by 137.45.72.17 (talk) 02:11, 13 February 2007 (UTC)
replies: text: I don't understand what you are trying to say here, or what you mean by "unadopted standards".   Leotohill 02:31, 13 February 2007 (UTC)

text: C# is a language standardized by ISO and ECMA. Microsoft product is called Visual C#, and it fully implements those standards. Other implementations of the standards are Rotor by Microsoft, and Mono and DotGNU by third parties. With four widely known implementations in existence, I fail to see how the standards are in any way "unadopted". -- int19h 06:26, 13 February 2007 (UTC)
thread_title:  Factual Error 

message: :The term C# is a play on words similar to the language name C++: the expression C++ in the language C means C incremented by one, and the author of C++ named the language C++ in reference to its incremental improvement over C, while the sharp in 'C#' implies that it is a 'step up' from C. A sharp symbol can be broken apart into four plus signs, so the name C# might be rendered as C++++, and the meaning being that it is C++ incremented by one.
There's no source for this. Is this original research? - furrykef (Talk at me) 19:42, 12 March 2007 (UTC)
replies: text:  Good for you, for removing it.  All these theories about the meaning of the name are just speculation, afaikt.  Here's another one: "The name is meant to suggest 'see sharp(ly)', as in having acute vision or knowledge."  I just made that up, but it's as good as the others.  Wait, here's another: "The name is a double pun on 'The sea is flat'" . It  means that C# is the language for navigating seas that are not flat (i.e., are sharp)."  Wait, here's another... oh, never mind.  Leotohill 01:18, 13 March 2007 (UTC)

text: This section keeps being re-added with sources that are not reliable.  All of the sources I have seen are tutorials making speculation along the "someone once said..." lines.  This is not an appropriate citation.  We have an email from Microsoft, the authority on this subject, stating definitively where the name of the language comes from -- this is a primary source.  I will continue to remove content that claims that "#" is made up of "++++" unless there is a proper citation.  --Chris (talk) 16:18, 6 May 2007 (UTC)
thread_title:  C# - play on words? 

message: The recent edits have, among other things, changed the coding style to Java-like "braces on same line as statement", with edit description of "consistent with the most common style". I would argue that it is by no means the most common style for C# - Microsoft's coding style is doubtlessly the most prevalent, being described in MSDN, used in all their examples and demo programs, and enforced by default in Visual Studio - and it does put braces on separate lines. So I think that's what we should do here as well. -- int19h 08:18, 23 April 2007 (UTC)
replies: text: I'm not sure how you got the impression it is Microsoft's or MSDN's style to use "braces on separate lines". AFAIK nearly all of their examples, including those in the Visual Studio documentation and online (random example), use the more compact style. About the Visual Studio setting, I'm not sure about that, and can't really confirm it without a reinstall. But in the end that's just a setting. For small code samples like this though, the "brace on same line" style imho prevents the examples from cluttering the article. (The readability of the examples themselves is entirely subjective.)  – Chip Zero 09:20, 23 April 2007 (UTC)
replies: text: It looks like they're changing it then. In my copy of MSDN that came with VS2005, I cannot find a single example written in such style. I just tried looking for "examples (C#)" in the Index, and then going through them one by one - same thing, they all show a very consistent style, with braces as in ANSI C style, separate lines. Here is the "official" collection of Microsoft samples for C# - how about looking there for guidelines on the style? I'll do it myself as well, as soon as I have a little bit more time. -- int19h 17:18, 23 April 2007 (UTC)
replies: text: Looks like they aren't as consistent as I thought then; never really noticed they also have examples in "brace on separate line" style. All the examples in the main API help section – basically any non-trivial method has one - seem to be "brace on same line". – Chip Zero 19:38, 23 April 2007 (UTC)
thread_title:  Coding style 

message: See Talk:Microsoft Visual Studio‎. --Stefán Örvarr Sigmundsson 03:35, 27 October 2007 (UTC)
thread_title:  Article name 

message: The latest language specification of C# has already been publish so it's not a "future product" any more, is it? Shouldn't  be removed? --Stefán Örvarr Sigmundsson 11:56, 15 November 2007 (UTC)
replies: text: Is there any other providers rather than microsoft ? I mean Borland for example   A M M A R  22:27, 16 December 2007 (UTC)
replies: text: No complete implemention, as far as I know. But does that really matter? Not only is the standard published but there is at least one implementation. Angus Lepper(T, C, D) 22:36, 16 December 2007 (UTC)
replies: text: I found this link on Google , Borland C Sharp. I don't think Borland stand on the same standard , as well as Borland C++ .   A M M A R  20:31, 17 December 2007 (UTC)
thread_title:  Version 3.0 

message: There were pages and pages of discussion about this article, now all gone. Someone revert them back. grr (talk) 00:41, 20 November 2007 (UTC)
replies: text: Hasn't the discussion simply been put into the archives? --Stefán Örvarr Sigmundsson (talk) 18:33, 20 November 2007 (UTC)
thread_title:  What the hell? 

message: In this edit, User:Warren deleted this text: "This article describes the C# language as defined in the ECMA and ISO standards. For a description of Microsoft's implementation, see Microsoft Visual C#", saying "per WP:SELF, we shouldn't be discussing the article's contents, in the article".  
Yet we have these two pieces of text just above: "The correct title of this article is C#. The substitution or omission of a # sign is because of technical restrictions.
This article is about the programming language. For the musical note, see C♯ (music)."
Assuming that we have agreement that the removed text correctly describes the purpose of this article, was it's main failing that it wasn't in italics? Also should it have been at the very top like the others? 
I know that snippets like this often get created using WP templates, but I doubt if one exists that explains the difference between ECMA/ISO standards and MS implementations of such standards.  I can see nothing but benefit from typing our own where necessary. --Nigelj (talk) 19:50, 17 December 2007 (UTC)
replies: text: For what it's worth, in my opinion the text that was deleted was not in violation of WP:SELF. Read the standard. --RenniePet (talk) 21:20, 17 December 2007 (UTC)

text: Just my take on it: the disclaimer seemed a bit unnecessary to me. — Matt Crypto 21:33, 17 December 2007 (UTC)
replies: text: OK, a bit more research and I think I understand it better now. The problem is mirror sites, who use WP articles under our splendid licence terms, but don't want their users bounced over to the real WP when they follow a link. (This doesn't happen with all normal wikilinks, so I don't know why the one in our paragraph would have been any different, but anyway...)  So, it's not just being at the top, or being in italics, it's apparently about being a "non-WP-SUBST" template.  Template:Selfref seems to be just the job, and seems designed for the case in hand.  I tried using Template:Otheruses4, and it would have worked except that we want different text for the MS article than it's actual name (#  vs sharp again), and that doesn't seem to be possible with that one.  Phew. --Nigelj (talk) 22:52, 17 December 2007 (UTC)
replies: text:  though I made an edit that attempted to restore the text, I now agree with Matt Crypto and others that it doesn't belong there at all.  The Implementations section covers it.  —Preceding unsigned comment added by Leotohill (talk • contribs) 23:40, 17 December 2007 (UTC)
replies: text:  OK I'm happy with that too, after having seen the comment in true context. --Nigelj (talk) 21:48, 18 December 2007 (UTC)

text:  For what it's worth, I probably would have objected to the edit if there was a solid article on the "differences between the standard and the Microsoft implementation", since most people landing on the article are probably going to be looking for that specific implementation.  As it stands, the MS article, or any other article, is not really helpful in that regard... which was probably Matt's point. --Onstar (talk) 08:53, 21 December 2007 (UTC)
thread_title:  Disclaimer distinguishing 'C#' from 'MS Visual C#' 

message: This paragraph is a bit of a mess.  It's a series of "because of this, except this, except this..." etc.  In any case it is misdirected, because the performance concerns apply to all .NET languages, not just C#. (and Java as well. )   This is covered pretty well in .NET Framework (the "Disadvantages" section). I propose to replace the existing performance criticism with something resembling the text from the framework article (or just refer to that article.) Leotohill (talk) 03:24, 29 December 2007 (UTC)
replies: text: I've made the change, I think it's an improvement, but it's been tagged "citation needed".  I'd appreciate help on that.  I really don't want to descend back into the many details of how a vm/managed architecture is usually slower, but isn't always, with discussions of bounds checking, type safety, machine independence, JITing, pre-JITing, optimizer efficiency, virtual method tables, garbage collection, yadda yadda.  I'd like a suitable citation that doesn't require a lot of detail here.   Anybody got one? Leotohill (talk) 23:18, 29 December 2007 (UTC)

text: I see that my claim about "more resources" is not obviously true to some.  Perhaps I should have expanded it to say "more resources, including memory and infrastructure".  Since .NET apps (as well as Java and most scripting languages) require multi-megabyte installs and environmental configuration, they clearly require more resources than, say, a fully self-contained C program.  I also suspect that, for example, a "Hello world" console app in C# would require more runtime memory than the same app in c or, probably, c++. Performance comparisons are trickier, because of the many scenarios and considerations, and the parcity of published results from carefully-controlled tests.  However, at a fundamental level it seems to me that a runtime that doesn't do type checking or bounds checking (for example) would allow completion of certain tasks in fewer cpu cycles that one that does.  
Can someone suggest a phrasing that would be more acceptable that the one I tried?  Leotohill (talk) 18:43, 30 December 2007 (UTC)

text: I thought the wording I saw was pretty good, primarily because of the "access more directly". I'd argue that, ipso facto, more direct access requires fewer resources—if its more direct, then no CPU time is needed to resolve indirection and no memory required to store references and suchlike. The question then is whether there is much by way of more direct access (which relies on the optimizations performed by the implementation at hand), and whether that gives any significant or meaningful performance boost. My informed understanding is that it varies, although it is often beaten by particularly well tuned programs written in lower-level languages. (although, equally, it can be easier to write a reasonably well-tuned program in C#—swings and roundabouts). That said, particularly given that it's cited, I think the current wording is okay. Angus Lepper(T, C, D) 00:09, 31 December 2007 (UTC)
thread_title:  Criticism-Performance 

message: Simple question: who is making that criticism? Because right now we aren't citing anyone making that criticism. If the editors who are insisting on including that criticism can't come up with a reliable source making that criticism, then it needs to come out. From WP:NOR: "...care should be taken to not "go beyond" what is expressed in the sources, nor use them in ways inconsistent with the intent of the source, such as using the information out of context". The only cited source is saying "hey we've created an implementation of c# for another platform" and does not criticise at all. AlistairMcMillan (talk) 16:08, 29 December 2007 (UTC)
replies: text: Fantastic, now we are citing Microsoft for the platform criticism. I haven't read the linked article, but somehow I doubt that Microsoft are criticising C# for being Windows-centric. AlistairMcMillan (talk) 16:10, 29 December 2007 (UTC)
replies: text:  It was me who re-added the removed part. I added a reference to a Microsoft website because I misunderstood the last removal comment. However, the fact that .NET and C# are too strongly tied to MS Windows is really a critic I hear sometimes, and I can't say I don't agree with it. But I also agree with the need of sourcing, so now I linked a critic by Bjarne Stroustrup, which I think is appropriate here. One last thing: I don't know why everybody is so touchy about sourcing everything here, a lot of critics on other languages are not sourced too; I agree they also need to be sourced, but I don't thing people would accept if these critics were removed just because of that (see Criticism of the C programming language for example) Hervegirod (talk) 19:01, 29 December 2007 (UTC)
replies: text:  Reliable sourcing is necessary because otherwise we don't know if people are making things up.  It's better to say nothing at all than to have bad information in the article.  Wikipedia:Verifiability explains this.  -/- Warren 14:45, 30 December 2007 (UTC)
thread_title:  Platform criticism 

message: I cleaned up some incorrect statements about MS products.  1) I don't think that the C# compiler is included with the .NET framework.  It comes with the SDK.  2) "Microsoft Visual C#" is the name of the compiler, but "Microsoft Visual C# Express Edition" is the name of a development environment that includes Visual Studio and the compiler. (That's marketing for you!)
Leotohill (talk) 03:55, 3 January 2008 (UTC)
replies: text: I think the compilers (the CLI compiler csc.exe) do come with the framework. csc.exe is in the \Windows\Microsoft.NET\Framework\v<version number>\ folder. And Visual C# is not just the compiler but associated language services that help integrate it with the VStudio IDE. The compiler comes with .net fx but the language services with vstudio. Go figure. --soum talk 04:57, 3 January 2008 (UTC)
replies: text:   Looks like you are correct about the compiler being in the fw.  That's a little suprising.  But the name of the compiler is "Microsoft (R) Visual C# 2005 Compiler" .  That's what comes up when you run it at the command line, which I don't think involves visual studio at all. Leotohill (talk) 05:17, 3 January 2008 (UTC)
replies: text: The compiler (the vc# compiler) is independent of visual studio but the components that integrate c# support into the ide is a part of vstudio. Those components are also called vc# (the vc# language services). But I don't think we need to make the waters that muddy, at least not here. --soum talk 05:46, 3 January 2008 (UTC)
replies: text: I know this is an awfully old thread to reply upon, but please note that if compilation was not somehow built into (around? next to?) the framework, IIS could not build and run asp.net pages. Root4(one) 01:59, 3 September 2008 (UTC)
thread_title:  edits to Implementations 

message: Some helpful links here.
*http://www.jameskovacs.com/blog/CNETHistoryLesson.aspx
*http://www.oreilly.com/catalog/csharpnut/chapter/ch01.html
*google news timeline
*http://www.pcworld.com/article/id,17425-c,software/article.html
*cnet news timeline
*
*Anders Hejlsberg on Creation of C#
*[http://books.google.com/books?id=btlM21ivisMC&printsec=frontcover&dq=The+C%23+Programming+Language&sig=ni3q1jfUnSyyW96AQoWpjUHUwEo&hl=en#PPR13,M1 The C# Programming Language - By Anders Hejlsberg (preface contains a bit of history)
I'll see if I can help a bit. MahangaTalk 04:26, 27 January 2008 (UTC)
thread_title:  history section needs expanding 

message: It could sounds difficult, does it?  If Microsoft developed this language and MS have had culture of MS error coding, would Microsoft please kindly provide the C# error database???  —Preceding unsigned comment added by 64.62.138.95 (talk) 10:17, 23 February 2008 (UTC)
thread_title:  C# error code standardization ??? 

message: Fortunately, Northernhenge has also modified the standardization section to C# specification only.  Otherwise, people will questioning the validation report of the ISO standard  —Preceding unsigned comment added by 64.62.138.94 (talk) 05:12, 24 February 2008 (UTC)
thread_title:  Standard validation issue... 

message: Since ISO people are now playing game with me, I will request for the citation of the validation report on ISO/IEC 23270:2006 - Information technology -- Programming languages -- C#
http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=42926
Since the standard is not free of charge, I downloaded TOC from
http://webstore.iec.ch/preview/info_isoiec23270%7Bed2.0%7Den.pdf
whether it is accurate or not, it's another matter.
In section 8.7.3 Methods which is under 8.7 Classes  —Preceding unsigned comment added by 64.62.138.95 (talk) 07:14, 24 February 2008 (UTC)
thread_title:  Appending to the validation of the standard issue... 

message: In the language profile left of the menu it says that the typing discipline is both safe and unsafe. The article itself does not mention unsafe typing. Can someone make this clear.
Stilgar (talk) 06:57, 20 June 2008 (UTC)
replies: text: you can always explicitly downcast some variable of type object (referencing some class instance or boxed type object) to something of, say type Donkey if you had defined such a type.  Doesn't mean it would succeed though ;-). Root4(one) 01:52, 3 September 2008 (UTC)
thread_title:  Unsafe typing? 

message: Footnote lists things in C# that supposedly influenced java: e.g. foreach, variadic, enumeration... why C# and not some other language? Hey anybody remember the sixties, back when they were already using this stuff? C# and java both got these from a couple of decades of history in computer science. Oi vey.  —Preceding unsigned comment added by Blablablob (talk • contribs) 04:05, 4 August 2008 (UTC)
thread_title:  footnote 1 is ... 

message: I changed ”dialect” on the infobox to ”version”Bettering the Wiki 23:42, 9 August 2008 (UTC)
thread_title:  version =\=dialect 

message: There should be an example that illustrates the difference from real closure-functionality.  —Preceding unsigned comment added by 129.35.204.162 (talk) 14:50, 2 September 2008 (UTC)
replies: text: I was just thinking the same thing.  Anonymous delegates perform variable capture... making them sound awfully like closures to me.  Anonymous Methods C# do mention some types of variables that cannot be captured but do explicitly name "outer" or "captured" variables.  That's not enough for me to revert your edit, though. Root4(one) 01:45, 3 September 2008 (UTC)
replies: text: Closures are expected to work with the variable state when they are assigned, not the variable state when they are called.  —Preceding unsigned comment added by 129.35.204.162 (talk) 07:40, 3 September 2008 (UTC)

text: Ok maybe I didn't quite get the meaning of closures right. It's quite an unexpected behavior imo but maybe that doesn't qualify to call anonymous delegates not closures. On the other hand I've read a blog comment that even developers of the C#-language say that anonymous delegates are no closures whatsoever.  —Preceding unsigned comment added by 129.35.204.162 (talk) 11:51, 3 September 2008 (UTC)
thread_title:  anonymous delegates 

message: "They support some features not supported directly by C++ templates such as type constraints on generic parameters by use of interfaces."
Maybe it is good to mention that the upcoming c++ standard will support type constraints, since there is a rather extensive comparison between c# and c++ in this article. Or, maybe, we should wait until the new standard is get published. 87.202.31.27 (talk) 12:39, 17 September 2008 (UTC)
thread_title:  c++ upcoming new standard will support type constraints in templates 

message: I've been looking at this article and it seems to be made up of a lot of textbook and how-to material.  Is there any reason it shouldn't just be transwikied to Wikiversity?  Not the whole article, but all of the coding examples. §hep  •  ¡Talk to me! 08:20, 28 November 2008 (UTC)
replies: text: Support. I do also feel as if it is more of a textbook, rather than a Wiki article itself. I think the same also applies to C Sharp Syntax. Also during the process, I also support for a Merge of C Sharp Syntax with this article. However, I do feel that at the same time, we should keep a general reference to the syntax available on Wikipedia. Aly89 (talk) 23:34, 28 November 2008 (UTC)
replies: text: There's no reason we couldn't include the sisterlinks box to Wikibooks. §hep  •  ¡Talk to me! 00:16, 29 November 2008 (UTC)
thread_title:  Examples 

message: :New discussions go at the bottom of the page.  To avoid this error again you can use the tab at the top of the page that says "new section" §hep  •  ¡Talk to me! 20:44, 17 December 2008 (UTC)
thread_title:  History section 

message: :New discussions go at the bottom of the page.  To avoid this error again you can use the tab at the top of the page that says "new section" §hep  •  ¡Talk to me! 20:44, 17 December 2008 (UTC)
replies: text: I think there is actually no reserved words in C# because a variable can be a keyword as long as it is preceded by the character @. 1:30, 15 January 2009 (UTC)

text: I think that there are those 77 reserved words, because those words have to be escaped with the @. Aroni125 (talk) 22:08, 17 March 2009 (UTC)
thread_title:  Reserved Words 

message: I'm so sorry, I hadn't realized using a # is the official name. Can someone revert the move? - MK (talk/contribs) 06:54, 28 January 2009 (UTC)
replies: text: OK done. --Salix (talk): 09:48, 28 January 2009 (UTC)
thread_title:  oops. 

message: Benchmarks are outdated (based on unoptimized versions of mono) and use completely different code.
e.g. the sourcecode for binary-tree (http://shootout.alioth.debian.org/) used in C++ is far more optimized than the code for the C# benchmark.
Besides, generic benchmarks is where C++ has an advantage it does not have in the real world: optimization, customization and no platform or portability constraints. (C++/compiler has to be optimized for each OS/CPU, C# does that automatically without recompilation)
--zeroflag (talk) 10:00, 29 January 2009 (UTC)
replies: text: It's probably more accurate to say that a program running on the CLR has greater fixed (baseline) costs than a native program, since the runtime is large and complex. However, there's no reason that C# could not be compiled to native code (as the experimental Bartok compiler does) that has comparable fixed costs to C++; and conversely, a trivial Managed C++ application would also suffer from high fixed cost. This article is conflating environment with language. That said, fully general GC is a language feature does inevitably require some fixed runtime overhead that C++ programs don't have to deal with. Dcoetzee 03:23, 31 January 2009 (UTC)
thread_title:  "run more slowly and require more memory than functionally similar applications written in native languages like C++" 

message: Do we really need all of the code examples listed here?  It seems like that is not what the purpose of the article should be.  This should be an informative place to learn about the abilities of the language.  I think that all of the examples become quite clunky, and cumbersome.  I can get all of that information from any of 100 different sites, and it is not adding anything to the article.  I would rather see a brief description about each of its features, rather than an example.(192.43.65.245 (talk))  —Preceding undated comment added 14:37, 8 April 2009 (UTC)
thread_title:  Do we really need all these code examples