Talk:C Sharp (programming language)/Archive 2
![]() | This is an archive of past discussions about C Sharp (programming language). Do not edit the contents of this page. If you wish to start a new discussion or revive an old one, please do so on the current talk page. |
Archive 1 | Archive 2 | Archive 3 |
Should Remove Marketing Entry
The "Marketing" entry in this article seems out of place, narrowly focused, and frankly it reads like an opinion more then a fact. I favor removing it, but wanted to solicit opinions before I did so. onebit 14 Jun 2004
- Well, I think it's in place. It doesn't discuss the technical aspects of the language, but it's relevant. The section could probably have a better name, but other than that, I think it should stay. But I'm biased since I wrote it in the first place. —Frecklefoot 19:43, Jun 14, 2004 (UTC)
- I wasn't trying to make a judgement on relevance. Instead, I was making a judgement on whether the statements in the section are fact or opinion. The statement that Mobile Software can be developed out of the box with C# and not so with C++ is a fact. The assertion that this has to do with marketing or that it is meant to move people off of the C++ language is not a documented fact; and so in this context it is an opinion. I am attempting to follow the guidelines found here here Wikipedia:Neutral point of view
- If the section stated that the opinions are opinions, and if the section was re-titled as politics and marketing, then that might be a way of improving the entry such that it doesn't need removing altogether. Frecklefoot, are you open to my taking a stab at such as modification? --Onebit 20:23, Jun 14, 2004 (UTC)
Absolutely. :-) That's what's so great about being Wiki. But that point of view is not just mine, but of course that doesn't make it a fact either (I'm not anti-MS, but it is something that is rather glaring about VS.NET). —Frecklefoot 21:03, Jun 14, 2004 (UTC)
- I agree that this is not quite NPOV. Also, how is being able to develop a C# mobile app from visual studio an example of MS's aggressive marketing of C#? When you're in there, try tacking that as well. --RanchoRosco 21:39, 14 Jun 2004 (UTC)
The marketing entry Onebit removed. Placing it here so it can rewritten or re-added at some point:
- ==Marketing==
- Microsoft is aggressively marketing C# as well as the other .NET languages. For example, purchasers of the latest version of Visual Studio .NET (Microsoft's popular IDE) can immediately develop mobile device applications in C#. To develop mobile device applications in other languages, such as C++ (which Visual Studio supports), developers have to download a separate IDE which does not integrate with Visual Studio. With these barriers, Microsoft is motivating developers to abandon C++ and switch to C#.
To RanchoRosco: Users can develop a mobile application in C# from Visual Studio .NET "right out of the box." It even has wizards to build frameworks for your mobile application in C#. However, if you want to develop a mobile application in C++, you have to download a different IDE. This is incongruous since VS.NET is a C++ IDE (as well as a VB.NET, Managed C++ and C# IDE). Many developers complained about this confusing split (IIRC, previous versions of Visual Studio supported development of mobile applications in C++). The C++ mobile IDE is not as advanced as Visual Studio .NET and has fewer features. Many developers couldn't understand the removal except as a ploy to get developers to embrace C# instead of C++. — Frecklefoot | Talk 14:51, Jun 24, 2004 (UTC)
- A possible reason for MS to do this, as you say, is to move developers to C#. A more likely reason is that the team that built this functionality only had a limited budget and put it into the language they used the most. However, even if they were motivated as you supposed, I don't think this falls into what is gererally considered as marketing. --RanchoRosco 21:19, 25 Jun 2004 (UTC)
Well, that is a reasonable assumption except for the fact that they removed the mobile C++ functionality. MS doesn't have plans to put it back in–they are going to keep it separate. But you're right, "Marketing" probably isn't the best place for this; I just couldn't think of a better section. — Frecklefoot | Talk 00:41, Jun 26, 2004 (UTC)
I think you're wrong when you say that they removed mobile C++ functionality. Could you clarify what you meant? The latest C++ compiler for mobile processors is out (version 4) and you could use managed C++ to develop for a mobile device, since it compiles to MSIL instead of native bytecodes. Feel free to correct me if I misinterpreted what you wrote or got something wrong.
I misspoke myself a little. To develop for mobile devices in C++, one cannot use Visual Studio.NET. One must download a seperate IDE. It is similar to Studio.NET, but lacks many of its features. On the other hand, one may develop mobile device applications in Studio.NET using any other language but C++. Yes, you can use managed C++, but that's just the point: why allow Managed C++ but not C++? Studio .NET is supposed to be a full-fledged C++ IDE, but one cannot use it to develop mobile applications in C++, just the .NET languages. HTH. :-) — Frecklefoot | Talk 19:45, Jan 10, 2005 (UTC)
MSIL or CIL
I'm not trying to point fingers, but Onebit has been going around and changing references from MSIL (Microsoft Intermediate Language) to CIL (Common Intermediate Language). I can't find any relevant references to CIL except here in Wikipedia (after Onebit's changes). Going to MSDN, doing a search on CIL turns up pages of irrelevant information. Doing a search on MSIL brings up, amazingly, information on Microsoft Intermediate Language. Is CIL a new name change by Microsoft that just hasn't perculated through the Internet yet or is it just a mistake? I've always hear references to MSIL and have never heard a reference to CIL until today. Please post opinions and any online references. Thanks. — Frecklefoot | Talk 14:51, Jun 24, 2004 (UTC)
- Perhaps relevant: http://dotnet.di.unipi.it/EcmaSpec/PartitionIII/index.html uses CIL. - Bevo 17:24, 30 Jun 2004 (UTC)
- CIL is very common. MSIL is used in documentation and obviously specifically in reference to .NET. CIL is the ECMA spec as mentioned above (obviously critical to the Common Language Infrastructure / CLI). Technically, the CLR is the Microsoft implementation of the CLI. Therefore, it's not incorrect to say MSIL, denoting the Microsoft runtime as a target platform. From one programmer to another, that makes sense. Of course, when you say .NET, you mean Microsoft anyway. I'm not aware of any inconsistency in MSIL from CIL spec.
- Basically, MSIL is to CIL as CLR is to CLI and .NET is to CLS (Common Language Specification). I have seen MSIL/CIL, CLR/CLI, and .NET/CLS (often without the slash).
- O'Reilly .NET Framework (2nd ed.) mentions MSIL only in the glossary, index, and Appendix D (Common Utilities). However I don't remember it in any of the book's chapters and all the "common utilities" (ilasm.exe, ildasm.exe, etc.) binaries are neutrally named. No hybrid names that I remember - mostly IL.
- The Mono Project uses the term MSIL/CIL, according to a Google site: search. This is also used in mailing lists. That hybrid term communicates to me IL code that conforms to spec and .NET (right now an artificial difference as .NET should fully support CIL).
- Microsoft documentation uses MSIL, IL, and CIL.
- I would use IL in general, but we should conform to what's common. It's not good form to use MSIL to refer to all CIL (because we do have a spec and things like Mono), but I don't see anything wrong with using MSIL/CIL.
- Microsoft Reference: http://msdn.microsoft.com/net/ecma/
- Mono Project: http://www.mono-project.com/
- Vector4F 04:47, 12 Jul 2004 (UTC)
- If memory serves me, CIL is actually the *old* name. I have at least one early-release .NET book that uses the phrase CIL, but all references on Microsoft's documentation was changed to MSIL by the time the Framework was released. I'm pretty sure it was a purely cosmetic name change, that is, MSIL == CIL. Searching Google for "CIL dotnet" shows a number of references, but mostly from 2002/2003 timeframe. For all I know, MS changed the name just so they could say 'missle' when talking about their technology :) Kutulu 15:02, 29 Apr 2005 (UTC)
- IL is intermediate language, the problem is that it is generic and could be used widely (java .class are in an intermediate language). MSIL is the first name that this technology got, but when microsoft standardized it they needed to remove the "microsoft" (MS) part of the name, so they choosen "comon intermediate language" CIL. But the name MSIL doesn't disapear. Actualy if you speak of the 2.0 version of the platform it could be wrong to speak about CIL, because the standardized version is still the 1.0 version. Virtualblackfox 28 June 2005 22:08 (UTC)
C# does NOT use Virtual Machine
Neither "stack-based", nor any other. Therein lies its main difference between Java and .NET. Java bytecode runs on VM, .NET Intermediate Language gets compiled upon its execution and only then it is executed. VM is simply not needed in this arrangement because .NET never executes bytecode directly (though one can definitely write a VM that will execute MSIL).
- But the compilation is done by a "virutal machine" of sorts: the .NET framework. Without it, you can't run a CIL (or MSIL) program. The framework is present, constantly compiling any CIL code that needs to be executed. That's close enough to a VM for me.
- And, dude, sign your posts. Use ~~~ or ~~~~. The latter is preferred by most, as it adds a timestamp to your signature. :-) — Frecklefoot | Talk 15:47, Jul 6, 2004 (UTC)
- Actually, if I understand the technology properly, the Framework installation actually changes the native process loader for Windows platforms. There is no virtual machine involved, merely calls into the JIT compiler.
- For non-Windows platforms, the similarities are much closer; you need to explicitly run the mono program on a Mono application for it to work, though I'm not sure the internal workings of that. At any rate, the original point is technically accurate that C# doesn't use a VM -- at best, .NET uses a VM and C# compiles to .NET MSIL. Perhaps that's a better way to phrase it, or leave the VM/not-a-VM discussion for the .NET article?
- Kutulu 14:57, 29 Apr 2005 (UTC)
- Pointless trivia: the framework does change the native process loader but it doesn't need to on 32-bit windows. A pure MSIL binary is still a standard win32 x86 binary containing a single x86 instruction: a jump to CorExeMain in mscoree.dll. The loader only needs to be changed to allow truly cross-platform MSIL binaries.
- The question of whether .NET uses a VM is fairly meaningless. Both Java and .Net define VMs in their specifications. Both Java and .Net implement their specifications by JITing the byte code into native code. (And there are interpreters for both, but they are slower.) The fact that Java uses an EXE to implement its VM (so all java processes have the same name) and .Net uses a DLL (so processes have their own names) actually makes no significant difference. For example, this doesn't have any implications for security. Indeed, the fact that .Net apps on Linux run in the same syle as Java apps shows the equivalence of the two approaches.
- 10 Oct 2005
- While you are correct that .Net doesn't use a VM, but you are incorrect in assuming that all java bytecode is interpreted. Most JVMs (even some relatively early JVMs) used a JIT compiler to compile and execute some bytecode directly. Some JVMs allow JIT compilation to be turned off and a few only do bytecode interpretation. So to correctly state the matter you should say that a JVM *can* interpret bytecode while the .Net runtime cannot. See this for more: JVM Taft 21:04, 3 March 2006 (UTC)
C# Critique
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.
- 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
Category: Java programming language family
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)
- You are correct in your depiction of C#,Java,Pizza. However, the intention of the family categorization in Category:Programming language families is currently more lax than what you think it ought to be: it arose from recentTalk:Programming language suggestions and its purpose is to fuzzily relate languages according to their overall structure (Pascal,PL/I <-- Algol, for example; or J,K,Nial <-- APL; etc.) or "look and feel". IMO, in this last, more general sense, it is very hard to argue against the case that C#, coming after Java as it did, has a rather similar look and feel. In any case, this is surely a controversial topic. Please let me know what you think. Wish you a good day. —danakil 03:31, 21 Aug 2004 (UTC)
C# does not define any implementation details
technically C# has nothing to do with .NET, i think the article should be written with information about the standardized C# language, information pertaining to .NET software, such as the CLR or the JIT should be linked to a article on .NET or the microsoft C# compiler.
in fact the only thing in the article that is relevant to the language itself is the rather poor code example...
i am new to wikipedia, what is the politcally correct way of asserting my opinion as to the contents of this article, can i re-write it? --24.43.174.39
- This is exactly the right place to assert your opinions. Thanks for not doing it in the article itself first. :-) The only thing wrong with post is that you didn't sign it (I signed it for you above). You can do this with either 3 or 4 tildes (~~~ or ~~~~). The latter is preferred, as it also leaves a timestamp. You may also want to create an account if you plan to contribute to Wikipedia on a regular basis.
- I agree C# doesn't have to be about .NET, but right now it is. C# doesn't exist as an entity seperate from .NET. A software company could come out with a compiler for C# that compiles to binary, for example, but none have (yet). Right now, C# is a .NET topic. If C# becomes widespread and is used outside of the .NET realm (unlikely), than it would make sense to split the article up. But for right now, it may remain. You could mention, however, that C# doesn't have to be a .NET topic, if you like.
- What's wrong with the code example? — Frecklefoot | Talk 15:28, Dec 6, 2004 (UTC)
- ok, sorry about the lack of wiki syntax, as you can tell i am new to wiki beyond the scope of reading.
- i guess my argument is focused on the fact that, if you were writting C# for one of the other existing C# platforms (like mono, where there is growing usage) then this article largely doesn't make a lot of sense, to me an article titled C Sharp programming language should talk about the language. Implementations are certainly valid talking points, but should not the main focus be on language features, contrast and comparison to other languages, etc? a "summary" if you will of the language standards?
- about the code sample, i didn't mean to be harsh, i just feel it could either be more succinct, or provide some sort of explanation to what each section is 24.43.174.39 04:33, 9 Dec 2004 (UTC)
- Yes, those are valid points. The article would be better with those items. — Frecklefoot | Talk 15:50, Dec 9, 2004 (UTC)
Syntax highlighting
Does anyone else feel the examples would be better/easier to read if they appeared with the syntax highlighting the MS IDE provides? — Frecklefoot | Talk 15:50, Dec 9, 2004 (UTC)
- Neutral - Eh. It's not standard on Wikipedia, and the examples are so simple that (hopefully) they're readable without highlighting. But I wouldn't oppose anyone who wanted to go through the trouble of highlighting all of the samples... Starwiz 02:50, Jun 10, 2005 (UTC)
Why such an ugly example?
In my opinion, the example given is not very suitable to present the nature of C#. What more, random string generation can be done more efficiently (fewer lines of code).
I would suggest giving some example manifesting C# language specific concepts such as operator overloading, polymorphism, properties, delegates, events,.. I do not want to delete the example myself and providing mine, I do not know how this is treated on Wiki
Sincerely, Marek 84.47.61.214 23:41, 8 Jan 2005 (UTC)
- If you are unsure about your own example, you can post it here, on the Talk page, for review by others first. I'm sure quite a few people watch this article, so you're sure to get plenty of comments. :^) — Frecklefoot | Talk 16:19, Jan 17, 2005 (UTC)
- I agree, with no offense intended to the authors, that the example is ridiculously huge and inelegant. It might be a fine program but not a great first exposure to the language. How about a "hello world" for starters? Deco 04:57, 27 Jan 2005 (UTC)
- I've removed the example; there is already a "hello world," which I think is good enough for an encyclopedia article. Neilc 10:53, 30 Apr 2005 (UTC)
- I favour this change. Deco 20:52, 30 Apr 2005 (UTC)
Move proposal
It would seem to me that the title C Sharp is perfectly unambiguous, unless we expect articles to be written on individual musical notes in the near future. I propose a move. Any objections? (waiting 2 days) Deco 04:21, 23 Jan 2005 (UTC)
- I've tried moving it, but C Sharp is in the way and can't be deleted for a while for technical reasons. Deco 05:35, 5 Mar 2005 (UTC)
As both a musician and a programmer, I feel compelled to point out that there are articles on individual musical notes (see B (musical note)). I'm about to add a blurb to the top of the article linking to Musical notation. Does anyone object? Starwiz 02:55, Jun 10, 2005 (UTC)
- That's fine with me, though I'd point out that that artilce (B (musical note)) is a stub and not a true, full-length article. But I think the notice you propose would help people who are actually looking for an article on the C# note. — Frecklefoot | Talk 14:50, Jun 10, 2005 (UTC)
- Agreed. However, this page should remain the primary topic — this should not become a disambiguation page. A good many more people are liable to want to know about C# the programming language than C# the musical note. Deco 07:53, 12 Jun 2005 (UTC)
MI?
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)
- 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)
- 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)
Timeline
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)
Title
From the official Microsoft FAQ on the language [1]:
- Q. What is the symbol in the name "C#"?
- A. It's not the "hash" (or pound) symbol as most people believe. It's actually supposed to be the musical sharp symbol. However, because the sharp symbol is not present on the standard keyboard, it's easier to type the hash ("#") symbol. The name of the language is, of course, pronounced "see sharp".
So I have moved the article back to the name it's "supposed" to be.
- Also, Unicode Character 'MUSIC SHARP SIGN' (U+266F) ♯ is in fact a proper UTF-8 symbol [2]. Nohat 18:40, 1 August 2005 (UTC)
- But users can't type the proper symbol, so they would not be able to search for it. UTF-8 or not, it still does not show up properly in anything but Firefox. At the very least just use <sup>#</sup>. -- Foofy 19:56, 1 August 2005 (UTC)
- Anyone can type it by using "Character Map" or an appropriate keyboard layout. Mac users can type it using the Character Palette. Equivalent utilities exist for other platforms. But it's not even necessary for users to type it because all the redirects still work correctly. It shows up perfectly fine in Windows Internet Explore, Firefox for Mac and Windows, and Safari for me. # is not an approximation of the correct symbol at all. The vertical lines in the sharp symbol are strictly vertical and the horizontal lines are at a slight angle; in the hash symbol, the horizontal lines are straight and the verticals are at an angle. Superscripting the hash symbol just makes the incorrect symbol smaller. We use correct typography like dashes, International Phonetic Alphabet, Katakana, etc. on many pages on Wikipedia even though some older browsers don't display it correctly. Why should this article be any different? Nohat 20:11, 1 August 2005 (UTC)
- Screenshots here and here. I get the same on a few different computers, all using plain out-of-the-box installations of Windows 2000, XP, and 2003. Also it still can't be typed for search purposes. Foofy 20:27, 1 August 2005 (UTC)
- As I explained, yes it can be typed using the character map utility, but that doesn't matter because you can search for "C sharp" and you will still get this page. The reason a search for "C♯" doesn't return anything useful presently is because the search index hasn't been updated with the proper typography, and likely won't if you keep reverting. A search for "C#" doesn't work either, mind you. The problem with IE is a lack of adequate font coverage, and nothing can be done about that until MS starts making fonts that have complete character sets with default installs. There are many pages on Wikipedia that have characters that are not included in default Windows installs, and nobody is up in arms about how some IE users may have some trouble with them. Why is this page special? Nohat 20:54, 1 August 2005 (UTC)
- I am "up in arms" about all of them, as I'm sure you're aware. Others might tolerate characters that don't render for most of our readers in the body of a technical article, but in the title? It looks like it just says "C"; the other character is invisible. We should certainly not have page titles including characters that do not print on browsers comprising a large majority of our readership. I am moving this page back, again. Deco 01:14, 3 August 2005 (UTC)
- As I explained, yes it can be typed using the character map utility, but that doesn't matter because you can search for "C sharp" and you will still get this page. The reason a search for "C♯" doesn't return anything useful presently is because the search index hasn't been updated with the proper typography, and likely won't if you keep reverting. A search for "C#" doesn't work either, mind you. The problem with IE is a lack of adequate font coverage, and nothing can be done about that until MS starts making fonts that have complete character sets with default installs. There are many pages on Wikipedia that have characters that are not included in default Windows installs, and nobody is up in arms about how some IE users may have some trouble with them. Why is this page special? Nohat 20:54, 1 August 2005 (UTC)
For what it's worth, I can cite considerable precedent in this matter.
- Wikipedia:How_to_write_a_Wikipedia_article_on_Mathematics#Using_special_symbols: it is generally better to be rather conservative with the use of symbols in order to reach a larger audience
- Talk:Battle_of_Leyte_Gulf#Japanese_characters (cited in [3] as a tradeoff of Accessibility and Accuracy)
- m:Help:Special_characters
- Wikipedia:Manual of Style (trademarks): Do not use special symbols such as TM and ® unless they are important to the context.
Is this an Encyclopedia of the Few? We must consider our readers' needs, not callously insist they upgrade their browser, because they won't, they'll just not read our encyclopedia. I will absolutely not tolerate the title that you desire, despite the fact that it is technically more correct. Deco 01:27, 3 August 2005 (UTC)
- One last point: the name "C#" would be incorrect, but the name "C Sharp", currently in use, may be seen as a transliteration of the correct name. Deco 01:42, 3 August 2005 (UTC)
- You need to fix all the double redirects when you move a page. For someone who claims to have so much concern for our readers, you don't seem to care much that a great many of the links to this page no longer work properly. Nohat 04:48, 3 August 2005 (UTC)
- Done -- Chris 14:47, 3 August 2005 (UTC)
- I assumed you were going to move it back, so I was going to wait until this discussion had stabilized before churning lots of linking pages back and forth. Sorry for any inconvenience that this may have caused anyone. Deco 18:25, 3 August 2005 (UTC)
I have added a section, Language name, which hopefully explains the sharp character issue and reduces reverts/renames of this article. -- Chris 19:05, 18 August 2005 (UTC)
- Well, I'm unhappy with the change. What's so special about the Sharp symbol anyway? Does it look like this: # ? If so, we can just do that (<sup>#</sup>) instead of using non-universal characters. That's my input. Right now, to a lot of readers, it looks like we are saying the correct character is a block. — Frecklefoot | Talk 20:57, August 18, 2005 (UTC)
- The only thing special about it is that it is the technically correct symbol, according to Microsoft. Part of my mod was to leave the symbol in only two places: in the wrongtitle template, with a corresponding note stating that it may not be visible in all browsers, and in the new section. The rest of the article uses the hash mark. Also, everywhere the symbol appears it is followed by the text "sharp symbol" so that those who cannot see it are not left hanging. To address, <sup>#</sup>, it is still not a sharp symbol. In the sharp symbol, the left-right lines are slanted and the up-down lines are truly vertical [4]. As to it being non-universal, see Nohat's note above and this link; it is universal, just apparently not well-supported. Ultimately, if you still feel unhappy about it, change it back; I certainly won't revert. But please take into acccount that the symbol only appears in a few places and is then noted that it may not be visible. -- Chris 20:27, 19 August 2005 (UTC)
- I'm happy with how it is now. I'll just pray the next C-based language isn't named C followed by some Chinese character. Deco 05:07, 20 August 2005 (UTC)
- In the Yeeeear Two-Thousannnnd...
- ...entire wikipedia articles, consisting entirely of characters and symbols your web browser has no chance in hell of displaying, will be written from scratch and promptly achieve featured article status, much to your chagrin.
- — FREAK OF NURxTURE (TALK) 15:34, August 29, 2005 (UTC)
- In the Yeeeear Two-Thousannnnd...
- I'm happy with how it is now. I'll just pray the next C-based language isn't named C followed by some Chinese character. Deco 05:07, 20 August 2005 (UTC)
- The only thing special about it is that it is the technically correct symbol, according to Microsoft. Part of my mod was to leave the symbol in only two places: in the wrongtitle template, with a corresponding note stating that it may not be visible in all browsers, and in the new section. The rest of the article uses the hash mark. Also, everywhere the symbol appears it is followed by the text "sharp symbol" so that those who cannot see it are not left hanging. To address, <sup>#</sup>, it is still not a sharp symbol. In the sharp symbol, the left-right lines are slanted and the up-down lines are truly vertical [4]. As to it being non-universal, see Nohat's note above and this link; it is universal, just apparently not well-supported. Ultimately, if you still feel unhappy about it, change it back; I certainly won't revert. But please take into acccount that the symbol only appears in a few places and is then noted that it may not be visible. -- Chris 20:27, 19 August 2005 (UTC)
I think it should be moved to C♯, especially since we can't have an article at C# due to technical limitations. —Ævar Arnfjörð Bjarmason 16:36, 28 September 2005 (UTC)
- Since ECMA (not MS) owns the language, we use their name ("C#") instead of MS's ("C♯") where it is technically feasible, right? Or did I miss a discussion where we decided to use MS's name instead of ECMA's. The Rod 16:28, 6 December 2005 (UTC)
- That comment was made before I was fully aware of the facts of the matter, see my comments below. —Ævar Arnfjörð Bjarmason 20:53, 3 January 2006 (UTC)
C♯ or C# (again)
There is a notice at the top of the article stating that the correct title is C♯, and later in the article it's mentioned that Microsoft states that C♯ is the correct name [5], however according to the ECMA-334 specification it's C#, I think we should go with the standard and not a Microsoft FAQ. —Ævar Arnfjörð Bjarmason 02:11, 11 October 2005 (UTC)
The article now uses the math template to attempt to give the correct title ("wrongtitle|title=C"), but the math template expands to HTML with an image tag in it ("C<img class='tex' src="/math/7/8/1/7818bf5748ed97579507cd14a1d5bb65.png" alt="\sharp" />"). I do not think that author intended to say that the correct title of the article should include an image, but rather that the correct title of the article should include a sharp sign. Even that statement, though, is contrary to the ECMA spec, as noted above by Ævar. Best would be to revert to the one with the hash/pound sign (#) (or possibly to the opera-incompatible "wrongtitle" note with the sharp sign (♯)), right? The Rod 19:53, 2 December 2005 (UTC)
- I think if we have conflicting sources we should go with the most convenient one for us, which would be the symbol supported by all browsers. No reason not to mention what the FAQ says though. Deco 00:24, 3 December 2005 (UTC)
- I have added this edit war to Wikipedia: Lamest edit wars ever. It's just such a silly thing to fight about. :-) Deco 19:08, 6 December 2005 (UTC)
- Awww, come on! This is the name of the language we're talking about! Isn't that important?!?! Think of the children!!! <g> - Chris 02:12, 12 December 2005 (UTC)
- Oops. I didn't intend the wrongtitle reversion as part of an edit war. I thought the reference to ECMA's spec after the other #/♯ discussions settled the matter. If anyone now thinks the ECMA spec is inappropriate, wrong, misinterpreted, or non-authoritative, please say so. I'll consider this issue a difference of opinion and stop reverting the wrongtitle. Otherwise, wrongtitle edits to "C♯" appear unaware of the "6. Acronyms and Abbreviations" section of ECMA spec 334 [6]. The Rod 19:59, 6 December 2005 (UTC)
- As I suggested on your talk page, I must relent on my opinion that the actual sharp symbol is correct. ECMA would, indeed, have ultimate say in the matter as I understand the development of the language. In this vein, I would like to start a discussion on the language as it relates to ECMA, ISO/IEC, and Microsoft. I'll start another section here to discuss (perhaps the discussion will not take very long) on the "ownership" of the language and how it was developed to standardization. I'd love to get your input, as well as all others. - Chris 02:12, 12 December 2005 (UTC)
- The following e-mail message from Microsoft Customer Support supports calling the language "C#":
From: Microsoft Contact US [7]
Sent: Tue 12/13/2005 1:04 AM
To: Rod Smith
Subject: RE:'RTCProd=010-149-035' Name of C# language
Hello Rod,
Here is an update on your concern.
The spoken name of the language is "C sharp" in reference to the musical "sharp" sign, which increases a tone denoted by a letter (between A and G) by half a tone. However, for ease of typing it was decided to represent the sharp sign by a pound symbol (which is on any keyboard) rather than the "musically correct" Unicode sharp sign. The Microsoft and ECMA 334 representation symbols thus agree: the # in C# is the pound sign, but it represents a sharp sign. Think of it in the same way as the <= glyph in C languages which is a less than sign and an equals sign, but represents a less-than-or-equals sign.
Did I completely answer your question? Please let me know by replying to this message.
Also, please feel free to reply if you have other concerns.
Thank you,
Rose
Microsoft Online Customer Service Representative
If you have any feedback about your Online Customer Service experience, please e-mail my manager, Oruen Salazar, at managers@microsoft.com.
- So, MS and ECMA do agree on the official written name of the language, but the # symbol "represents" the ♯ symbol. The Rod 16:46, 13 December 2005 (UTC)
- I'd say this puts it to bed. Thanks for the e-mail. - Chris 08:10, 17 December 2005 (UTC)
- Instead of what we have in the Language name section now, would you mind responding to that e-mail and request that we be allowed to use their response as MS' official statement on the subject? Either that, or request that they change their FAQ if it is indeed "inaccurate" as you put it? (CC'd to your talk page) - Chris 20:14, 17 December 2005 (UTC)
- Following is MS's approval:
From: Microsoft Contact US [8]
Sent: Sun 12/25/2005 1:21 PM
To: Rod Smith
Subject: RE:'RTCProd=010-149-035' Name of C# language
Hello Rod,
This is an update regarding your issue. I apologize for the delay in our response.
Yes, you may post our response. We do not have any problem with Wikipedia posting it. Did I completely answer your question? Please let me know by replying to this message.
Thank you,
John Paul
Microsoft Online Customer Service Representative
If you have any feedback about your Online Customer Service experience, please e-mail my manager, Oruen Salazar, at managers@microsoft.com.
- I updated the article with their explanation, but I don't know how to cite the e-mail message, as it has no URL. How are e-mail messages cited? The Rod 16:46, 27 December 2005 (UTC)
- In research papers I sometimes see "Private correspondence with author" or some such thing. You could post the e-mail to a subpage and use an internal link, although there isn't precedent for this as far as I know. Be careful, though, because the representative didn't explicitly release his e-mail under the GFDL. Deco 22:12, 27 December 2005 (UTC)
- I would put it in a text file, then upload the text file to Wikipedia (like you would a picture) and then create a link to it. JesseHogan 01:24, 28 December 2005 (UTC)
Holy carp! I didn't even KNOW there was a difference between sharp and pound. You learn something new everyday.
Regardless, I still choose to type # when I mean sharp, simply because I don't like typing non-keyboard characters. Viltris 02:19, 6 January 2006 (UTC)
Suspicious naming fact
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)
- I have not received any reply in two weeks, and so I am removing this claim. Deco 20:44, 16 December 2005 (UTC)
- I don't know about the specific claim, but the ANSI name for the # character is octothorpe.
Standardization and "ownership" of the language
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)
- 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)
- 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) Wiki me up™
- 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)
- 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) Wiki me up™
- 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)
- 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)
- Because it's wrong. Windows Forms are part of the .NET framework, not C#. --Craig Stuntz 13:11, 15 May 2006 (UTC)
- 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)
- 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)
- 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)
- 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)
- 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)
- Because it's wrong. Windows Forms are part of the .NET framework, not C#. --Craig Stuntz 13:11, 15 May 2006 (UTC)
Richard Stallman's patent claims
richard stallman's rant about C# where he apparently confused the C# programming language with the .NET environment has been mentioned in the criticism section. I think that's fairly legitimate, and I agree that it isn't wikipedia's place to pass judgment or to assert OR on the subject, but in the context of wikipedia's mention of his claim, the fact that he didn't provide any research, supporting information, references of his own, explanation, etc.. is definitely pertinent here, especially given that he's simply wrong according to a wealth of well referenced material in wikipedia. I mean, the fact that his claims are A) not presented with supporting evidence, and B) in conflict with facts stated elsewhere in wikipedia, is relevant, and not a matter of POV or OR. also, is richard stallman even qualified to comment? he wrote a lot of C code that's used in GNU-based systems, and he played a major political role in defining the free software movement, but is that relevant expertise in C#? I mean, why is his incorrect and baseless rant any more encyclopedic than the opinion of any other relatively famous programmer whose body of work pre-dates the existence of the C# language? -无名氏- 18:58, 3 July 2009 (UTC)
- Stallman has earned the right to comment on the interactions between various kinds of licensed and/or patented software - he's been on the forefront of the public discussion for almost 25 years now. He's also entitled to be wrong and to be seen in public to be so. You're correct that this is merely an opinion, albeit one from a major figure in the world of software rights and ownership. The article should treat it in that fashion, not as an assumed truth. But it also shouldn't attempt to prove him wrong - articles aren't supposed to debate themselves or their sources. RossPatterson (talk) 19:18, 3 July 2009 (UTC)
- as you said, it's not assumed truth in this context, and the article therefore wouldn't be debating itself to frame his comments with references to conflicting accepted facts in wikipedia. also, this isn't a matter of opinion, it's not as if he said that C# is too connected to Microsoft for his liking, and he feels it's worth avoiding. he made specific factual claims that explicitly conflict with referenced material in wikipedia, no better than if he had said "you have to pay license fees to microsoft if you program in c#." mentioning the applicable facts in this context, in addition to their main encyclopedic locations, is not POV or OR, any more than mentioning the referenced facts in their appropriate informative context was POV in the first place. -无名氏- 20:00, 3 July 2009 (UTC)
- Stallman essentially did say that C# is too connected to Microsoft for his liking and should be avoided : "The danger is that Microsoft is probably planning to force all free C# implementations underground some day using software patents. ... This is a serious danger, and only fools would ignore it until the day it actually happens." He's stating his own speculative opinion on the future actions of another. He doesn't make any factual claims, he merely states his own belief that Microsoft will do something bad some day. As the founder of the Free Software Foundation and the League for Programming Freedom and one of the early and frequent commentators on, and critics of, software patents, his opinion has encyclopedic value. But it shouldn't be presented as anything more than the opinion of someone who has a little more basis for an opinion than most of the rest of us. RossPatterson (talk) 20:43, 3 July 2009 (UTC)
- I see your point. more so on the subject of the importance of his opinion than the idea that accompanying it with related facts would be inherently POV, but I agree that he is entitled to his opinion, it is relevant, and that it isn't being misrepresented as a claim of fact in this context. -无名氏- 00:06, 4 July 2009 (UTC)
- Relevant to this discussion: Microsoft issues patent promise, dispels Mono legal concerns 124.214.131.55 (talk) 16:06, 7 July 2009 (UTC)
Criticisms revert
My last edits were reverted under the corresponding edit summary:
- I/O etc.. were mentioned in explaining the CLI .vs NET, patents include some non-standard formats (XAML etc..), fixing false claim that there are definitely non-released patents (again), and undoing needlessly broken english).
The new text is now: provides a variety of non-standardized classes (extended I/O, GUI, web services, etc). All of the major standards and formats used in the .NET framework are included in Microsoft's Open Specification Promise which releases patent rights to the public, but there is some concern and debate as to whether there are additional aspects patented by Microsoft which are not covered, which may deter independent implementations of the full framework..
- I partially reverted the sentence All of the major standards and formats used in the .NET framework are included in Microsoft's Open Specification Promise by The major standards used in the .NET framework are included in Microsoft's Open Specification Promise, because Microsoft's Open Specification Promise does not say specifically anything about including All formats included in .NET. I agree that it includes some of the formats included in .NET, but to write more is a Point of View.
- Also my edit did not say that there was definitely non-released patents, but I wrote there is some concern and debate as of additional aspects patented by Microsoft, which may not been covered and deter independent implementations of the full framework. De Icaza himself said in 2008 (OK that was about Moonlight):here: "There is a patent covenant for anyone that downloads [Moonlight] from Novell,; as to extending the patents to third parties -- you have to talk to Microsoft".
- I really don't know where was the false claim about "definitely non released patents ? On the contrary, the current wording is a bit false, because (even if we don't know if they are patented or not), a lot of technologies in .NET are NOT in the covenant. Plus the Microsoft-Novell agreement is clearly about "patent-protection". Hervegirod (talk) 20:42, 5 July 2009 (UTC)
- I agree that it includes some of the formats included in .NET, but to write more is a Point of View. - it's not a POV issue, but it is a claim of fact that isn't currently referenced. -无名氏- 21:17, 5 July 2009 (UTC)
- The Open Specification promise does not mention anywhere that All of the major standards and formats used in the .NET framework are included in the OSP, it gives a list of technologies that are covered, saying that all of .NET technologies (or C#) are covered by this list is making an assumption that is not backed by the document. Hervegirod (talk) 23:24, 6 July 2009 (UTC)
- well first, only certain portions of .NET have applicable microsoft patents, and obviously no other portions would be subject to coverage. also, in their Interoperability Principles, which is the current reference for the claim, microsoft promises to document all cases where a microsoft patent applies to third party implementations of .NET and to make those patents available under RAND terms. they also promise to document all of their APIs and to make that documentation available for anonymous browsing at no cost. they also promise not to define and use hidden/proprietary APIs. they also promise not to sue open source developers for non-profit activity under any circumstances. -无名氏- 00:44, 7 July 2009 (UTC)
- This promise is NOT the covenant and has no legal value. The terms are so broad that you can even think that Microsoft promise not to sue on any High volume product used in Vista. What about the FAT32 case ? The document which has a legal value is the covenant itself, which I referred to, is referred in a lot of wikipedia articles, and is very clear about which specific protocols and formats are included in the covenant. Hervegirod (talk) 21:58, 7 July 2009 (UTC)
- either way, you suggested that every part of .NET should be explicitly released, but there's nothing to release as far as most of it goes, because only certain components are covered by patents. also, again, there are more agreements and promises than their open specification promise. also, again, all of this has about as much to do with the C# programming language as X11 licensing has to do with the C programming language. that is, it's completely moot and unrelated. -无名氏- 23:21, 7 July 2009 (UTC)
- X11 / C ? Hervegirod (talk) 01:02, 8 July 2009 (UTC)
- criticizing X11 licensing and calling it criticism of the C programming language would be criticizing a particular system that is written in C and/or provides APIs for C programmers, but claiming it's a problem with the C language itself. many aggressively proprietary things have been written in a variety of languages, such as C, C++, Java, python, etc.. but objections to a given proprietary component have nothing to do with the language it happens to be written in. referencing unproven and generalized FUD about a proprietary class library that happens to be written in C# in the context of criticism of the ISO/Ecma C# programming language is similarly misleading and irrelevant. .NET patent issues belong in the .NET article, not in the C# programming language article. -无名氏- 02:11, 8 July 2009 (UTC)
- X11 / C ? Hervegirod (talk) 01:02, 8 July 2009 (UTC)
- either way, you suggested that every part of .NET should be explicitly released, but there's nothing to release as far as most of it goes, because only certain components are covered by patents. also, again, there are more agreements and promises than their open specification promise. also, again, all of this has about as much to do with the C# programming language as X11 licensing has to do with the C programming language. that is, it's completely moot and unrelated. -无名氏- 23:21, 7 July 2009 (UTC)
- This promise is NOT the covenant and has no legal value. The terms are so broad that you can even think that Microsoft promise not to sue on any High volume product used in Vista. What about the FAT32 case ? The document which has a legal value is the covenant itself, which I referred to, is referred in a lot of wikipedia articles, and is very clear about which specific protocols and formats are included in the covenant. Hervegirod (talk) 21:58, 7 July 2009 (UTC)
- well first, only certain portions of .NET have applicable microsoft patents, and obviously no other portions would be subject to coverage. also, in their Interoperability Principles, which is the current reference for the claim, microsoft promises to document all cases where a microsoft patent applies to third party implementations of .NET and to make those patents available under RAND terms. they also promise to document all of their APIs and to make that documentation available for anonymous browsing at no cost. they also promise not to define and use hidden/proprietary APIs. they also promise not to sue open source developers for non-profit activity under any circumstances. -无名氏- 00:44, 7 July 2009 (UTC)
- The Open Specification promise does not mention anywhere that All of the major standards and formats used in the .NET framework are included in the OSP, it gives a list of technologies that are covered, saying that all of .NET technologies (or C#) are covered by this list is making an assumption that is not backed by the document. Hervegirod (talk) 23:24, 6 July 2009 (UTC)
- I agree that it includes some of the formats included in .NET, but to write more is a Point of View. - it's not a POV issue, but it is a claim of fact that isn't currently referenced. -无名氏- 21:17, 5 July 2009 (UTC)
- Also my edit did not say that there was definitely non-released patents, but I wrote there is some concern and debate as of additional aspects patented by Microsoft, which may not been covered and deter independent implementations of the full framework - it refers to "additional aspects patented by Microsoft," which implies the statement that there definitely are additional aspects patented by Microsoft. whether or not there are more applicable patents is the matter of speculation and debate, more than the question of whether additional patents with no release would hinder independent implementations, because they definitely would. this is called begging the question, like saying "the fact that pigs fly could interfere with air traffic" when you mean "if pigs were to fly, that could interfere with air traffic." -无名氏- 21:17, 5 July 2009 (UTC)
- OK, we can change it to there is some concern and debate as of Microsoft patents on technologies which may not been covered by the OSP and deter independent implementations of the full framework Hervegirod (talk) 23:24, 6 July 2009 (UTC)
- the english is broken and confusing in that version as well, and it's a somewhat ambiguous version of the previous loaded statement that implied such patents definitely exist. other than trying to phrase it as if there is no doubt that there are non-released patents, I don't see what you could be trying to do, or what your objection might be. can you elaborate? -无名氏- 00:44, 7 July 2009 (UTC)
- you obviously see what you want to see here. And about broken English (I'm French), what is a loaded statement ? ;) Hervegirod (talk) 21:58, 7 July 2009 (UTC)
- again, can you be specific about your objection to the current statement, and what you're trying to do? -无名氏- 23:21, 7 July 2009 (UTC)
- OK, what is broken in my previous English sentence ? Hervegirod (talk) 01:02, 8 July 2009 (UTC)
- there is some concern and debate as of Microsoft patents on technologies which may not been covered by the OSP and deter independent implementations of the full framework -无名氏- 02:11, 8 July 2009 (UTC)
- OK, what is broken in my previous English sentence ? Hervegirod (talk) 01:02, 8 July 2009 (UTC)
- again, can you be specific about your objection to the current statement, and what you're trying to do? -无名氏- 23:21, 7 July 2009 (UTC)
- you obviously see what you want to see here. And about broken English (I'm French), what is a loaded statement ? ;) Hervegirod (talk) 21:58, 7 July 2009 (UTC)
- the english is broken and confusing in that version as well, and it's a somewhat ambiguous version of the previous loaded statement that implied such patents definitely exist. other than trying to phrase it as if there is no doubt that there are non-released patents, I don't see what you could be trying to do, or what your objection might be. can you elaborate? -无名氏- 00:44, 7 July 2009 (UTC)
- OK, we can change it to there is some concern and debate as of Microsoft patents on technologies which may not been covered by the OSP and deter independent implementations of the full framework Hervegirod (talk) 23:24, 6 July 2009 (UTC)
- Also my edit did not say that there was definitely non-released patents, but I wrote there is some concern and debate as of additional aspects patented by Microsoft, which may not been covered and deter independent implementations of the full framework - it refers to "additional aspects patented by Microsoft," which implies the statement that there definitely are additional aspects patented by Microsoft. whether or not there are more applicable patents is the matter of speculation and debate, more than the question of whether additional patents with no release would hinder independent implementations, because they definitely would. this is called begging the question, like saying "the fact that pigs fly could interfere with air traffic" when you mean "if pigs were to fly, that could interfere with air traffic." -无名氏- 21:17, 5 July 2009 (UTC)
- OK that was about Moonlight - yes it was, and the fact that aspects of Silverlight (A/V decoding if nothing else) depend on non-released MS patents is not in dispute here, or at all that I know of. -无名氏- 21:17, 5 July 2009 (UTC)
- This was just an example, but there are (numerous I think) other references about this (I'm not judging the validity of what they say, I'm just saying that there are such concerns by some reliable sources). For example here (but again it's only an example, googling mono patents returns 1 million hits). Hervegirod (talk) 23:24, 6 July 2009 (UTC)
- well for starters, novell claims that mono doesn't infringe any microsoft patents, which is a commitment that could be held against them in court, and is presumably based on analysis by their legal team, which is probably the most credible authority on the subject, given that novell wrote and maintains mono. also, microsoft has a specific covenant with novell that covers mono and silverlight, though with some limitations. so the question of whether microsoft's terms as applied to mono would actually qualify as RAND is somewhat moot, but also, I think you would be very hard pressed to try to prove that microsoft's terms can't be described as RAND, given that RAND is a somewhat subjective and broad term, and is a complicated legal term. also, please keep in mind that all of this is completely moot and should be deleted or moved to an article about .NET or mono, because this is the article about the C# programming language, to which none of this applies, whatsoever. -无名氏- 00:44, 7 July 2009 (UTC)
- Yes they claim that they don't infringe any patent, and we are perfectly right to cite them, but some reliable sources are not sure about it, so we should cite them too and don't try to "judge" their validity by ourselves. We should not make our own analysis here, but we should try to cite reliable sources and present these different sides. I agree that it's difficult in Microsoft-related articles because there is always a lot of "heat" in debates on Microsoft-related subjects, be it on one side or another. Hervegirod (talk) 21:58, 7 July 2009 (UTC)
- I don't know of any specific allegation that mono infringes a microsoft patent, and novell's policy is also to work around or remove patented portions. -无名氏- 23:21, 7 July 2009 (UTC)
- Yes they claim that they don't infringe any patent, and we are perfectly right to cite them, but some reliable sources are not sure about it, so we should cite them too and don't try to "judge" their validity by ourselves. We should not make our own analysis here, but we should try to cite reliable sources and present these different sides. I agree that it's difficult in Microsoft-related articles because there is always a lot of "heat" in debates on Microsoft-related subjects, be it on one side or another. Hervegirod (talk) 21:58, 7 July 2009 (UTC)
- well for starters, novell claims that mono doesn't infringe any microsoft patents, which is a commitment that could be held against them in court, and is presumably based on analysis by their legal team, which is probably the most credible authority on the subject, given that novell wrote and maintains mono. also, microsoft has a specific covenant with novell that covers mono and silverlight, though with some limitations. so the question of whether microsoft's terms as applied to mono would actually qualify as RAND is somewhat moot, but also, I think you would be very hard pressed to try to prove that microsoft's terms can't be described as RAND, given that RAND is a somewhat subjective and broad term, and is a complicated legal term. also, please keep in mind that all of this is completely moot and should be deleted or moved to an article about .NET or mono, because this is the article about the C# programming language, to which none of this applies, whatsoever. -无名氏- 00:44, 7 July 2009 (UTC)
- This was just an example, but there are (numerous I think) other references about this (I'm not judging the validity of what they say, I'm just saying that there are such concerns by some reliable sources). For example here (but again it's only an example, googling mono patents returns 1 million hits). Hervegirod (talk) 23:24, 6 July 2009 (UTC)
- OK that was about Moonlight - yes it was, and the fact that aspects of Silverlight (A/V decoding if nothing else) depend on non-released MS patents is not in dispute here, or at all that I know of. -无名氏- 21:17, 5 July 2009 (UTC)
- OK, some examples (they are numerous): [9] [10] [11]. The second one is rather funny: Microsoft and Novell have agreed to disagree on whether certain open source offerings infringe Microsoft patents and whether certain Microsoft offerings infringe Novell patents. Of course, it's impossible to know if Mono is specifically in the list for specific patents. But of course Microsoft patented some technologies used in .NET [12]. Or here: [13]:
The distrust exists because Microsoft's track record on facilitating unencumbered interoperability with Linux has traditionally been poor. Microsoft has consistently said that it will not collaborate directly with Linux distributors on interoperability issues unless the distributors agree to patent agreements that are hostile to the principle of freely redistributable software. Another source of concern among Linux users is Redmond's unsubstantiated allegation that Linux infringes on its patents. These issues have made it difficult for some Linux enthusiasts to feel comfortable with Mono. Hervegirod (talk) 01:02, 8 July 2009 (UTC)
- I think stallman's statements cover the generalized anti-microsoft FUD adequately, and we don't need an exhaustive list of every note on the internet where someone speculated that microsoft is evil so .NET is probably dangerous. especially given that the point is about .NET, not the C# programming language, which is the subject of this article. -无名氏- 02:11, 8 July 2009 (UTC)
- My point was that you wrote: "I don't know of any specific allegation that mono infringes a microsoft patent". But some people (more than only Stallman) think that it can be the case. As for you word FUD concerning Stallman, it clearly shows that you take a side here. You should better stick to the facts. Hervegirod (talk) 22:52, 9 July 2009 (UTC)
- stallman didn't make a specific allegation. his comments were vague, speculative, and unqualified. a specific allegation would name a microsoft patent and a part of mono that infringes it. my opinion is that stallman's patent claims are simply inaccurate, and that they easily qualify as an effort to cast Fear, Uncertainty, and Doubt without a clear and specific basis in fact. I think the basic point that microsoft intends to use .NET to control software development is accurate, but he's wrong that the strategy is based on patents. also, everyone has opinions, and everyone should stick to the facts. -无名氏- 23:57, 9 July 2009 (UTC)
- Please, no WP:OR !!!! Hervegirod (talk) 00:17, 10 July 2009 (UTC)
- stallman didn't make a specific allegation. his comments were vague, speculative, and unqualified. a specific allegation would name a microsoft patent and a part of mono that infringes it. my opinion is that stallman's patent claims are simply inaccurate, and that they easily qualify as an effort to cast Fear, Uncertainty, and Doubt without a clear and specific basis in fact. I think the basic point that microsoft intends to use .NET to control software development is accurate, but he's wrong that the strategy is based on patents. also, everyone has opinions, and everyone should stick to the facts. -无名氏- 23:57, 9 July 2009 (UTC)
- My point was that you wrote: "I don't know of any specific allegation that mono infringes a microsoft patent". But some people (more than only Stallman) think that it can be the case. As for you word FUD concerning Stallman, it clearly shows that you take a side here. You should better stick to the facts. Hervegirod (talk) 22:52, 9 July 2009 (UTC)
- I think stallman's statements cover the generalized anti-microsoft FUD adequately, and we don't need an exhaustive list of every note on the internet where someone speculated that microsoft is evil so .NET is probably dangerous. especially given that the point is about .NET, not the C# programming language, which is the subject of this article. -无名氏- 02:11, 8 July 2009 (UTC)
- On the contrary, the current wording is a bit false, because (even if we don't know if they are patented or not), a lot of technologies in .NET are NOT in the covenant. - yes, the claim could use a reference or reduction, but making an equally unreferenced loaded statement that refers to "additional aspects patented by Microsoft" as if such aspects are known to exist is not an improvement. -无名氏- 21:17, 5 July 2009 (UTC)
- see my comments above Hervegirod (talk) 23:24, 6 July 2009 (UTC)
- On the contrary, the current wording is a bit false, because (even if we don't know if they are patented or not), a lot of technologies in .NET are NOT in the covenant. - yes, the claim could use a reference or reduction, but making an equally unreferenced loaded statement that refers to "additional aspects patented by Microsoft" as if such aspects are known to exist is not an improvement. -无名氏- 21:17, 5 July 2009 (UTC)
- Plus the Microsoft-Novell agreement is clearly about "patent-protection". - I'm not sure what that means. -无名氏- 21:17, 5 July 2009 (UTC)
- THe Microsoft-Novell agreement is presented on the Microsoft Website (for example) as a Patent Cooperation Agreement
- but what's your point? -无名氏- 00:44, 7 July 2009 (UTC)
- Patent-protection means that Microsoft will not try to enforce their patents against Novell on what is covered by the deal (and it's the same on the other side). So Novell say they don't infringe any patent but they make a deal with Microsoft which would protect them on any legal action from Microsoft concerning patents. Remember that Microsoft issued various threats to enforce their patents against other Linux distros, and that they even did not revealed what these patents were. Hervegirod (talk) 21:58, 7 July 2009 (UTC)
- it's both: the agreement isn't relevant because the mono project doesn't infringe patents, but the agreement would apply to mono if there were patent issues. they also have a specific agreement about silverlight, which, unlike .NET, definitely does require microsoft patents that aren't covered under their OSP or microsoft's interoperability principles. -无名氏- 23:21, 7 July 2009 (UTC)
- It's late and I don't have time to discuss more now, but: the agreement isn't relevant because the mono project doesn't infringe patents: NO, Novell SAY they don't infringe patents, that's all. Hervegirod (talk) 01:02, 8 July 2009 (UTC)
- well in spite of the overwhelming credibility of novell and microsoft as experts on this subject, richard stallman's baseless speculation to the contrary is also listed. therefore, the subject has balanced coverage here, no one viewpoint is being thrust upon the reader. -无名氏- 02:11, 8 July 2009 (UTC)
- It's late and I don't have time to discuss more now, but: the agreement isn't relevant because the mono project doesn't infringe patents: NO, Novell SAY they don't infringe patents, that's all. Hervegirod (talk) 01:02, 8 July 2009 (UTC)
- it's both: the agreement isn't relevant because the mono project doesn't infringe patents, but the agreement would apply to mono if there were patent issues. they also have a specific agreement about silverlight, which, unlike .NET, definitely does require microsoft patents that aren't covered under their OSP or microsoft's interoperability principles. -无名氏- 23:21, 7 July 2009 (UTC)
- THe Microsoft-Novell agreement is presented on the Microsoft Website (for example) as a Patent Cooperation Agreement
- Plus the Microsoft-Novell agreement is clearly about "patent-protection". - I'm not sure what that means. -无名氏- 21:17, 5 July 2009 (UTC)
- "There is a patent covenant for anyone that downloads [Moonlight] from Novell,; as to extending the patents to third parties -- you have to talk to Microsoft" - the article presents this fact accurately. -无名氏- 21:20, 5 July 2009 (UTC)
- It 's the case now, but for the record not at the time of my remark. Hervegirod (talk) 23:24, 6 July 2009 (UTC)
- "There is a patent covenant for anyone that downloads [Moonlight] from Novell,; as to extending the patents to third parties -- you have to talk to Microsoft" - the article presents this fact accurately. -无名氏- 21:20, 5 July 2009 (UTC)
Architecture history
Architectural history needs dates. When did C sharp hit the market? Mathiastck 01:48, 14 June 2007 (UTC)
- It needs more than dates, but much more content. The history of C# itself is deeply entwined with the Sun v. Microsoft Java lawsuit (1997 October to 2001 January), so much so that it can probably be said that had it not been for that lawsuit, C# would not exist, or at least not under the name known today. It is quite remarkable, if not amazing, that none of this is mentioned, even in passing, at this article. mdf 14:39, 15 August 2007 (UTC)
C Sharp version history
This article is huge, don't you think that it could be useful to create a new C Sharp version history article for 3.0 and 4.0 specific features ? Hervegirod (talk) 20:21, 26 April 2009 (UTC)
- Yes, it's 54KB. I've seen worse; and the Java (programming language) page is 50KB, which is comparable. Looking at that Java page (and Java has been through more versions than C#, many of them before WP started) it's interesting that the language is described in more functional sections, like Applet, Servlet, JSP etc. The present plan here of listing the new features in each release (but omitting v1!) may have made more sense historically than it does now. I think it reads quite well, though, and removing all the interesting detail into one history article, or into a series like C Sharp 2.0, C Sharp 3.0 etc would make it more difficult to see what C# is really about. We certainly shouldn't let any section get much bigger and must start looking to split detailed discussion of any specific point out using {{main}} tags. But on the whole, I think my vote FWIW would be that it's OK at the moment although we should split out what we can into small, specific articles asap. --Nigelj (talk) 21:02, 26 April 2009 (UTC)
- I think we're getting to that point, yeah. What I'd like to see happen is that this article would contain an explanation of the entire language without regard to the version history, and then have a separate history article that tracks the history of the language's development both in terms of social stuff, i.e. quotes from Hejlsberg, as well as some examples of the new language constructs. For example, I don't think it's really important in this article to note that nullable types were a late addition in the C# 2.0 development process. This isn't useful information for someone who just wants to learn about C#.
- More generally, I have a pretty major disagreement with the notion that a programming language should be explained in chronological order of its development, if we aren't going to explain the entirety of the first version first. The 2.0 section, for example, talks about how "anonymous delegates" were introduced... shouldn't the existence of "delegates" as a general construct be described first?
- Wikipedia has articles like Perl control structures and PHP syntax and semantics which could give us some idea of how to proceed. Warren -talk- 22:32, 26 April 2009 (UTC)
- I agree with both of you. Do you agree to (but consider it only as a proposal, I don't want to promote my own POV on the structure of the article) :
- rewrite (or reword) a part the article (more a change of wording I think, but I'm maybe too optimistic about the amount of work needed to do that) such as to present the language without explaining each feature as an addition of a specific version.
- create a new article with a link from the main article for the C# version history.
Maybe we will be able to "see clearer" after that change and be able to explain more in depths some features of the language without destroying the unity of this article (such as for example delegates having their specific article; it's odd that no specific article on C# delegates exist, even if it is an important feature of C# IMHO). Hervegirod (talk) 20:53, 27 April 2009 (UTC)
I have split off the version history into 3 seperate pages; I may however consider merging those 3 to one and link to it from here. This managed to cut down the size of this article considerably, without removing value. Jwoodger (talk) 02:24, 22 July 2009 (UTC)
Version history is WRONG
C# 3.5 - released November 2007?? There is no such thing as version 3.5! There is a version 3.5 .NET framework version, but that's another story. I'm updating the version part to the truth. --DotnetCarpenter (talk) 14:32, 15 October 2009 (UTC)
A Little Ironic?
I Noticed A Pronounceing Error. (pronounced "C Sharp") Is Now Changed To (pronounced "See Sharp"). That Is A Highly Illogical Saying Of The Phrase And Should Have Been Corrected Ages Ago. --Lyoko2198 (talk) 16:37, 6 November 2009 (UTC)
C# comments sections
Since all the detailed examples were moved out of this article by User:Jwoodger last summer, it seems that in what we have left, the sections 'Code comments' and 'XML documentation system' now take up about a quarter of the remaining article. Having both of these sections in what is now a much shorter article adds a preponderance of comment examples to it. Could we conceive of a C# code comments article with all this material moved over? Would it be better just to trim the material right down, but leave it here, in a form more suitable to a top-level overview article like this? It seems seriously out of place in a WP:HOWTO kind of way as it is.
- I agree with the point about comments. I found it odd that there are 4 examples of document comments, 3 of which are not in the most commonly encountered style! I also found the comments section to be confusing, this sentence "Multi-line documentation comments, while defined in the version 1.0 language specification, were not supported until the .NET 1.1 release" is then immediately preceded by 3 examples of multi line comments! It gives the impression that multi line comments are no longer supported (after 1.0), when infact they are (althought I do not know the exact versions in which they are now supported). I believe this needs clarification. --Matt 10:17 14 July 2010
The 'Boxing and unboxing' section also seems curiously detailed and now out of place here. Does anyone know what version of C# that was introduced in, so it can be moved to the relevant version-specific article: C Sharp 2.0, C Sharp 3.0 or C Sharp 4.0 along with all the other specific examples.
- Boxing and unboxing has been in since 1.0. --Matt 10:17 14 July 2010
Maybe all the Comment stuff should be used as the basis to create C Sharp 1.0, assuming comments and XML doc comments existed from the start? --Nigelj (talk) 20:16, 14 November 2009 (UTC)