Talk:Comparison of C Sharp and Java: Difference between revisions

Content deleted Content added
Useerup (talk | contribs)
Line 329:
: In that case, we should not compare the platforms support, because if we want to compare languages as you say, platforms are not part of the equation. Besides, we don't have all the (non standardized) C# libraries on non Windows platforms, because Mono does not implement all of C# 4.0. But if we think that it's not a problem, then a lot of the comparisons must be removed too. For example P/Invoke or LINQ are not part of C# - the language, as standardized. However, the article deals about the COM integration, which has nothing to do with C# as a language. I think there is a kind of double standard here. [[User:Hervegirod|Hervegirod]] ([[User talk:Hervegirod|talk]]) 21:04, 25 October 2010 (UTC)
:: Oh, I could not agree more. In my opinion we should cut this article down to what can be found in the respective language specifications (see above). There is already separate articles for comparison of the VMs/platforms and for the frameworks/class libraries. This article has a tendency to grow far beyond the languages and I fear that it is because some editors want to introduce features where they believe their stack of choice has an advantage, which quickly becomes a local arms race. I would welcome a process where we cut down the table and feature discussions (possibly spinning them out or moving them to other articles). The "double standard" is just a consequence of the tendency to introduce features to "even out" the comparison. But cutting to the core still leaves many grey areas: For instance, the article was recently expanded with both collection classes and platforms. Collection classes are not part of the language, but in the case of C# some of the collection ''interfaces'' are actually unified with arrays (implemented by all arrays) which are very much part of the language specs. Correspondingly in Java the <code>for</code> loop have been extended to accept an interface for iterating through collections, so the <code>for</code> loop has a dependency to the iterable interfaces as well which brings it preciously close to collections. IMO collections should not be here though. Similarly with platforms: They were initially introduced demonstrating that Java existed on a number of platforms where C# did not. But how does a programming language support a platform? If there exists a cross-compiler, certainly a developer can use the language to develop for that platform. Like Android. But then the entire platforms section becomes moot. IMO that comparison belongs in the comparison of the .NET and Java ''platforms'' where it can be properly qualified. In this context it just doesn't make sense. [[User:Useerup|Useerup]] ([[User talk:Useerup|talk]]) 22:09, 25 October 2010 (UTC)
:::The JVM can run on iOS, by the way. Changed that back. [[Special:Contributions/85.229.218.52|85.229.218.52]] ([[User talk:85.229.218.52|talk]]) 20:08, 7 November 2010 (UTC)