Content deleted Content added
No edit summary Tags: Mobile edit Mobile web edit Advanced mobile edit |
→Formatting: Reply |
||
(10 intermediate revisions by 4 users not shown) | |||
Line 1:
{{WikiProject
{{WikiProject
{{WikiProject Software|importance=Low}}
}}
== Resources ==
Line 28 ⟶ 30:
:Since there seems to be a lot of disagreement about the C++ version maybe we should just remove it and have only the Carbon version. [[User:Mathnerd314159|Mathnerd314159]] ([[User talk:Mathnerd314159|talk]]) 05:26, 13 December 2022 (UTC)
::I can understand the desire to have the code listing copied from somewhere else to avoid endless code adjustments from disagreeing coders, but the C++ code just wasn't written in a way conducive to comparison, nor was it even conforming C++ code. I don't think it's acceptable to embed that comparison on this website, (a link to it would be fine if we ''must''). (For context for future talk readers, [https://en.wikipedia.org/w/index.php?title=Carbon_(programming_language)&oldid=1209607070 here] was my proposed equivalent C++ code).
:: P.s. it's not OK to specify the return type as {{tt|int32_t}}, that type is neither required to be {{tt|int}}, nor is it even required to exist (it's an optional type alias). The return type of {{tt|main}} [https://eel.is/c++draft/basic.start.main#2 must be {{tt|int}}] --[[User:Ybab321|Ybab321]] ([[User talk:Ybab321|talk]]) 10:42, 23 February 2024 (UTC)
:::The code seemed comparable enough. it has the same functions and control flow. And it compiles with {{code|1=gcc -std=c++20 -Wall -Wextra -pedantic}} with only some unused argument warnings. As far as MSVC, you just have to add {{code|#define _USE_MATH_DEFINES}} to get {{code|M_PI}}. Or you could define M_PI directly. But I don't think changing the code like that would make it any more clearer. I would say it is the clearest information the Carbon developers have given as to what they don't like about C++. I guess what you're saying is that the content is not allowable under [[WP:SELFSOURCE]] because it is self-serving and makes false claims about what a typical C++ program looks like. I'm not seeing that though? Many C++ programs use M_PI, e.g. [https://github.com/search?q=M_PI+language%3AC%2B%2B&type=code&l=C%2B%2B in this Github search], generally defining it themselves but there are also a lot of programs [https://github.com/search?q=_USE_MATH_DEFINES+language%3AC%2B%2B&type=code doing use_math_define].
:::Now as a contrary point, I have looked at various programming language articles on Wikipedia and generally they don't do language comparisons, merely language examples. But cc @[[User:Nexxl|Nexxl]] who added the comparison. [[User:Mathnerd314159|Mathnerd314159]] ([[User talk:Mathnerd314159|talk]]) 00:03, 24 February 2024 (UTC)
:::: Perhaps I spoke too brazenly, my apologies. It is true that a lot of C++ code is written that is, lets say, suboptimally portable (an implementation is ''allowed'' to declare {{tt|M_PI}} in a header, it's just not a standard requirement. It's also true that the vast majority of C++ code in the wild currently won't be using the C++20 and C++23 features that would make the comparison as direct as I would like it to be. I certainly don't mean to imply that the carbon folk are selling a maliciously self serving example, though it seems a bit silly to me to compare new carbon code with old C++ code. When comparing new carbon code with new C++ code, one can see that the differences are purely syntactic, which I think is a great and meaningful result of comparison between programming languages. With all that said, I'm amenable to restoring the comparison as it was, but obviously my preference remains otherwise. --[[User:Ybab321|Ybab321]] ([[User talk:Ybab321|talk]]) 22:54, 27 February 2024 (UTC)
:::::Now that I think about it, the best solution would be to update the C++ code in the Carbon repo with your code. Then Wikipedia can cite it and also you will be happy. So I would say, open a PR and see what happens. At least that way there will be an official response / nonresponse. [[User:Mathnerd314159|Mathnerd314159]] ([[User talk:Mathnerd314159|talk]]) 18:16, 28 February 2024 (UTC)
Attempting the best solution sounds like a good idea to me, [https://github.com/carbon-language/carbon-lang/pull/3735 opened a PR] as suggested --[[User:Ybab321|Ybab321]] ([[User talk:Ybab321|talk]]) 21:24, 29 February 2024 (UTC)
: OK my PR has been merged now. I'm still OK with the C++ code not being there per the "generally they don't do language comparisons" observation, though Carbon's relationship with C++ is a special one. I'm not really sure what makes the most sense, but I'll add the code comparison back in seeing as we went down this route --[[User:Ybab321|Ybab321]] ([[User talk:Ybab321|talk]]) 23:55, 4 March 2024 (UTC)
::I would say at present, the article's biggest issue is the lack of material. There are just not many sources. But the code comparison at least makes it not look like a stub. I would say it's fine for now. [[User:Mathnerd314159|Mathnerd314159]] ([[User talk:Mathnerd314159|talk]]) 03:57, 5 March 2024 (UTC)
== Formatting ==
Would there be any merit to adding newlines to the code blocks in [[Carbon#Example|§Example]] to align similar bits of the two blocks side-by-side? [[User:Arkadios 200|Arkadios 200]] ([[User talk:Arkadios 200|talk]]) 10:04, 2 March 2025 (UTC)
:There is an issue with line wrapping on smaller screens. I think a newline or two might help, but you would have to be careful to check that it looks good at all window widths. [[User:Mathnerd314159|Mathnerd314159]] ([[User talk:Mathnerd314159|talk]]) 00:07, 6 March 2025 (UTC)
|