Talk:C Sharp (programming language)
![]() | Computing B‑class | |||||||||
|
![]() | Computer science B‑class Mid‑importance | ||||||||||||||||
|
![]() | Microsoft: .NET Unassessed | ||||||||||||
|
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)
Architectural history needs dates
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)
Page Title
The C Sharp note now has the symbol in its title - why not the programming language? Can only one page have the symbol? —Preceding unsigned comment added by 86.143.148.217 (talk) 12:42, 25 October 2007 (UTC)
- The article for the musical note is at C♯ - i.e. that is a "sharp sign" in the title name. However, for C# the language we'd have to use the plain "#" symbol, since that is the official spelling for it, and "#" is still not allowed in article names for technical reasons. -- int19h 19:45, 25 October 2007 (UTC)
- I believe you're mistaken. As I glance at the icon that Visual Studio 2008 uses for a .cs file created for C♯, it uses the musical sharp (♯) sign, not a pound (#) sign. I propose we move it to C♯ (programming language). Bob the Wikipedian (talk • contribs) 02:12, 6 June 2009 (UTC)
- Extremely strongly I oppose the move. For the following reasons:
- The icon is just equivalent of a visual logo, and the designers have a lot of artistic freedom to modify the visual representation. Doesn't mean that affects how the product is referred to in writing.
- See anywhere, in text it is exclusively represented by the # (pound) sign. Even in Visual Studio as well as the ECMA C# Language spec. Ignoring the spec and reading from the icon is OR at worst. Even WP:NAME would suggest C#.
- Most importantly, the musical sign (♯) isn't easily typable on a regular English keyboard. Which makes it very hard to link to the article directly when hand-editing wikitext. While C# would be great for writing, sharp doesn't pose too much of a problem either. Plus, the article well linked to, there is no reason to upset the properly working links. Even if a redirect were present at this article, most hand-links would be to that. Making it the most common reference. Plus redirects tend to cause problems with article statistics and/or other operations that sift through db dumps. --soumtalk 02:44, 6 June 2009 (UTC)
- Extremely strongly I oppose the move. For the following reasons:
- To emphasis the above comment, according to page 11 of the C# standard (ECMA-334): "The name C# is pronounced “C Sharp”. The name C# is written as the LATIN CAPITAL LETTER C (U+0043) followed by the NUMBER SIGN # (U+0023)." The ♯ sign is MUSIC SHARP SIGN (U+266F), clearly a different character, and hence inappropriate. Bendono (talk) 10:07, 6 June 2009 (UTC)
- Correct. I cannot even type the "♯" character, despite using the macro. It simply types this: "o" alt+(dec)9839/(hex)266F. But I can type # by using alt+(dec)35/(hex)0023. Maybe I'm doing it wrong, but I doubt readers would enjoy fighting with Unicode macros to get to the article. It is also true that the official "typing" way is to use the pound ("#"). As the article clearly states, the "♯" character is really used in artistic representations, just like the icons you mention. Believe me, I think it would be lovely if the official way was the "♯" character, but we simply don't have an easy way to type it and it can cause encoding problems. Note: It DOES type in Word/Wordpad, but neither on websites, nor, ironically, Visual Studio itself! :) —Preceding unsigned comment added by 67.142.163.32 (talk) 17:28, 12 January 2010 (UTC)
Article name
See Talk:Microsoft Visual Studio. --Stefán Örvarr Sigmundsson 03:35, 27 October 2007 (UTC)
C#
Can C#, I'm not talking about Microsoft Visual C#, use the system namespace with the Console.ReadLine/WriteLine methods or is it just part of the .NET Framework? --Stefán Örvarr Sigmundsson 23:47, 12 November 2007 (UTC)
- Every platform that hosts C# programs exposes the System.Console class. In some execution environments (e.g. certain background services or graphical applications), standard input/output may be discarded, but every environment allows you to call the methods of System.Console. Rod (A. Smith) 08:32, 13 November 2007 (UTC)
- So you could have Macs produce console output? I think we need an article like Comparison of C# and Microsoft Visual C#. --Stefán Örvarr Sigmundsson 15:15, 14 November 2007 (UTC)
- You certainly can do that on Mac OS X. Assuming we would have a C# implementation running on classic Mac, the limitations would be the same as for plain C programs - they too have stdin/stdout/stderr regardless of the platform, but there's no guarantee as to where the input comes from and where the output goes. -- int19h 15:54, 14 November 2007 (UTC)
- I'm definitely up for that C# vs Visual C# article. With Mono now working, and other open-source C# implementations in the works, it could be very interesting. We'll have to pour through the ECMA Standards and documentation, so it wouldn't be easy. But I would register and contribute if an article like this will be done! :) By the way, I have a copy of Mono and a virtual machine running Linux. I've tested a bit of C# on it so far, and all of the Console members work just fine. The reason is because whatever CLR/VM environment runs the C# application and JITs it will link its calls to the equivalent native API members/functions. So if it's (contrived example) writesomething(char[] c) on operating system A, Console.WriteLine() will call that. If it's writeword(LPSTR* lp) on operating system B, that is the call made. Think of the JIT as linking the IL code to appropriate native APIs as it compiles, to put it simply. —Preceding unsigned comment added by 67.142.163.32 (talk) 17:37, 12 January 2010 (UTC)
Version 3.0
The latest language specification of C# has already been publish so it's not a "future product" any more, is it? Shouldn't {{future product}} be removed? --Stefán Örvarr Sigmundsson 11:56, 15 November 2007 (UTC)
- Is there any other providers rather than microsoft ? I mean Borland for example A M M A R 22:27, 16 December 2007 (UTC)
- 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)
- 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)
What the hell?
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)
- Hasn't the discussion simply been put into the archives? --Stefán Örvarr Sigmundsson (talk) 18:33, 20 November 2007 (UTC)
Disclaimer distinguishing 'C#' from 'MS Visual C#'
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)
- 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)
- Just my take on it: the disclaimer seemed a bit unnecessary to me. — Matt Crypto 21:33, 17 December 2007 (UTC)
- 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)
- 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)
- OK I'm happy with that too, after having seen the comment in true context. --Nigelj (talk) 21:48, 18 December 2007 (UTC)
- 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)
Criticism-Performance
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)
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)
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)
- 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)
I think that this section is not particularly "informing" on the matter: first of all I think that at least the fact that it's jitted it's worth mentioning, as this greatly increases performance compared to a VM language that doesn't use it (Java). Also "access machine resources more directly" means little, as it's not clear if you're speaking of peripherals, OS functions, memory or what. Since not even C is in fact self contained (it does need its library), and C++ has a similar number of jumps needed to access class members, it is reductive to say "it's not compiled into machine code, then it's slower"; in particular it's not objective to compare it to Java, whose performance is notoriously worse, both memory and speed wise. The "computer benchmarks game" link is also misleading in this context, as it shows the performance of the Mono implementation of C#, which is definitely slower than the official one. Overall it seems a slight anti-Microsoft bias in my opinion, or at least poorly certified. 78.13.141.225 (talk) 15:41, 14 May 2008 (UTC)
"C# CPU speed is also lower than for native languages"
This cannot be what was intended -- the CPU speed is not related to source language. —Preceding unsigned comment added by 75.73.139.54 (talk) 03:18, 23 September 2008 (UTC)
The 22nd citation ("Microbenchmarking C++, C#, and Java: Average results without arithmetic.". Dr. Dobb's Journal (2005-07-01). Retrieved on 2007-12-29.) has 5 Java runtimes as the most performant and an ahead-of-time Java compiler at 6th. This proves that managed runtimes can be faster then native compilation. This is the exact opposite of what the citation is being used to back up, that managed runtimes are slower. The line should either be removed or changed to reflect that this is relating specifically to C# on Mono and .NET (which was slower in those benchmarks) and not Java or managed runtimes in general. —Preceding unsigned comment added by 219.76.243.32 (talk) 12:26, 20 January 2009 (UTC)
Platform criticism
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)
- 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)
- 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)
- 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)
edits to Implementations
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)
- 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)- 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)
- 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)
- 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)
- 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)
- 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)
Visual C#
The article doesn't offer anything new (as compared to this one) except that it is the MS impl of C# spec. And considering that C# and Visual C# are virtually the same, I think it would be better if that was just merged into this. What say? --soum talk 10:01, 4 January 2008 (UTC)
- in MSVS They are the same actully . A M M A R 12:22, 4 January 2008 (UTC)
- ok by me. That one should be changed to redirect to here. —Preceding unsigned comment added by Leotohill (talk • contribs) 16:19, 4 January 2008 (UTC)
- There are actually two things that goes by the name of Visual C#: the compiler and the language services which integrate C# language support into the VS IDE. The former is independent of Visual Studio while the latter is a part of VStudio (in fact, there are two flavors to the latter - one which installs the services into a different Visual Studio Shell AppId, commonly known as Visual C# Express, and another which installs into the Standard/Professional/Team System AppId). With that in mind, I guess a redirect here isn't that good an option. Best redirect to VStudio article and in the Visual C# section mention the different and link to this article. I will wait for a few more comments before performing the redirect. --soum talk 09:39, 7 January 2008 (UTC)
Disambiguation for C sharp
Is there any reason this article can't be moved to C sharp (programming language) or something like that? Given all the musical articles ([C♯ (music), C-sharp major, C-sharp minor), the term "C sharp" desperately needs a disambiguation page. Torc2 (talk) 00:17, 7 January 2008 (UTC)
- This was done on 9 Jan. by Torc2 without further discusion. OK, fair enough, but I think we now have a minor problem with the line that says:
- The correct title of this article is C#. The substitution or omission of a # sign is because of technical restrictions.
- It should say,
- The correct name of the programming language is C#. The substitution or omission of a # sign is because of technical restrictions.
- Or am I being too picky? (Nerd behavior?)
- I was thinking of changing that line myself, but it's generated by a template, and that template is apparently fairly deeply integrated into Wikipedia's presentation processing. I'm thinking that correct procedure would be to request creation of a new, more general template to take care of our problem. But is it worth the effort? --RenniePet (talk) 06:28, 27 January 2008 (UTC)
- Make it "The correct title of this article is C# (programming language). ... " Or just move this back to C Sharp... -- JHunterJ (talk) 11:52, 6 February 2008 (UTC)
- User:Elliskev fixed this 28 January 2008 - thanks. --RenniePet (talk) 18:09, 8 February 2008 (UTC)
C# 3.0 new language features?
There's a section entitled "C# 3.0 new language features", but the things described there are all .Net 3.0 added functionality. Nothing to do with the C# language, as far as I know. --RenniePet (talk) 14:56, 26 January 2008 (UTC)
- No, .NET 3.0 and 3.5 used CLR 2.0 only. It adds nothing else. Everything is done at language level. --soum talk 16:15, 26 January 2008 (UTC)
- Sorry, I don't understand. What do things like Windows Communication Foundation, Windows Presentation Foundation, Windows Workflow Foundation, and Using CardSpace in the Windows Communication Foundation have to do with the C# language? --RenniePet (talk) 16:28, 26 January 2008 (UTC)
- Were you referring to this rev? I am sorry I missed the misinformed edit? --soum talk 06:36, 27 January 2008 (UTC)
- Yes, that's what I was talking about. --RenniePet (talk) 06:40, 27 January 2008 (UTC)
- Were you referring to this rev? I am sorry I missed the misinformed edit? --soum talk 06:36, 27 January 2008 (UTC)
- Sorry, I don't understand. What do things like Windows Communication Foundation, Windows Presentation Foundation, Windows Workflow Foundation, and Using CardSpace in the Windows Communication Foundation have to do with the C# language? --RenniePet (talk) 16:28, 26 January 2008 (UTC)
history section needs expanding
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
- [1]
- 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)
C# error code standardization ???
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)
Currently, MS have a complier error db ranging from 0001 to 9999. What about application errors based on C#, although it is industrial specific. Could error db be generated on the application of OS written by C# ???
Standard validation issue...
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)
Appending to the validation of the standard issue...
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)
Shouldn't it be validated? Wherever there is a method, it should be validated no matter what. Usually, people is unable to validate rules which can usually be request for justification, but this is not applicable to methods which is not justified but can always be revised and validated in some ways
I suggest that ISO people need to distinguish the rule- or method- based standards clearly (different coding) so that people will be reviewing the standards for either justification or validation —Preceding unsigned comment added by 64.62.138.95 (talk) 08:47, 24 February 2008 (UTC)
With regard to method based standards, the nature shows that objectivity is more than subjectivity —Preceding unsigned comment added by 65.49.2.96 (talk) 03:55, 25 February 2008 (UTC) It is more transparent (95%, I would say) -- which means the power balance among the entities are 95% of scientific and democratic power, while only 5% of administrative power
With regarding to rule based standards, there are always power broking out there and the nature shows that subjectivity is more superior than objectivity. Another part of nature is that there is always some sort degree of confidentiality associated with, regardless whether it is the process of bill passing or veto in parliament or congress, software releasing, and univerisity degree offering. The drawback of voting system is that vote without necessarily providing reason. Among the three systems, the best practice, I personally consider, is the degree offering with which at least five examingers have to provide independent reports with the reason provided for examinees to seek higer degrees
Unsafe typing?
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)
- 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)
"Enumeration members are placed in their own namespace" ?
I don't understand what this means. Are we saying that any enum you create must have a dedicated namespace containing only other enums? That's how i'm interpreting this sentence, but i know that isn't true. I can declare an enum in any namespace i want. In the section this statement is made, it's comparing features between C# and C++. C++ enums are essentially "global" identifiers, but C# has no concept of a global. Is this the intended meaning behind the original statement? I think some clarification is in order. 0xDEADC0DE (talk) 16:29, 22 June 2008 (UTC)
- Unlike C++ enumerators, which are always placed in the surrounding namespace, C# enum members have to be qualified with the enum name:
- Enum members are named and scoped in a manner exactly analogous to fields within classes. The scope of an enum member is the body of its containing enum type. Within that scope, enum members can be referred to by their simple name. From all other code, the name of an enum member must be qualified with the name of its enum type. Enum members do not have any declared accessibility—an enum member is accessible if its containing enum type is accessible.
- ("C# Language Specification, Version 3.0", Section 14.3 "Enum members") — Tobias Bergemann (talk) 07:28, 26 June 2008 (UTC)
footnote 1 is ...
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)
version =\=dialect
I changed ”dialect” on the infobox to ”version”Bettering the Wiki 23:42, 9 August 2008 (UTC)
anonymous delegates
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)
- 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)
- 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)
...Scratches head.... If that's true, then not even scheme has closures!
(let
((result
(let
((x 1))
(cons (lambda() (display x) (display " ";))
(lambda()(set! x (+ 1 x)))))))
((car result))
((cdr result))
((car result)))
The above scheme captures x with two closures, returns them in a cons pairing to get out of x's scope, and executes each through accessing them (car,cdr) in the cons pair. The second closure uses "set!" to change the value of the captured variable that both closures point to. It produces output "1 2 ". Root4(one) 09:38, 3 September 2008 (UTC)
- 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)
c++ upcoming new standard will support type constraints in templates
"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)
Examples
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)
- 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)
- There's no reason we couldn't include the sisterlinks box to Wikibooks. §hep • ¡Talk to me! 00:16, 29 November 2008 (UTC)
History section
- 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)
I apologize if this has already been addressed, but i'd like to voice my concern over the relevency/accuracy of the first paragraph of this section. The paragraph is talking about Sun's release of Java's and Microsoft's subsequent licensing of Java. My concerns are:
(1) it seems off-topic since this article is obviously about C# and not Java. (2) While the lawsuit between Sun and Microsoft over Java is certainly factual and verifiable, the mention of it here seems out of place since the author seems to be speculating that the outcome of the lawsuit in Sun's favor was the impetus for creating C#. NO sources are cited for this (unlike the rest of the "History" section which is well-cited). At the risk of not assuming good faith, this sounds like a subtle rehash of the "C# is just a copy of Java" tirade. (3) The author seems to imply that C# is "partially compiled [and] partially interpreted". That is false. Managed code is never interpreted according to this: [2]
For these reasons, I feel this paragraph under the "History" should be removed. Thanks. 0xDEADC0DE (talk) 19:16, 17 December 2008 (UTC)
I say keep it. I agree that some citations would be nice, but it's not very far-fetched. It's indisputable that Microsoft wanted to extend Java with delegates (bound method references), but had trouble getting acceptance from Sun for this (see this article from late 1998). The C# team was formed in 1999. And of course, post hoc implies propter hoc ;) Alf (talk) 22:57, 17 December 2008 (UTC)
Reserved Words
- 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)
"C# currently (as of 3 June 2008) has 77 reserved words." - I don't think that this is correct. How do we define "reserved word" here? I personally think of context-based "key"-words as reserved too. Other opinions? 81.10.150.42 (talk)
- 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)
- 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)
oops.
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)
- OK done. --Salix (talk): 09:48, 28 January 2009 (UTC)
"run more slowly and require more memory than functionally similar applications written in native languages like C++"
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)
I agree. This statement is way too generalized (especially w/r/t execution speed - C# will likely take more memory, though) and needs more support than like two generic benchmarks. Contrast http://blogs.msdn.com/ricom/archive/2005/05/19/420158.aspx where we have the C# version of code being ~10 times faster than the equivalent C++ version. Tim Song (talk) 19:57, 30 January 2009 (UTC)
- 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)
Do we really need all these code examples
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).
"Some argue"
User:无名氏 has been breaking the three-revert rule here recently over a very minor issue. S/he seems not to have read the document that he finally cited to back him up. The weasel-word style guideline summarises itself as 'Avoid using phrases such as "some people say" without providing sources' and begins 'Weasel words are words or phrases that seemingly support statements without attributing opinions to verifiable sources'. This user has spent the last 24 hours repeatedly trying to add a {{who}} tag to a simple sentence that has had a source cited right at the end of it for weeks. Please try to help this user with their edits until they gain a little more experience with our policies and endeavours here. --Nigelj (talk) 16:41, 26 April 2009 (UTC)
- thank you for removing the phrase. however, I have just looked at the reference, and there is a serious verifiability issue relating to the nature of the source. the reference is to a web site containing original research published by an individual. self publication, particularly an individual's web site or blog, does not qualify as a reliable source on wikipedia. also, the page appears only to document which languages had which features first, which doesn't provide any specific evidence of influence. if it were a reliable source, it would only support the claim that certain languages had certain features before C#. -无名氏- 18:21, 26 April 2009 (UTC)
- I am, therefore, removing the reference and marking the claim that it supported with a fact tag. I propose that based on the wikipedia policy "Do not leave unsourced or poorly sourced information that may damage the reputation of living persons or organizations in articles and do not move it to the talk page" the claim should be removed in a timely manner if no reference can be provided, as claims about C# having been derived from languages that are competing for market space, or that have conflicting programming models (such as duck typing) could be considered damaging. -无名氏- 18:21, 26 April 2009 (UTC)
- also, regarding your 3RR claim, I added a tag, and you repeatedly reverted my edit. a 3RR violation would therefore be on your part. please discontinue using uncivil and personal language such as your 3RR accusation and "Please stop adding nonsense to the article." "Try to bring a sensible end to 无名氏's pedantry." "Please try to help this user with their edits until they gain a little more experience with our policies and endeavours here." -无名氏- 18:21, 26 April 2009 (UTC)
- For goodness sake, please try to be constructive. If you are not happy with a cited source - find a better one, don't just remove a perfectly reasonable, hard won citation and insert a 'fact' tag. If you want to challenge a statement in an article, please read the article first - you will find that the point made in that sentence is repeated several times in different parts of the text with different sources as appropriate. If you want to cite WP policy, please read the policy document first. Etc etc. You began using the current username at 20:38, 18 April 2009,[3] which is less than a week ago, and you have already been accused of trolling when you upset a whole series of other editors in this discussion. I don't intend to 'feed' you with any more argument. --Nigelj (talk) 19:23, 26 April 2009 (UTC)
- I have no obligation to search for alternate references. the reference that I removed is a self published web site with original research by an individual. in other words, it is not a valid reference on wikipedia, it isn't even close. it should not be cited as a reference anywhere in wikipedia, for any statement. your opinions about me or my edit history have no bearing on that matter. -无名氏- 19:35, 26 April 2009 (UTC)
- deleting content like you did is disruptive and do not help this project in any way. In 10 minutes, you could have found better sources, and you would have avoided a lengthy discussion with other editors that must have taken more than 10 minutes of your time. Hervegirod (talk) 20:18, 26 April 2009 (UTC)
- again, a self published personal web site is not a valid reference on wikipedia, and I am going to continue deleting it per Wikipedia:Verifiability, specifically Wikipedia:SOURCES, and also, Wikipedia:Reliable_sources. please consult those documents.
- that also includes http://www.artima.com/weblogs/viewpost.jsp?thread=6543: "After Java and C# - what is next?" note that the site refers to itself as a blog and its authors as bloggers. I intend to remove every instance of that reference for verifiability reasons.
- the other two references are somewhat less dubious, but they do appear to be non-peer-reviewed online-only publications that are essentially just blogs under the banner of an online magazine, and I believe they warrant further scrutiny. I don't have the time to build a solid case for deleting them right now, though, so I don't intend to delete them at this point, but can you point to any reference in print that supports the claim? -无名氏- 20:50, 26 April 2009 (UTC)
- Dr. Dobb's Journal is a well-known monthly about computers. I don't have the time to build a solid case for deleting them right now => What's your problem about this reference? Hervegirod (talk) 20:56, 26 April 2009 (UTC)
- it fails to meet any of wikipedia's standards for references (print, peer review, notable publisher, academic notability, etc..) -无名氏- 21:03, 26 April 2009 (UTC)
- The pages you're insisting on removing are documents written by established experts in their respective fields. WP:SPS, which is part of WP:V, explicitly allows for this. Erik Levenez, especially, is recognized as being an authority on the history of and relations between operating systems. Warren -talk- 22:36, 26 April 2009 (UTC)
- Self-published material may, in some circumstances, be acceptable when produced by an established expert on the topic of the article whose work in the relevant field has previously been published by reliable third-party publications. However, caution should be exercised when using such sources: if the information in question is really worth reporting, someone else is likely to have done so.
- that would seem to apply to kreft and langer as they have published a book on C++ streams, and I'm not going to argue the distinction between C++ streams and comparing C# to java as grounds for exclusion. however, levenez does not appear to be published or well recognized. can you provide a reference for your assertion about him? also, if the claim about C# and java is valid, why isn't it in print? -无名氏- 23:23, 26 April 2009 (UTC)
- In the area of operating system history timelines (admittedly a limited field), his charts are well-known. You don't have to be a published print author to be recognized as an expert in your field. But, if you're demanding an example of a reliable third party publishing Levenez's work, look here -- O'Reilly & Associates both publishes and recommends the use of his charts. Warren -talk- 19:04, 27 April 2009 (UTC)
- The pages you're insisting on removing are documents written by established experts in their respective fields. WP:SPS, which is part of WP:V, explicitly allows for this. Erik Levenez, especially, is recognized as being an authority on the history of and relations between operating systems. Warren -talk- 22:36, 26 April 2009 (UTC)
- it fails to meet any of wikipedia's standards for references (print, peer review, notable publisher, academic notability, etc..) -无名氏- 21:03, 26 April 2009 (UTC)
- deleting content like you did is disruptive and do not help this project in any way. In 10 minutes, you could have found better sources, and you would have avoided a lengthy discussion with other editors that must have taken more than 10 minutes of your time. Hervegirod (talk) 20:18, 26 April 2009 (UTC)
- I have no obligation to search for alternate references. the reference that I removed is a self published web site with original research by an individual. in other words, it is not a valid reference on wikipedia, it isn't even close. it should not be cited as a reference anywhere in wikipedia, for any statement. your opinions about me or my edit history have no bearing on that matter. -无名氏- 19:35, 26 April 2009 (UTC)
- For goodness sake, please try to be constructive. If you are not happy with a cited source - find a better one, don't just remove a perfectly reasonable, hard won citation and insert a 'fact' tag. If you want to challenge a statement in an article, please read the article first - you will find that the point made in that sentence is repeated several times in different parts of the text with different sources as appropriate. If you want to cite WP policy, please read the policy document first. Etc etc. You began using the current username at 20:38, 18 April 2009,[3] which is less than a week ago, and you have already been accused of trolling when you upset a whole series of other editors in this discussion. I don't intend to 'feed' you with any more argument. --Nigelj (talk) 19:23, 26 April 2009 (UTC)
(Outdent) I must say I agree with 无名氏 that the artima.com is a very week source for the fact C# is derived from Java. What would be ideal is something closer to the designers, maybe someone who actually worked on the project, stating some of the design goals of the language. Failing that the the Dr Dobbs article is better, it at least goes to some detail of the comparison.
The revert war is not good though. Discussion should be kept here. I'm quite happy to use my admin bit if it continues. --Salix (talk): 19:59, 27 April 2009 (UTC)
- in my own limited search, I haven't found any offline (print) source that supports the claim, and nothing online that is academic and/or peer reviewed. though, I don't deny that many similarities exist. in fact, as someone who has used Java and C# extensively, I find the similarities overwhelming. however, similarity and derivation are legally and technically separate, and I think the distinction is important, because the references only document similarities, providing no direct evidence of derivation. I mainly just don't like the nature of the references, though. especially a blog that openly calls itself a blog. I mean, whether it is by published authors or not, the article isn't presented as being a well researched, well reviewed formal paper.
- my personal opinion is that there is clear evidence to support a claim that C# and Java have many similarities, but I would soften the wording suggesting that C# is explicitly derived from Java. maybe clearly stating that there are similarities, but naming and quoting people who speculate that C# may be derived from Java, rather than stating it as a proven fact, if the claim must be included. -无名氏- 22:57, 27 April 2009 (UTC)
- While the artima.com article is valid as a source according to WP:V (both authors are published by Addison-Wesley), I don't believe it supports the claim that C# is "heavily influenced by Java." At most, it claims that they are "siblings." Logically, only the language creators could even speak about this. Unless the designers are quoted, anything else is technically just conjecture. I've looked for anything from Hejlsberg, Wiltamuth, Golde, Sollich, and Gunnerson on the subject, but my search came up empty.
- The arguments here for the inclusion of the claim are certainly in good faith, but reasons for inclusion like "Levenez's languages chart is famous in computing circles" is not really relevant. (Nuggetboy) (talk) (contribs) 13:39, 28 April 2009 (UTC)
- In re: Levenez, I did not see this until just now. (Nuggetboy) (talk) (contribs) 13:47, 28 April 2009 (UTC)
- how many blog posts and famous wall posters does britannica cite for statements of fact? if wikipedia isn't going to follow encyclopedic standards of using only formal peer reviewed books and papers as references for facts, then wikipedia isn't going to be encyclopedic. if the C++ streams book by the blog authors were the reference, I wouldn't object, but it's a weak standard to suggest that if someone has a book published, then any informal comment they make in an online forum about anything even remotely related becomes a good reference. publishing libelous inaccuracies through a reputable publisher is difficult because publishers do fact checking and reviewing in order to protect themselves, and that's why there is a huge distinction between self published works and formally published works. if an encyclopedia gets a fact wrong then there should be some formal source to blame, not just some speculation posted one day on a blog by someone who once authored a book. in other words, an encyclopedia shouldn't contain claims of fact where it can't point to an expert who formally supported a claim, and who could be blamed for an accuracy issue. "a guy who wrote a book guessed so on his blog" wouldn't hold up in court if wikipedia were sued for libel or other damages.
- also, in this case, microsoft seems to have specifically avoided making any public suggestion that C# is derived from Java, and they do have a vested interest in that perception, so it would be nice to have at least one reference that would meet the standards of a conventional encyclopedia. -无名氏- 14:33, 28 April 2009 (UTC)
- if wikipedia isn't going to follow encyclopedic standards of using only formal peer reviewed books and papers as references for facts ; it is ABSOLUTELY NOT a rule of wikipedia to use only formal peer reviewed sources. Hervegirod (talk) 02:01, 29 April 2009 (UTC)
- for the accusation that microsoft copied sun's designs, it may be reasonable to seek a more solid reference than would be required for a claim about, for example, woodworking practices. if nothing else, an explicit claim by someone would be nice, rather than a number of informal links that just point out similarities and make speculations. -无名氏- 05:54, 29 April 2009 (UTC)
- In re: Levenez, I did not see this until just now. (Nuggetboy) (talk) (contribs) 13:47, 28 April 2009 (UTC)
Don't forget, 无名氏, that the sentence in question here originally began with the words "Some argue that...", but you strenuously (and I believe wrongly since there was always a citation as to who exactly was arguing this) argued that these were "weasel words" until they were removed. So we now have a direct claim that, "C# has roots in other languages including Java, JavaScript and Delphi", rather than the original softer statement. Two questions: Was that all part of a reductio ad absurdum rhetorical tactic on you part? Is all this really worth the effort, per sentence? (There's 16KB of discussion here already and you haven't started discussing C#'s relationships with JavaScript and Delphi yet) --Nigelj (talk) 20:00, 29 April 2009 (UTC)
- my objection has been consistent: that there aren't sufficient grounds for wikipedia to take a stand in stating as a fact or consensus that microsoft derived C# from java, and that this is a fairly sensitive matter that warrants discretion and erring on the side of caution.
- the remedy that I have proposed has also been consistent: that, rather than stating "Some argue x is a fact" or worse, "x is a fact," wikipedia should err on the side of caution and explicitly name and quote individuals who speculate that C# may be derived from java, if such a statement must be included at all. -无名氏- 20:54, 29 April 2009 (UTC)
I think this quote is illuminating
Osborn: I've been looking at press stories about C# [pronounced "See sharp"] and notice that many of them seem to lead with the observation -- or perhaps the theory -- that C# is either a clone of or a Microsoft replacement for Java. If you could write the headlines, what would you like people to say about the language?
Hejlsberg: First of all, C# is not a Java clone. In the design of C#, we looked at a lot of languages. We looked at C++, we looked at Java, at Modula 2, C, and we looked at Smalltalk. There are just so many languages that have the same core ideas that we're interested in, such as deep object-orientation, object-simplification, and so on.
From Deep Inside C#: An Interview with Microsoft Chief Architect Anders Hejlsberg 08/01/2000.--Salix (talk): 21:31, 29 April 2009 (UTC)
- that's a great quote. my interpretation is that Hejlsberg denies that C# is specifically rooted in java, or that the ideas behind C# are specific or unique to java. -无名氏- 21:55, 29 April 2009 (UTC)
- Another Wikipedia rule is "Wikipedia articles should rely mainly on published reliable secondary sources and, to a lesser extent, on tertiary sources. All interpretive claims, analyses, or synthetic claims about primary sources must be referenced to a secondary source, rather than original analysis of the primary-source material by Wikipedia editors." Hejlsberg is obviously a primary source (I'm not saying that his quote is not interesting) (Wikipedia:PRIMARY) Hervegirod (talk) 22:58, 29 April 2009 (UTC)
- a quote from an o'reilly media interview is not a primary source. Hejlsberg isn't signing onto wikipedia to clarify this as an editor, he's being quoted in a secondary source. this is exactly what an administrator asked for above: What would be ideal is something closer to the designers, maybe someone who actually worked on the project, stating some of the design goals of the language.
- I'm saying that I think it's clear that Hejlsberg denies the sort of speculation based on comparison that's being cited in the existing would-be references, and that the supported claims should be removed.
- also, the existing references don't really even support the statements in the article.
- for instance, artima.com says C# borrowed a lot from Java - and vice versa. Now that C# supports boxing and unboxing, we'll have a very similar feature in Java. Have we desperately been waiting for autoboxing in Java? Certainly not. Perhaps, we've been eagerly awaiting Java generics, which - surprise, surprise - look pretty much like generics in C#. which, if anything, suggests an evolutionary exchange in which C# is actually the dominant side. also, this is essentially just a comparison, on a blog. it's not stating anything about the development process.
- the extremetech.com article says Sure, there's some evidence for parallel evolution here. Both languages do share a common ancestry in C++. But are they siblings of a common parent, or is Java really the secret parent--or at least a silent partner--when it comes to C#? which seems to conflict with the idea that they're making a definitive statement. and this, too, is speculation based on comparative analysis of the two languages, not documentation of the design process of C#.
- the dr.dobbs article and the wall poster don't even take anything resembling a stance on derivation. they don't make claims like the ones that they supposedly support. -无名氏- 23:45, 29 April 2009 (UTC)
- Primary sources are sources very close to an event: being the lead of C# development team, Hejlsberg could not be closer. And about the extremetech.com article, the sentence you quote is ironic I think, as the author also says: enough to show that the C# team has borrowed some of the names of classes and APIs directly from Java, Yet, there is enough in common to at least suggest that C# was developed with an eye toward Java, When it comes to graphics, the designers at Microsoft have done their homework and clearly taken a look at the way it's done in Java, (it) shows that Microsoft's latest language makes use of many of the features of Java while adding some nifty new enhancements. Microsoft has all but made the Java to C# link explicit with an announcement of its Jump initiative. As for the Dr. Dobbs article: Microsoft decided to take its advances in the Java language, Java compiler, and JVM and morph them into an even more ambitious project — Microsoft .NET. according to Anders Hejlsberg in a recent interview, "C# is not a Java clone". Right, it's a MemberwiseClone. Hervegirod (talk) 00:21, 30 April 2009 (UTC)
- enough to show that the C# team has borrowed some of the names of classes and APIs directly from Java the C# language doesn't have built-in classes. you and that apparently unqualified speculator are thinking of the CLI and/or .NET.
- Yet, there is enough in common to at least suggest that C# was developed with an eye toward Java does that support the claims in the article?
- When it comes to graphics, the designers at Microsoft have done their homework and clearly taken a look at the way it's done in Java C# and the CLI have no graphical features. presumably that person is talking about .NET, which isn't the subject of this article.
- (it) shows that Microsoft's latest language makes use of many of the features of Java while adding some nifty new enhancements. Microsoft has all but made the Java to C# link explicit with an announcement of its Jump initiative JUMP has absolutely nothing to do with C#, it's about J#, a separate language that is specifically designed to emulate Java. that article is not only a non-print, online-only, unqualified source, it's straight wrong, referring to J# and .NET as "C#" and making claims under the wrong name that are not only inaccurate but totally unrelated to the C# language. this is why these garbage sources are problematic: there is no reviewing or fact checking, the authors are often unqualified enthusiasts, and they're often very wrong. why don't I go publish an article with my own opinions in an online magazine so we can just go by that and put this to bed?
- Microsoft decided to take its advances in the Java language, Java compiler, and JVM and morph them into an even more ambitious project — Microsoft .NET again, C# is not .NET.
- according to Anders Hejlsberg in a recent interview, "C# is not a Java clone". Right, it's a MemberwiseClone. the paragraph is about the Object class and its members like MemberwiseClone, which are a part of the CLI, not the C# language.
- so basically, your argument is that a direct quote on this subject from the lead developer of C# is not a reliable source, but non-print, non-reviewed online blogs, journals, and posters that present no facts about the development of C# and that simply speculate based on language features are good references that warrant a statement of fact that C# is derived from java? -无名氏- 01:02, 30 April 2009 (UTC)
- Wikipedia policy is not to rely only on primary sources, the question is not that it is reliable or not. It's basically how this project is working. And here you are interpreting what is in the article. Second non-print sources or journals are not no-reliable by themselves. If you think it's the case (again it's not Wikipedia policy) then 80% or wikipedia sources must be deleted. It's not a Wikipedia policy to remove a source if it is only available online. Third here we are not saying that C# is only deriving from Java, but that C# has borrowed a lot from Java, among other languages (that are also listed). Hervegirod (talk) 09:45, 30 April 2009 (UTC)
- at least one of us is confused about what a primary source means in wikipedia. my understanding of the concept is that wikipedia's editors shouldn't directly interact with or observe experts or events in order to post original quotes here or to contribute original claims to articles, because wikipedia isn't intended to be a reliable journalistic source that can be trusted if it has no secondary source to point to. however, there are valid secondary sources that are considered trusted in interacting with primary sources, and we can cite them, and their factual observations and quotations of people. for instance, if the new york times publishes a report that says "the protesters easily numbered in the tens of thousands," then that is something we can cite, but wikipedia can't take the place of the new york times and produce its own article from primary sources, citing its editors as reliable sources. wikipedia can't be a secondary source that directly quotes primary sources, but it can be a tertiary source that cites secondary sources that quote primary sources.
- so an o'reilly media interview with Hejlsberg is a great source, but a wikipedian conducting an interview with Hejlsberg and quoting him wouldn't be a good source because we'd have to cite that wikipedian. or for example, Hejlsberg editing wikipedia himself wouldn't give us the reference that we need, it would make us the reliable source by our own estimation, which we aren't supposed to be. in other words, you can't list an individual who supposedly contributed something to wikipedia as your reference, and that's the primary source issue. that is, "Something about physics" (we claim that Stephen Hawking said this to us) is not ok, but "Something about physics" (citing a credible journal quoting Stephen Hawking) is fine.
- note: primary vs secondary has nothing to do with whether Hejlsberg is a reliable source on the subject, it's about how we get the information. the fact that he is qualified shouldn't be in question, he is.
- anyway, not only are 3/4 of your references of very poor reliability, and not only are most of your quotes from them factually wrong or at best incorrectly referring to the .NET class library as C#, they also do not directly support your claims. they only provide what could be interpreted as evidence which isn't useful here.
- again, I could just as easily publish my thoughts in an online magazine to make a new reference that is as credible as the two online articles you're citing, so that goes to tell you something about how poor those references are.
- also, that would seem to be less than a coincidence that the only reference with any real credibility (artima.com) is not referring to the .NET class library as "C#", and would, if anything, more strongly suggest that java is derived from C#. in fact, if the claim stays in the article and the artima.com reference remains then the article about java should have a similar claim added about C#, because the artima.com reference says "and vica-versa" and only talks about C# features that ended up in java on the subject of derivation. -无名氏- 15:22, 30 April 2009 (UTC)
- Another Wikipedia rule is "Wikipedia articles should rely mainly on published reliable secondary sources and, to a lesser extent, on tertiary sources. All interpretive claims, analyses, or synthetic claims about primary sources must be referenced to a secondary source, rather than original analysis of the primary-source material by Wikipedia editors." Hejlsberg is obviously a primary source (I'm not saying that his quote is not interesting) (Wikipedia:PRIMARY) Hervegirod (talk) 22:58, 29 April 2009 (UTC)
Secn break(C# inspirations)
Without getting drawn into the debate (which I admit I don't have the full facts of), I want to provide some general comments. The policies are not meant to be followed to the word, but to the spirit. The wording provides the use cases of the most common scenarios, but if there are cases where for which there is no mention in the policy/guideline, make sure what you do follows the spirit of the policy.
Using your analogy, if I go and report on a, say, conference, it won't be allowed. Because its my words. But if I interview Anders, I can very well use that because that's his words, not mine. And his words are an authoritative source for anything C#, no doubt about it. [There is another thing to be careful here, and thats verifiability. If I publish the intreview transcript, then there is no easy way to verify its authenticity. But if I publish a video recording, then it most likely is authentic; doctoring an entire interview would be extremely impractical]. Same goes for using private communication with authoritative sources as references. We would prefer if there were secondary sources had done it instead of us, but in its absense, we can do it provided it is independently verifiable. [I know their are various nitty-gritties that can be debated, but all I provided was a mile-high view, there are more issues to it that rear their head on a case-by-case basis].
And if something someone (authoritative or reliable, irrespective) says is opinion and not fact, then it cannot be presented as fact but presented as opinion of that person. We also do not take the responsibility of deciding whether its correct or not. If that opinion has got weight, it is suitable for inclusion. If there are other opinions on the same topic, they too should be included. The task of deciding which to believe should be left to the user. We are not supposed to take sides. And definitely not use quotes from anywhere for anything but quoting them (absolutely not as evidence for some conclusion).
For example, if James Gosling says C# was inspired by Java, it can belong here. If Bjarne Stroustrup says its derived from C++, it too belongs here. We do not provide any analysis of our own to prove someone wrong or someone right. But if Dave Cutler provides an analysis opining Gosling is wrong, it can be put here.
So our task boils down to finding as many sides regarding the issue as we can, deciding whether or not that opinion is loud enough and whether the person opining is well-known enough. And if all that is independently verifiable or not. If so, it can get into the article. Regardless of whether their analysis can stand the scrutiny of us editors. [If someone equally well known provides refutes, that too can be put in, but not at the expense of the former].
Also, these issues are resolved on a article-by-article basis; consensus across editors of the article is enough. And not look at what is happening in other articles (because anyone may do anything to those articles). To make it somewhat binding across article, a consensus across editors of a large number of articles is required. Which is possible only via a centralized policy discussion. --soumtalk 16:04, 30 April 2009 (UTC)
- the case for the existing claims seems to be one of gathering evidence for a conclusion, rather than quoting direct support. other than perhaps quality concerns, I would have no objection to simply listing a number of quotes, but there are no quotes in the references that directly support the existing claims, so that approach would seem to imply removal of the conclusion that C# is derived from java, leaving only random citations about language similarities with no specific statement about derivation, plus the quote of Hejlsberg's denial of the conclusion. -无名氏- 17:08, 30 April 2009 (UTC)
- I have no problem on quoting Hejlsberg, I have a problem relying only on what Hejlsberg says about where C# comes from. BTW, Hejlsberg was an architect on Visual J++ and Windows Foundation Classes, and he was the lead architect on Delphi. However, I'm not a source ;) But I would have no problem, for example, with a sentence saying that C# was considered by many reviewers to be heavily influenced by Java, but that this influence is denied by Hejlsberg. As you see, you don't need to put only random citations to comply with Wikipedia policy. Hervegirod (talk) 21:07, 30 April 2009 (UTC)
- I don't think there should be any generalizing, paraphrasing, claiming that the overall spin of an article supports a claim in your own words, or other drawing of conclusions in this case.
- this is a matter of controversy, with the lead designer of C# having expressed disagreement with the claims, so you're not going to prove anything resembling consensus for any conclusions. what you can prove are explicit statements by reliable sources, and if they do explicitly support your claims then you should be able to simply quote one or more of them to make your point. though, if they don't provide explicit support, then you're using them as indirect evidence to support a conclusion that an expert has explicitly addressed and rejected in an interview with a reliable secondary source, and the obvious default would be to exclude your conclusion. -无名氏- 21:52, 30 April 2009 (UTC)
- Who other than Hejlsberg and others on the Cool project can provide as-good-as-authoritative information on the origins of C#? Anybody who wasn't inolved in meetings can only offer their opinions, which could either be spot on, or wildly inaccurate. It's probably fine to quote sufficiently interesting expert sources on the topic, but the wording would have to make it clear that what they are saying is entirely a matter of their opinion, not a matter of fact. If you look at, say, Criticsm of Windows Vista, the sources of most of the opinions and views expressed in that article are called out right in the article text. That's the approach we should take here. Warren -talk- 00:06, 1 May 2009 (UTC)
- I have no problem on quoting Hejlsberg, I have a problem relying only on what Hejlsberg says about where C# comes from. BTW, Hejlsberg was an architect on Visual J++ and Windows Foundation Classes, and he was the lead architect on Delphi. However, I'm not a source ;) But I would have no problem, for example, with a sentence saying that C# was considered by many reviewers to be heavily influenced by Java, but that this influence is denied by Hejlsberg. As you see, you don't need to put only random citations to comply with Wikipedia policy. Hervegirod (talk) 21:07, 30 April 2009 (UTC)
consensus would seem to be that if speculation about C# being derived from java is to be included then the article should quote one or more specific sources, rather than stating an editor's original words as a fact or as paraphrasing of what "some argue." therefore, I would like to remove the existing statements, which someone could then replace with one or more direct quotes. though, this type of speculation has been addressed and denied by the lead language designer, and not only do the references take a softer and less explicit stand than the current conclusions in the article, but they're also third parties who had nothing to do with the development of C#, so it probably doesn't belong in the introduction at all. -无名氏- 14:59, 2 May 2009 (UTC)
- If you took some time to search by yourself, you would have been able to found numerous references about Java / C# inheritance (and I think its the same with Delphi). NO language is defined in a vacuum, and no GC VM could step completely away from Java when C# was designed, if only because Java was the first really popular GC language at the moment. Someone mentioned that if Gosling said the C# copied Java, we should put it here. Gosling said it: [4]. I don't say / think that Gosling is more reliable than Hejlsberg, but he is not less reliable, and they are both primary sources. Hervegirod (talk) 17:34, 2 May 2009 (UTC)
- that seems reasonable, so what I propose is deleting the existing claims from the intro and history section and placing that Gosling quote, verbatim, and any others you can find, plus Hejlsberg's rebuke into the history section, or some other section, maybe a special section devoted to this controversy. -无名氏- 18:30, 2 May 2009 (UTC)
I've deleted the conclusions about derivation that were presented as statements of fact in an editor's own words. my personal opinion is that this article should mainly be about what C# is, focusing on the definition and contemporary support and use of the language, not so much about history, especially unproven and controversial speculation by third parties about possible sources of inspiration, but in my opinion, adding some direct quotes of speculation by experts to the history section would be reasonable. -无名氏- 00:26, 3 May 2009 (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)
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): [5] [6] [7]. 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 [8]. Or here: [9]:
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)
Functional?
I don't see how C# can be called a functional language. Delegates are not first class objects and C# isn't used as a functional language in practice (and more than C++ or Java). Outside of some relevant expert testimony, I think "functional" should be removed from the description here and the the Comparision of Programming Languages article. I've looked through the archives and didn't see discussion about this earlier, so I'm going to add citation needed marks to the "functional" claims. The results of the discussion can remove one or both. Da Twink Daddy (talk) 23:30, 12 August 2009 (UTC)
Originally, it was almost exclusively imperative. However, that has changed greatly. "Functional" is indeed a proper descriptor, though it's not a totally functional language. C# even supports flavors of AOP (Aspect Oriented Programming) and plenty of other disciplines. Language Integrated Query is a good example of it in action. I don't see any reason to remove "functional" because it IS correct in the context of usage. 67.142.163.27 (talk) 02:29, 16 January 2010 (UTC)
Language name
There's a good section on the language name at the VERY END of the article. Surely some bit of it needs to go into the LEAD, which is supposed to summarize the article? Perhaps I did have too much of that in, but it's a fairly important bit of general knowledge about C# that the name is (almost always) not written with a sharp. And perhaps the etymology/naming section needs to go a little earlier in the article, as is proper for just about any subject?SBHarris 04:54, 27 August 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)
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.
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.
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)
Stuff removed from Boolean data type article
The following section was removed from the article Boolean data type:
begin removed text
In C#, Boolean variables are identified through the reserved word bool
, which is an alias for the predefined struct type System.Boolean
. It occupies four bytes. No standard conversions exist between bool
and other types.
Code to output a Boolean could be represented like this:
bool myBool = (i == 5);
System.Console.WriteLine(myBool ? "I = 5" : "I != 5");
end removed text
Is there a place for this text in the C#-related articles? Perhaps in the Wikibook? Thanks, and all the best, --Jorge Stolfi (talk) 00:27, 31 December 2009 (UTC)
"It occupies four bytes."
- I'm quite sure that is incorrect. A System.Boolean occupies just 1 byte (0 or 1 are only possible *real* values, though we use keywords "true" and "false" instead). I think this misunderstanding come from this:
- System.Runtime.InteropServices.Marshal.SizeOf(type of(Boolean))
- It will return 4, because that is the size when marshaled with InteropServices to a native Win32 boolean. Furthermore, I believe when you perform a cast such as "object obj = (object)someBool;", you will get 4 bytes because it is boxed. But in its normal form, it is just 1 byte. Validate this yourself:
- Console.WriteLine(sizeof(bool));
- Output: 1
- Maybe I wrote this for no reason though, since I don't see the claim in the article any longer. Oh well, maybe that will stop it from happening again! :) Regards,
influenced by Java claim (rehashed)
i recently noticed that i forgot to purge Java from the list of "influenced by" languages when i purged more explicit versions of the claim after an administrator weighed in with the opinion that we should simply give explicit quotes by experts, rather than stating either claim as assumed fact in our own words and adding footnotes for the opposition
however, when i recently tried to remove Java from the list, two users repeatedly restored it, repeating the old and broken arguments that:
1) there are references for experts supporting the claim that C# was influenced by Java, and for some reason it doesn't matter that there are also references for experts (including the language's creator) stating the opposite, so we should take a side
2) the fact that experts, including the creator of C#, disagree with the claim does have some weight, but that we should present the claim as assumed fact anyway and just add a note suggesting someone credible may disagree
these points were discussed, an admin weighed in, disagreed, said we shouldn't frame this issue with any kind of bias for either side, and we should simply quote experts verbatim
i strongly agree, it's valid to cite experts like Gosling who claim C# is derived from Java, and that's already the case in this article, his opinion is noted and currently without rebuttal
adding Java to the list with a note about dispute is as biased as adding "not Java" to the list with a note, it's original content in our own words with an inherent bias, which is wrong because it's not our place to analyze this and decide which side of the argument bears more weight
the fact is that the experts disagree and we therefore must remain neutral and either document both with equal standing, or omit the subject
my personal opinion is that Java has no original features, it's a collection of existing concepts, and at best you could say that the decisions about what to include in C# were similar to those made for Java, but that doesn't imply influence in the sense of language paradigms
for instance, any language using "message syntax" would be considered to be influenced by smalltalk, not objective C, even if it were obvious that the existence of objective C led to the inclusion of that feature, and even if the language in question included a suspiciously large number of features that objective C also included
but it's not for us to analyze, we must defer to experts, and they disagree with one another
no form of either side of this argument should be weaseled into a position that gives the appearance of support for that side. just quote your expert(s) in the appropriate section, leave it at that, let the reader form their own conclusion about whether Java influenced C#. that's what we were told by an administrator. 24.68.230.247 (talk) 23:50, 13 January 2010 (UTC)
- I was surprised that Java was not in the "Influenced by" list but, before adding it myself, I thought it would be good to check for discussions. And well, I am happy I did it. I still think Java and C# have influenced each other thorugh the years, but agree with the reasons for not including it in the list.Gorpik (talk) 14:46, 14 January 2010 (UTC)
It is absurd to suggest that C# was not in any way influenced by Java. If Java had never existed, it is unlikely that C# would ever have been created. That is not to suggest that C# is a clone of Java, or that C# does not have other influences beyond Java. However, there is definitely a strong influence! Do you really think Anders Hejlsberg and other C# designers had never heard of Java or never seen any Java source code when they sat down around 1999/2000 and created C# 1.0 - a language which then had a near-identical syntax (at least superficially) and feature set to Java - which had been on the scene for a good 4-5 years by then? Of course not!
While this controversy may be an interesting topic to mention in the article, it is, in my opinion not appropriate to remove it from the influenced-by list on the basis of one or two dubious claims. Any independent observer comparing the two languages would notice strong similarities. (unsigned comment by Renaissance77, this note added by 24.68.248.169 (talk) 23:11, 9 February 2010 (UTC))
Do you really think Anders Hejlsberg and other C# designers had never heard of Java or never seen any Java source code - of course they had, but do we have to list the probably dozens of languages that Hejlsberg has had exposure to? is that the criterion for influence?
a language which then had a near-identical syntax - you can copy/paste entire C functions or C++ classes and methods into either C# or java, and C++'s oo syntax is actually far from original too, so if you look a little deeper, you'll find that to a large extent, the strong similarity isn't a result of C# being a copy of java, so much as it is a result of both languages sticking closely to existing patterns
it is, in my opinion not appropriate to remove it from the influenced-by list on the basis of one or two dubious claims - there's nothing dubious about a language's designer having explicitly refuted a claim, if anything that is iron clad opposition, establishing that this is a matter of controversy and there is no clear basis to taking a stance. do keep in mind that wikipedia isn't a think tank intended to perform analysis among its users and draw conclusions, it's a referenced encyclopedia that documents facts, and the only circumstances under which wikipedia should assert that "Java influenced C#" is one where there is a clear indication to that effect and no reasonable cause for doubt, such as the language's author having addressed and denied the claim
Any independent observer comparing the two languages would notice strong similarities - i agree, they do have strong similarities, but any two languages based on C and C++ would bear strong similarities, even if they didn't influence one another
also, if you look at cases where java and C++ differ, such as on primitive types, operator overloading, etc.. you'll find that C# consistently looks like C++, not java, which is very telling, and suggests that the cases where java and C++ are the same are also cases where java and C# will be the same, but not due to any influence from java to C#
though, i think it may be true that certain decisions made in the design of java did lead to similar decisions being made in C#, in spite of what the language's designer says, but given that java is really quite unoriginal to begin with, it's at most a matter of what or what not to include/allow, rather than borrowing any kind of original paradigm or pattern, which java doesn't have to offer
i understand this seems to be an emotional issue for you, but please consider that this was discussed ad nauseam previously, administrators weighed in against the stance you feel the article should take, and taking an edit war approach is not constructive 24.68.248.169 (talk) 23:37, 9 February 2010 (UTC)
- Oh, and they just happened to co-invent a copy of javadoc too? 24.68.248.169, your first edit here was 18 January 2010. What identity were you using when that (now archived) discussion brought on such nausea? You certainly got good at the local jargon re administrators, edit wars, consensus etc in the last couple of weeks. Maybe we can get an admin to run some checks as to previous IDs and/or blocks, or would you like to tell us? In the meantime I propose that we go with the current consensus, which seems to be against you at the moment. --Nigelj (talk) 23:55, 9 February 2010 (UTC)
- i'm not posing as multiple users or otherwise violating policy, which your statement consensus, which seems to be against you at the moment would seem to affirm, and if this subject is upsetting enough for you that you feel a need to imply threats and personal attacks against me, you should excuse yourself, because that's not a productive way to promote your point of view. also, consensus isn't a question of majority, it's a question of point vs counterpoint and claim vs refute. for instance, 100 users feeling that miley cyrus should be described as the most beautiful and talented person on earth vs 4 users defending policy doesn't mean that consensus has been established by the overwhelming numeric ratio of 25:1. please see the previous discussion on this (above) as the policy on this was made quite clear, and attempts to circumvent it by a number of users don't change anything 24.68.248.169 (talk) 00:43, 10 February 2010 (UTC)
- I agree with Nigelj. Besides, you does not seem to be very neutral here. Some examples: "it's at most a matter of what or what not to include/allow, rather than borrowing any kind of original paradigm or pattern, which java doesn't have to offer", "given that java is really quite unoriginal to begin with", "C++'s oo syntax is actually far from original too" Hervegirod (talk) 00:03, 10 February 2010 (UTC)
- in stating that java has no original paradigms or patterns, i'm not making an insult like calling it a stupid language, i'm stating a fact to my knowledge, that every single feature in java existed previously in another language so it is factually impossible to use a "java feature" in a new language. also, saying that C#, java, and C++ are all unoriginal is specifically not biased for any of the three languages. it would appear biased if i had said that java is unoriginal but C# and C++ are both loaded with brilliant new features.
- though, none of this really matters. as i said, and two administrators said on exactly this subject previously, our personal opinions are irrelevant, and the appropriate process here isn't to conduct our own study and to draw our own conclusion, or to take a user poll and to go with a majority, or to poll articles and to go with a majority, or to otherwise draw a conclusion, it's to document the experts, who disagree with one another, and who therefore leave us with no one true position to claim as assumed fact
- i mean, i'm not trying to censor anything or to impose a particular view on the article, i'm in opposition to the idea that the article should explicitly state an assumed fact that disagrees with what the language's creator has said, i disagree that 3 random people commenting online through a wikipedia article know better and are entitled to refute him, making wikipedia essentially claim that he's lying or uninformed about his language 24.68.248.169 (talk) 00:43, 10 February 2010 (UTC)
of course they had, but do we have to list the probably dozens of languages that Hejlsberg has had exposure to? is that the criterion for influence? Yes, it is. If any of C#'s features show significant resemblance to other languages which Hejlsberg had been exposed to then of course it would be criteria for influence. Some of these, which have less in common with C# than Java does, are already listed.
i'm in opposition to the idea that the article should explicitly state an assumed fact that disagrees with what the language's creator has said Where exactly can I find a direct and reliable quote from Hejlsberg stating that Java did not in any way influence C#? He has stated that C# is not a clone of Java, a point on which I would agree, but even Hejlsberg seems to agree that Java was one of the inspirations. For example: Deep Inside C#: An Interview with Microsoft Chief Architect Anders Hejlsberg - he states "In the design of C#, we looked at a lot of languages. We looked at C++, we looked at Java, ..." This statement from Hejlsberg directly contradicts your claim.
I would also argue that, since C# was conceived as a direct competitive response to Java, and designed to fulfill the same role, that this alone is criteria for influence, regardless of any technical comparisons. --Renaissance77 (talk) 02:27, 10 February 2010 (UTC)
the other languages have specific and identifiably unique features that are present in C#, such as object pascal properties, that's why they're there, not simply because they're popular languages and odds are that the designers of C# probably knew about them or considered them without necessarily borrowing anything. the rule you're suggesting would mean spamming every programming language article with a list of every popular language with related roots, and it would be equally applicable if java had been developed after C#, because you're not distinguishing between influence and similarity
you're essentially either proposing that java should be given preferential treatment and should be included based on a watered down standard of influence where java doesn't actually have to have contributed any specific feature you can name like operator overloading, properties, lambdas, yield, etc.., (each of which are part of the tangible reasons why the other languages are on the list) or you're proposing that we add many, many languages to the list that look similar or are competitors etc.. but that didn't actually contribute anything specific or original that you can name
the article you mentioned was a key point in the previous discussion and the "we looked at" quote was examined, and in that article, in response to the suggestion that C# is a clone of java, Hejlsberg went on to say "One of the key differences between C# and these other languages, particularly Java, is that we tried to stay much closer to C++ in our design. C# borrows most of its operators, keywords, and statements directly from C++. We have also kept a number of language features that Java dropped. Why are there no enums in Java, for example?"
so yes, they looked at java, but they certainly didn't base C# on java, his assertion is that java was considered but C# is different from java and based on C++, as i said above
as i said, in every case where java and C++ diverge, C# looks like C++, not java, and obviously given that java is very much a C++ inspired language, C# and java do have similarities in the many cases where java is similar to C++, which is consistent with what Hejlsberg said, it's C++ based not java based
also, as he said, many languages were looked at, and again, we can't include every popular language that happens to look similar, there needs to be some clear and specific evidence that C# actually borrows something from that language, such as Hejlsberg saying so instead of saying C# ignores that language and follows C++, or such as a specific feature you can name like properties
and my understanding is that no one who was involved in developing C# says the language exists to replace java, though that motive certainly seems extremely plausible given the set of events that lead up to C#
to summarize:
yes, C#, java, and a variety of other C and C++ inspired languages look very similar, but that alone is not evidence
yes, the designers of C# were aware of java and many other languages and considered them in designing C#, but that too does not imply that anything from a given language actually ended up in C#
yes, C# probably was designed to penetrate java's market, to provide similar solutions, but no one who would know for certain is coming out and admitting that, and there are no specific features you can name as evidence
i mean, the case would be a lot more compelling if you could name a feature that is unique to java, which is impossible because none exist, and you could point to it also being in C#, and also, if Hejlsberg hadn't responded to this theory by saying that many languages were considered but that C# specifically differs from java in favor of C++ designs
and again, i'm only asserting that there is reason to consider this a matter of controversy and not to take a stance, that we should follow the direction of administrators on this subject and simply quote individuals without presenting a conclusion, i'm not proposing that this article is a good vehicle to try to substantiate my personal views about java's lack of impact on programming practices 24.68.248.169 (talk) 03:36, 10 February 2010 (UTC)
- "looking at" at Java does not necessarily mean that Java "influenced" C#. Such a conclusion is not supported in the reference. It is Renaissance77's opinion, which while valid, is not appropriate for Wikipedia. 180.11.82.194 (talk) 11:27, 10 February 2010 (UTC)
I'm always amazed how touchy the Microsoft people are about this here on WP. And how much time they have to argue just this one point against all the odds and references (except their own of course). --Nigelj (talk) 12:02, 10 February 2010 (UTC)
- so yes, they looked at java, but they certainly didn't base C# on java, his assertion is that java was considered but C# is different from java and based on C++
- Once again you are making the mistake of confusing "based on" with "influenced". The question is not whether C# was based on Java, but whether C# was in any way influenced by Java. Sure, C# takes a lot from C++. Maybe you can even argue its more closely related to C++ than Java. But that does not mean it was not influenced by Java. --Renaissance77 (talk) 15:38, 10 February 2010 (UTC)
- semantics aside, the short of this is that Hejlsberg was asked about this, he said many languages were considered, and C++ patterns were followed but C# specifically diverges from java
- we don't list the many languages that were considered, which would be an uninformatively long and irrelevant list including everything from COBOL to Ada to Smalltalk, we list the ones with specific features that made it into C#, and you have nothing of that sort to name, you're campaigning for java on some kind of "look and feel" or popularity grounds, not actual programming practice
- in general, there are no features that java has contributed to programming, it's a conservative language that was intended to combine and reject existing paradigms to form a very safe and reliable language. it wasn't a research language with groundbreaking new features, so it really shouldn't be given credit under any circumstances for having contributed anything original to any language. i mean, i realize it's very popular and that one would expect that such a popular language must have had some real impact, but when it comes to actual paradigms and patterns in programming, java is a very safe, conventional language that didn't rock the boat whatsoever. more than anything else, java is mainly unique in its extreme purism, what it excludes
- also, your entire point is an unoriginal repeat of the previous discussion, everything you're saying has been addressed, by two administrators, and the result, what we were told, was that experts saying they believe C# looks similar to java can be quoted, but that we can't frame this subject with our own commentary, calling it a fact in wikipedia's words that java influenced C#, or that it didn't. this was a response to exactly what you're saying, and to the specific article you cited as a reference for your personal opinion, which was a central point in the discussion
- when others made your point before, an administrator said:
- We are not supposed to take sides. And definitely not use quotes from anywhere for anything but quoting them (absolutely not as evidence for some conclusion).
- the experts are already quoted, the reader already has the information we're discussing here, and campaigning to push a given conclusion on the user is just a complete waste of time for either side in any real (external) controversy, particularly if your conclusion is about what you feel certainly happened in someone's mind 24.68.248.169 (talk) 20:59, 10 February 2010 (UTC)
- Stop dragging the admins into this. They have no special editorial or policy interpretation powers; their opinions are advisory at best. Unless you have something from the language creators that categorically says "C# takes nothing from Java", then using the opinions of significant people to help fill out influenced_by is perfectly reasonable. --Cybercobra (talk) 21:53, 10 February 2010 (UTC)
- Even if you have something from the language creators, or Microsoft itself, then that would be a self-published, primary source and so can only be used as such - a statement of their opinion or position. WP:SELFPUB --Nigelj (talk) 22:13, 10 February 2010 (UTC)
- Stop dragging the admins into this. They have no special editorial or policy interpretation powers; their opinions are advisory at best. Unless you have something from the language creators that categorically says "C# takes nothing from Java", then using the opinions of significant people to help fill out influenced_by is perfectly reasonable. --Cybercobra (talk) 21:53, 10 February 2010 (UTC)
- the experts are already quoted, the reader already has the information we're discussing here, and campaigning to push a given conclusion on the user is just a complete waste of time for either side in any real (external) controversy, particularly if your conclusion is about what you feel certainly happened in someone's mind 24.68.248.169 (talk) 20:59, 10 February 2010 (UTC)
- so basically, you're asserting:
- - it doesn't matter what the designer of C# says
- - it doesn't matter that C# doesn't actually have any features from java
- - it doesn't matter what an administrator said the last time this happened
- all that matters is that the designer of java claims he was plagiarized, and we should blindly present his claim as assumed truth, given the above
- the creator of C# essentially did say that C# takes nothing from java, that C# differs from java and follows C++, in response to exactly the accusation you're citing as a reference
- though, in asserting that, i'm doing what you're doing, which is against policy, what an administrator specifically said not to do, i'm interpreting someone's quote to draw a conclusion, rather than simply adding it to the article verbatim where appropriate
- also, a different administrator had also weighed in on the previous incarnation of this, and said The revert war is not good though. Discussion should be kept here. I'm quite happy to use my admin bit if it continues.
- so as important as it seems to be to some people that wikipedia clearly state that Gosling's version of events is the absolute truth, and as much as java fans are numerically superior here, please stop reverting my edit until this discussion is resolved, the world isn't going to end because the C# article doesn't say C# was influenced by Java for a couple days, and that position is erring on the side of neutrality on a matter of ongoing dispute, given that my edit didn't involve stating the opposite in any way
- so given that A) we were directed not to draw conclusions from quotes in the first place, and B) proving which quotes are meaningful and say exactly what is probably impossible, in order to move forward hopefully toward some kind of consensus based on facts, can someone provide a specific syntactic feature that was original in java and that made its way into C#?
- all of the other languages on the list satisfy that criterion, so that would be a good starting point for factually justifying java's presence on the list 24.68.248.169 (talk) 23:13, 10 February 2010 (UTC)
- Addressing the bullet points: (1) that was claimed by User:Nigelj; I personally don't entirely agree (2) It's debatable whether to attribute features in languages Java is based on directly to Java (considering it came up with the particular combination and way of combining them) or to the base languages themselves (3) See my previous admin comment. Addressing your paragraph will require some extra time. --Cybercobra (talk) 00:17, 11 February 2010 (UTC)
- the CLI was certainly strongly influenced by the JVM, providing almost exactly the same set of capabilities and concepts in a very similar way, and the decision to adapt C++ syntax to that style of virtual machine was common to both platforms, so in that sense, the java platform did influence C#, but it's as if they drew the line there and didn't consider the details of the actual java programming language at all (though Hejlsberg says it was considered, among many languages), because basically none of the particulars of what to include or exclude, or the styles in the java programming language syntax are represented in C#
- that is, if Hejlsberg were claiming to have adapted C++ syntax to a JVM-like system on his own, without having looked at the java programming language, there would be no clear proof that he was lying. on the other hand, if the claim was that the CLI wasn't influenced by the JVM, that would be ridiculous. i mean, the note should be about the JVM if anything, not the java programming language, but neither is really consistent with the normal concept of influence in programming language articles, which is usually fairly strictly about specific syntactic features. that was certainly the criterion for naming C# as having influenced java, the fact that there are specific unique C# features that made their way into java, features we can all examine and verify 24.68.248.169 (talk) 02:03, 11 February 2010 (UTC)
- Addressing the bullet points: (1) that was claimed by User:Nigelj; I personally don't entirely agree (2) It's debatable whether to attribute features in languages Java is based on directly to Java (considering it came up with the particular combination and way of combining them) or to the base languages themselves (3) See my previous admin comment. Addressing your paragraph will require some extra time. --Cybercobra (talk) 00:17, 11 February 2010 (UTC)
- all of the other languages on the list satisfy that criterion, so that would be a good starting point for factually justifying java's presence on the list 24.68.248.169 (talk) 23:13, 10 February 2010 (UTC)
I propose a compromise. I suggest we reinstate Java to the influenced_by list, but "demote" its position in the list back behind Object Pascal, C++, and Modula-3. This would acknowledge the majority viewpoint that Java influenced C#, but would not suggest that Java is the primary influencer or a more important influence than other languages. Incidentally, this is also the way the influenced_by list on this page appeared for many years before this current edit-war started. What do you say, 24.68.248.169? --Renaissance77 (talk) 01:28, 11 February 2010 (UTC)
- Building on this further, I was fine with the Java entry having "(disputed)" next to it. --Cybercobra (talk) 01:45, 11 February 2010 (UTC)
- i say this isn't a vote, the number of users for or against isn't important, and the duration of time an incorrect statement was present isn't relevant. if the statement is known to be true then it should be correctly alphabetized, and if it's in doubt, particularly if it is denied by the designer of C#, then there shouldn't be any formatting or framing in place to give any sort of weight to either side of the subject. what you're fighting for here isn't to have the facts presented to the user, it's for wikipedia to take a side and provide some appearance of support for your views by presenting them in a particular light, rather than in a neutral way where neither side is presented as being the default accepted truth, or as being endorsed by wikipedia. 24.68.248.169 (talk) 02:03, 11 February 2010 (UTC)
- there shouldn't be any formatting or framing in place to give any sort of weight to either side of the subject [...] it's for wikipedia to take a side and provide some appearance of support for your views by presenting them in a particular light, rather than in a neutral way I'd say the complete exclusion from the list that you're lobbying for is the ultimate way to frame things so as to give extra weight to your side of the subject. To my mind, including "Java (disputed)" is the neutral framing as it explicitly acknowledges the dispute. --Cybercobra (talk) 02:29, 11 February 2010 (UTC)
- not necessarily, there are three possibilities: affirmation, denial, neutrality. in a broader sense, omission from wikipedia only means that something failed to meet a variety of verifiability and notability standards, it's not that something must be affirmed as true or the implication is that wikipedia says it's false. for instance, adding "not java" or a statement somewhere else to that effect would mean taking the available references and presenting a conclusion that my view is definitely correct, a different proposal from simply remaining silent on the subject because it's hard to prove whether "look and feel" is equivalent to language paradigms or what was in Hejlsberg's mind, and the usual standard of hard evidence doesn't exist for this claim. 24.68.248.169 (talk) 03:43, 11 February 2010 (UTC)
- there shouldn't be any formatting or framing in place to give any sort of weight to either side of the subject [...] it's for wikipedia to take a side and provide some appearance of support for your views by presenting them in a particular light, rather than in a neutral way I'd say the complete exclusion from the list that you're lobbying for is the ultimate way to frame things so as to give extra weight to your side of the subject. To my mind, including "Java (disputed)" is the neutral framing as it explicitly acknowledges the dispute. --Cybercobra (talk) 02:29, 11 February 2010 (UTC)
What are the sources asserting C# is not influenced by Java? — Matt Crypto 07:42, 11 February 2010 (UTC)
- not that proving a negative is required here as no one is arguing to assert in the article that java specifically did not influence C#, but see above, the language's designer (Anders Hejlsberg) is one source. 24.68.248.169 (talk) 09:41, 11 February 2010 (UTC)
- His comments are a WP:SELFPUB, WP:PRIMARY source. There is "reasonable doubt as to its authenticity" and, on WP, such a position "can be used only to make descriptive statements that can be verified by any educated person". Any developer can see the sad history of MS with regard to J++, and the huge similarities between Java and C#. This is noted in several secondary sources. End of. --Nigelj (talk) 12:28, 11 February 2010 (UTC)
- I just reverted another one of your edits. it is not normal to cite every word in a sentence when the end of the sentence carries references to reliable, secondary sources. Your editing pattern in the article is starting to look disruptive, as are your arguments here on talk where there is a clear consensus against your position, based as it is on self-serving sources. --Nigelj (talk) 12:44, 11 February 2010 (UTC)
- the same claim was made the first time around, an administrator weighed in clarifying that a primary source is someone directly contributing to wikipedia or interacting directly with a wikipedia editor, with no reliable medium such as a newspaper in between. it's a question of verifiability of the claim that someone even said what they supposedly did, not of the qualification of the supposed source. see above, the admin explained it well. they also said that Hejlsberg and others who were actually involved in the C# development process are probably ideal sources, rather than people who can only speculate based on the language.
- also, the same administrator told us to cite specific sources without generalizing, drawing conclusions, paraphrasing, etc.. which is why i added the "who" and "fact" tags, in reference to the policy as stated by an administrator that in this situation, we should be specific
- also, again, please try to refrain from making personal attacks and/or threats, and from edit warring. there is no dire reason why a fact tag needs to be instantly reverted when the person who added it is actively engaging in talk and is responsive
- constructive editing in a disagreement is to state your points and the supporting evidence in talk, not to declare yourself to be right due to what you perceive to be majority support for your position (which never matters anyway) or because you just feel very certain that you're right, and to immediately override the talk process by applying your perspective to the article, which is an act of edit warring.
- in general, discussion about other editors is not productive, especially rationales for forcing your position without resolving the discussion. 24.68.248.169 (talk) 13:40, 11 February 2010 (UTC)
- I just reverted another one of your edits. it is not normal to cite every word in a sentence when the end of the sentence carries references to reliable, secondary sources. Your editing pattern in the article is starting to look disruptive, as are your arguments here on talk where there is a clear consensus against your position, based as it is on self-serving sources. --Nigelj (talk) 12:44, 11 February 2010 (UTC)
- I presume you are referring to the "C# is not a clone of Java" quote? To me, that is a statement unrelated to a claim of influence of Java on C#. A language can quite readily be said to be "influenced" by another despite not being a "clone" of it. Given that we appear to have reliable sources, I would suggest there is no difficulty here in including Java in the list. — Matt Crypto 12:55, 11 February 2010 (UTC)
- this is a common error when sources disagree, you can have voices on both sides presenting references for the particular experts that agree with them, claiming those references prove their opinion is a fact and should be presented as such in an article, also typically taking them as a reason to try to force the issue rather than discussing it
- Hejlsberg went into explicit detail about how C# specifically doesn't follow java patterns
- though, it's really not for us to decide which experts probably thought or meant what, or whether the designer of C# has more weight on this than the designer of java, etc..
- our position, and this was reiterated by an administrator on this subject previously, is to document the incontrovertible facts, what statements are made in what documents etc..
- for the (other) influenced_by languages, there is no dispute because those languages were A) designed first, and B) contain original features that also exist in C#, so we have total verifiability there
- that standard is absolutely not met for java, so we can't assert "feature X was in java first and then appeared in C#" as a supporting fact that no one would be able to dispute in discussions, thus leading to consensus by that route
- also, while the case is not without merit that java may have influenced C#, or that one or more experts such as the designer of java say so, it's completely moot because there is also compelling evidence to the contrary, such as Hejlsberg's explicit denial of at least Gosling's claim of cloning which has been the main reference for inclusion of java in the list, and there's also his elaboration that C# specifically didn't follow java's patterns
- i mean, i'm not arguing that your side of this debate is just definitely wrong, i'm arguing that this is clearly a matter of some credible controversy, far more than enough that the article shouldn't present either side as assumed truth
- and again, that's what an administrator said on this previously, and 0 new references or points have been raised in this reactivated discussion 24.68.248.169 (talk) 13:40, 11 February 2010 (UTC)
- Remember administrators have no special authority in deciding content, they are just regular editors with access to certain technical features. "What an administrator said" is not of any special importance for this question. (I'm also an admin, for example).
- You say, "it's really not for us to decide which experts probably thought or meant what". Sure, but we absolutely do have the right to decide which sources say what. And from the sources, it seems clear to me that Hejlsberg was not making any statement contradicting the idea that Java influenced the design of C#, simply that it was not a "clone". Further, here's another quote from Hejlsberg, which I hope should settle the matter:
- "what lasting legacy has C# brought to Computer development? We all stand on the shoulders of giants here and every language builds on what went before it so we owe a lot to C, C++, Java, Delphi"
- Computerworld interview — Matt Crypto 14:12, 11 February 2010 (UTC)
- i guess it depends on how you define influence. the normal pattern in programming language articles is a matter of language features and paradigms, and applicable to that standard, the fact that 0 features in C# are attributable to java is provable as a hard fact, a fact which i believe Hejlsberg also made clear when he said that C# does not follow java's patterns, instead favoring C++, which he said in his response to the "clone" question
- though, as i agreed above, it's certainly undeniable that the java platform was a source of great influence in .NET and subsequently C# in many ways, but the question here is specific, it's about language syntax
- for instance, C++ operator overloading exists in C#, among many other features, so C++ belongs on the list
- object pascal properties are in C#, so it is on the list
- or for instance, C# contributed autoboxing, varargs and other features to java 5, and without those concrete contributions, i have no doubt that java would not be on the influenced list
- it would be nice if someone could name something unique to java that exists in C#, rather than interpreting quotes to justify an exception to the rule in java's case, for political reasons rather than any specific or tangible aspect of language syntax
- or if the idea is that direct syntactic influence isn't required then this opens the door to adding many, many "giants" to the influenced_by list, from COBOL to fortran to basic, which are each giants that exerted strong influence over programming in general, without contributing any specific feature to C# that you can name
- for example, the fact is that without COBOL, modern programming would look very different, and i'm sure that would be one of the giants that Hejlsberg was talking about, but do we need to list it? 24.68.248.169 (talk) 15:23, 11 February 2010 (UTC)
- "It would be nice if someone could name something unique to java that exists in C#". If I wished to persuade you, I would start by suggesting your definition of "influenced" is an unnecessarily restrictive one. You appear to require the copying of a language feature in C# that was completely original to Java; that is not the only meaning of "influence". For example, the general style and flavour of a language, or its choice of features, or what features it omits, could be an influence. But this is largely besides the point, because we resolve content disputes with sources, and we have a pretty clear quote from Hejlsberg where he states that C# "builds on" and "owes a lot to C, C++, Java and Delphi", notwithstanding the other reliable sources people have provided. I believe this is entirely sufficient to support the assertion in the article that Java influenced C#.
- "i'm sure that [COBOL] would be one of the giants that Hejlsberg was talking about, but do we need to list it?" No, because while you might be sure, Hejlsberg actually did not, in that source, mention COBOL. — Matt Crypto 16:23, 11 February 2010 (UTC)
- regardless of what languages that particular quote mentions by name (it is vague and not necessarily an exclusive list of applicable "giants"), there are countless other sources that would validate the claim that COBOL was a massively influential language, one of the undisputed key roots of modern programming, and the reason i mention COBOL is that in programming, that's really not a matter of dispute whatsoever, but the rule of thumb for these lists is almost always about specific language features, that's why they don't contain COBOL and others, not that their influence in programming doesn't go without saying
- that is, virtually every other language does have to "earn" its place with specific features, that is almost always the case and the rule being given for java in this case is one where you can't point the reader to where your claim exists in reality in spite of the fact that we're talking about programming languages, machines
- i mean, i can see how, in a general sense, the dictionary definition of "influenced" is met for many, many languages but why don't we have 27 different languages on each of these lists, covering the roots of text-based expressions or the concept of a variable or an object and so on?
- my point from the start has been that
- A) java didn't actually contribute any features to C# language syntax, which is a provable fact because programming language syntax is a very objective and provable subject
- B) in spite of what credit he may give java in a more general way, Hejlsberg does make this clear in his discussion of syntax specifics, where he specifically talked about the fact that C# did not follow java, and instead followed C++
- and C) these lists are almost always limited to languages that contributed specific features, not giants of industry that had a profound impact on the political landscape and so on
- none of those points have really been addressed, and i've never denied the opposition, that the java platform is very popular, was considered in developing C#, that Hejlsberg says so, and the designer of java certainly claims to have been plagiarized
- but again, i ask: did anything from java syntax actually make it into C#? isn't that the criterion that is applied pretty universally in the rest of these lists? why is java getting special treatment? 24.68.248.169 (talk) 22:05, 11 February 2010 (UTC)
- His comments are a WP:SELFPUB, WP:PRIMARY source. There is "reasonable doubt as to its authenticity" and, on WP, such a position "can be used only to make descriptive statements that can be verified by any educated person". Any developer can see the sad history of MS with regard to J++, and the huge similarities between Java and C#. This is noted in several secondary sources. End of. --Nigelj (talk) 12:28, 11 February 2010 (UTC)
- java didn't actually contribute any features to C# language syntax, which is a provable fact because programming language syntax is a very objective and provable subject: I don't know how it could be more objective / provable than anything else. And wikipedia is not a place where we have to prove anything. Hervegirod (talk) 22:26, 11 February 2010 (UTC)
- well if i'm wrong, please correct me, what C# features came from java?
- for instance, properties came from object pascal, operator overloading is from C++, is there anything like that to be named for java?
- we don't necessarily have to prove anything in every case, but in this case we can, my assertion (which you seem to be saying is wrong) is that it is a fact of the syntax of the two languages that 0 features in C# came from java 24.68.248.169 (talk) 23:28, 11 February 2010 (UTC)
- Here are just a few examples of C# language features that are similar to Java, and not C/C++:
- * No global variables or functions. All methods and members must be declared within classes. Just like Java, and unlike C/C++.
- * strict Boolean datatype, ie no implicit conversions between boolean types and integral types. Just like Java, unlike C/C++.
- * (Mostly) No direct access to pointers (unsafe blocks are the exception, but these are not typical C# code). Just like Java, unlike C/C++.
- * Language assumes automatic memory management (garbage collection), and memory can not be explicitly freed. Just like Java, unlike C/C++.
- * "try/finally" exception handling (in addition to try/catch). Just like Java, unlike C++.
- * Strong type safety, all type conversions must be guaranteed safe at compile time or checked at runtime. Just like Java, unlike C/C++.
- * No multiple inheritance. Just like Java, unlike C++.
- --Renaissance77 (talk) 12:40, 12 February 2010 (UTC)
- * XML documentation comments just like Javadoc and unlike just about anything else at the time.
- --Nigelj (talk) 13:30, 12 February 2010 (UTC)
- Combining structured, imperative, object-oriented programming with garbage collection, exceptions, virtual machine execution, and a C-family syntax. It's more a "flavor" argument, but I believe it was the first to forge together such a combination and C# followed it chronologically and shares all these attributes. --Cybercobra (talk) 13:50, 12 February 2010 (UTC)
- Irrelivent. See WP:NOT#OR.
Currently the article claims this article as support for Java influencing C#. First all, it nowhere states that Java influenced C#, so the citation must be removed. Further, is not a WP:RS. Also, it is extremly one-sided without any WP:NPV. Personal opinions are irrelivent; there is either a reliable resource or not. No matter of debate such as above will change this. 211.117.140.20 (talk)
- B-Class Computing articles
- Unknown-importance Computing articles
- All Computing articles
- B-Class Computer science articles
- Mid-importance Computer science articles
- WikiProject Computer science articles
- Unassessed Microsoft articles
- Unknown-importance Microsoft articles
- Unassessed .NET articles
- Unknown-importance .NET articles
- WikiProject .NET articles
- WikiProject Microsoft articles