Talk:C Sharp (programming language)
![]() | Computing B‑class | |||||||||
|
![]() | Computer science B‑class Mid‑importance | ||||||||||||||||
|
![]() | Microsoft: .NET Unassessed | ||||||||||||
|
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)
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)
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)
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)
- 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