Content deleted Content added
Remove for vs. while notes |
→Energy Usage: Reply |
||
Line 1:
{{Skip to talk}}
{{Talk header|search=no|noarchive=yes}}
{{WikiProject banner shell|class=C|vital=yes|1=
{{WikiProject Computing |importance=Top |software=y |software-importance=Top |science=y |science-importance=High}}
{{WikiProject Computer science |importance=High}}
{{WikiProject C/C++ |importance=Top |c=yes}}
}}
{{ArticleHistory
|action1=FAC|action1date=2004-03-15, 02:35:04 |action1link=Wikipedia:Featured article candidates/C (programming language)|action1result=promoted|action1oldid=2774835
|action2=FAR|action2date=2006-07-25, 12:59:24 |action2link=Wikipedia:Featured article review/C (programming language)|action2result=removed|action2oldid=65748965
|action3=GAN|action3date=2006-09-09, 00:06:07 |action3link=Talk:C (programming language)/GA1 |action3result=failed|action3oldid=74539171
|currentstatus=FFA
}}
{{annual readership}}
{{afd-merged-from|C Intermediate Language|C Intermediate Language|29 April 2013}}
{{User:MiszaBot/config
|archiveheader = {{talk archive navigation}}
|maxarchivesize = 31K
|counter = 17
|minthreadsleft = 4
|minthreadstoarchive = 1
|algo = old(100d)
|archive = Talk:C (programming language)/Archive %(counter)d
}}
{{archives|bot=MiszaBot I|search=yes|age=100|dounreplied=yes}}
== Duplicate sections on related languages - merge? ==
There appears to be two similar sections in the main article: [[C (programming language)#Relations to other languages|Relations to other languages]] and [[C (programming language)#Related languages|Related languages]]. Former is a list within the Overview section; latter is an exposition on the influence of C, sitting near the end of the article.
Should we consider these as duplicates, and merge them to one ___location? Or are we happy with the different emphasis on the somewhat similar content, and leave well alone? Or Perhaps replace the first section with a sentence and keep the latter section? Or something else? [[User:Chumpih|<span style="text-shadow: 2px 2.5px 3px #448811bb">Chumpih</span>]] <sup>[[User talk:Chumpih|t]]</sup> 05:29, 26 April 2024 (UTC)
:IMO duplicate info should almost always be eliminated. These sections should be merged. ... There is lots of duplicate info throughout the article that bloats the length without adding value. I think the article has become crufty since it has been edited a zillion times by a zillion people. Needs refactoring :) [[User:Stevebroshar|Stevebroshar]] ([[User talk:Stevebroshar|talk]]) 12:10, 11 July 2025 (UTC)
== C is a compiled language ==
A compiled language is "typically" compiled according to Wikipedia. I would like to add "compiled" to describe C. In fact, C is one of the most common languages, if not the most common language, cited as an example of a compiled language. [[User:Chris.temp.level.0|Chris.temp.level.0]] ([[User talk:Chris.temp.level.0|talk]]) 13:27, 17 July 2024 (UTC)
:{{ping|Vincent Lefèvre|Jkudlick}} The issue seems to be [[Special:Diff/1233796365|this edit]] which inserted "[[Compiled language|compiled]]" before "[[general-purpose programming language]]" in the lead. Per [[WP:LEAD]], information in the introduction should be a summary of what is in the body of the article and it looks as if one reason given for a revert was doubt about whether the information is in the body. Bear in mind that the lead already refers to "compile" in a couple of places: "C [[compiler]]s" + "designed to be [[compiler|compiled]]" + "can be compiled". People like fiddling and Google tells us that C interpreters exist although of course if the term "compiled language" has any meaning, it certainly applies to C. [[User:Johnuniq|Johnuniq]] ([[User talk:Johnuniq|talk]]) 01:43, 18 July 2024 (UTC)
::{{re|Johnuniq|Chris.temp.level.0|Vincent Lefèvre}} I was only involved insofar as this article has pending changes protection and I happened to review a pending change that had already been reverted. As I stated {{diff|diff=prev|oldid=1234287773|label=on my talk page}}, I would have accepted the edit if it had not already been reverted. I am glad to see Chris has engaged in discussion here to reach consensus, and I will leave the discussion to those with much better knowledge of this subject than me. — [[User:Jkudlick|Jkudlick]] ⚓ [[User_talk:Jkudlick|(talk)]] 23:29, 18 July 2024 (UTC)
::{{re|Jkudlick|Johnuniq|Chris.temp.level.0}} I think that "designed to be compiled" already present in the LEDE is sufficient. — [[User:Vincent Lefèvre|Vincent Lefèvre]] ([[User talk:Vincent Lefèvre|talk]]) 12:00, 20 July 2024 (UTC)
:::Agree. [[User:Chumpih|<span style="text-shadow: 2px 2.5px 3px #448811bb">Chumpih</span>]] <sup>[[User talk:Chumpih|t]]</sup> 14:34, 20 July 2024 (UTC)
:::Originally intended to be compiled, yes. Originally designed to be compiled, sure. But that was decades ago. Is it still designed to be compiled? IMO that's arguable. [[User:Stevebroshar|Stevebroshar]] ([[User talk:Stevebroshar|talk]]) 12:07, 11 July 2025 (UTC)
:I worked at a company that sold a product with a C interpreter. C is typically compiled yes. But it doesn't have to be. In fact, any language can be either compiled or interpreted. IOW, there is no such thing as a compiled language or interpreted language. There are languages and there are compilers and interpreters that accept input in some language. [[User:Stevebroshar|Stevebroshar]] ([[User talk:Stevebroshar|talk]]) 12:05, 11 July 2025 (UTC)
::No, some languages must not be compiled. This is the case of shell scripts, for which any syntax error must not yield an error as long as the corresponding line is not attempted to be executed. — [[User:Vincent Lefèvre|Vincent Lefèvre]] ([[User talk:Vincent Lefèvre|talk]]) 12:11, 11 July 2025 (UTC)
::Technically, it may be correct that any language can be "compiled" or interpreted. However, it is extremely misleading to claim that there is no distinction between compiled languages and interpreted languages. As Vincent Lefèvre pointed out, shell scripts should not yield an error as long as the corresponding line is not "attempted to be executed". The only feasible way to "compile" such a language would be to bundle an interpreter into a binary with the language. Some languages are clearly designed to be interpreted. Languages with a eval function like Javascript and Python would require an entire interpreter or JIT compiler to be bundled into the executable if such a function was called with a runtime value. [[User:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO]] ([[User talk:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|talk]]) 03:06, 18 July 2025 (UTC)
:::Note however that Perl is a compiled language with an <code>eval</code> function. The whole compilation step is done before execution of the script or of the eval'ed code. Contrary to purely interpreted languages, any syntax error is detected, even if the corresponding code would not be reached during execution.
:::EDIT: And in Perl, it is possible to call functions before their declaration/definition (this would not have been possible if Perl scripts were interpreted).
:::— [[User:Vincent Lefèvre|Vincent Lefèvre]] ([[User talk:Vincent Lefèvre|talk]]) 17:48, 19 July 2025 (UTC)
::::Perl is not really compiled. Perl 6 (aka Raku) converts to Parrot bytecode, which is interpreted. Thus, Perl 6 (aka Raku) is bytecode interpreted, which is how Java and Python work, as well. Perl 5 supported an internal bytecode. Perl 4 and below generate a parse tree before interpreting. You can correct me if I am incorrect about perl; however, I do not think that I am.
::::Compilation is about code generation. If machine code is never generated, then the implementation is interpreted. If machine code is generated while the program is running, then the implementation is JIT compiled. If machine code is generated before the program is ran, then the implementation is AoT compiled.
::::Most interpreted languages can be implemented with a JIT compiler, for example, Javascript. However, AoT compilation and JIT compilation are very different. [[User:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO]] ([[User talk:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|talk]]) 23:24, 19 July 2025 (UTC)
:::::Compilation is the process of converting a program from one representation to another - if source code is turned into bytecode, that is still compilation. [[User:MrOllie|MrOllie]] ([[User talk:MrOllie|talk]]) 00:05, 20 July 2025 (UTC)
::::::Yes, and even machine code of an actual processor is interpreted, either in hardware by the processor itself or in software by an emulator. — [[User:Vincent Lefèvre|Vincent Lefèvre]] ([[User talk:Vincent Lefèvre|talk]]) 14:04, 20 July 2025 (UTC)
== Remove <nowiki>{{harvtxt}}</nowiki> templates? ==
The article has several <nowiki>{{harvtxt}}</nowiki> references within it, leading to shortened references that have to be clicked through to get to a second link to the reference within the Sources section, which can then be clicked to see the source. The shortened references use the <nowiki>{{cite Q}}</nowiki> template, which dereferences wikidata. It would appear that there are multiple wikidata entries in this article's [[C_(programming_language)#Sources|Sources]] section that are pointing to the same source. More info is at [[Template:Harvard_citation_text#Usage|harvtext template usage]] and [[Template:Cite_Q]].
<br />There are four of them, compared to the 60ish more common references in the [[C_(programming_language)#References|References]]. An example is [https://en.wikipedia.org/wiki/C_(programming_language)#cite_ref-sigplan_9-3:~:text=re%2Dimplementing%20the%20kernel%20of%20the%20Unix%20operating%20system.%5B9%5D HERE]
<br/ >Any objections to these four <nowiki>{{harvtxt}}</nowiki> references being removed, (along with the ''Sources'' section) and replaced with standard ''Cite''s, alongside the 60ish other cites? [[User:Chumpih|<span style="text-shadow: 2px 2.5px 3px #448811bb">Chumpih</span>]] <sup>[[User talk:Chumpih|t]]</sup> 23:29, 12 June 2025 (UTC)
:No, I don't see a reason why that would be the ideal CITEVAR for this article. <span style="border-radius:2px;padding:3px;background:#1E816F">[[User:Remsense|<span style="color:#fff">'''Remsense'''</span>]]<span style="color:#fff"> 🌈 </span>[[User talk:Remsense|<span lang="zh" style="color:#fff">'''论'''</span>]]</span> 23:32, 12 June 2025 (UTC)
:I have no objections at all, and would prefer to have either all long or all short (either is fine), but not the random mix there is now. I am currently trying to untangle the THREE sources to the 1993 Ritchie paper, but stepped away for the moment because {{t|cite Q}} is annoying me. I was also thinking the {{t|harvtxt}}s should be {{t|efn}}s, but hadn't started focusing on that yet. [[User:Elrondil|Elrondil]] ([[User talk:Elrondil|talk]]) 02:31, 13 June 2025 (UTC)
::While the Ritchie source it is a very, very good paper, I totally agree, three refs to it is a little over-the-top.😁 <br/>Ok, given this approbation, and unless someone objects in the next 24h or so, I'll remove the Sources section, and change the Ritchie refs etc. to <nowiki>{{cite}}</nowiki>s. [[User:Chumpih|<span style="text-shadow: 2px 2.5px 3px #448811bb">Chumpih</span>]] <sup>[[User talk:Chumpih|t]]</sup> 06:46, 13 June 2025 (UTC)
:::Ah, @[[User:Elrondil|Elrondil]], I note that some of the <nowiki>{{harvtxt}}</nowiki> links have been changed to {<nowiki />{efn}}s with <nowiki>{{sfnp}}</nowiki> references [https://en.wikipedia.org/w/index.php?title=C_(programming_language)&diff=prev&oldid=1295367058 HERE] and similar. Are we still OK to remove the ''Sources'' section, the {<nowiki />{Cite Q}}s, and move to more typical {<nowiki />{cite}}s? [[User:Chumpih|<span style="text-shadow: 2px 2.5px 3px #448811bb">Chumpih</span>]] <sup>[[User talk:Chumpih|t]]</sup> 06:19, 14 June 2025 (UTC)
::::{{reply to |Chumpih}} Oops, I forgot one {{t|harvtxt}}, so just moved that to {{t|sfnp}}s ... just wanted to finish what I had started :-). I still "prefer to have either all long or all short (either is fine), but not the random mix there is now." So I'm OK for you to move the {{t|sfnp}}s to refs (or {{t|r}}s?!?!). But I think regressing the {{t|cite Q}}s to ordinary {{t|cite book}} etc. is a bad move, so don't agree with that ... {{t|cite Q}}s enable [[Database normalization#Normal forms|data normalization]] and all the benefits that come with that. However, I'm not sure {{u|Remsense}} agrees with dropping the {{t|sfnp}}s after reading their response from a few days ago again. [[User:Elrondil|Elrondil]] ([[User talk:Elrondil|talk]]) 06:35, 14 June 2025 (UTC)
:::::Yeah, I made a 'negative' request, saying 'any objections', which was unclear of me - apologies. So the reply above from @[[User:Remsense|Remsense]] could do with clarification. [[User:Chumpih|<span style="text-shadow: 2px 2.5px 3px #448811bb">Chumpih</span>]] <sup>[[User talk:Chumpih|t]]</sup> 06:49, 14 June 2025 (UTC)
::::::Sorry 😀.
::::::If only we, the writers, expressed citations in a way that permitted them, the readers, to elect how THEY want to SEE the blimmin' citations and then let Wikipedia render the citations into whatever format a particular reader has chosen to see them (i.e., long, short, mixed, whatever), there wouldn't ''be'' a need for all this [[WP:CITEVAR|consensus]] BS, where a small set of writers (usually the most recent and most aggressive mob) decides for EVERYONE how they should "eat their meal". Its ridiculous, uncivil, and technologically quite unnecessary. [[User:Elrondil|Elrondil]] ([[User talk:Elrondil|talk]]) 07:07, 14 June 2025 (UTC)
:::::::OK, so do we settle on standard {{t|cite}} references for all, (i.e. change them into the same format as the other 60-odd) or do we want to have these 5 (or is it 2) references in the ''Sources'' section using different mechanisms, with limited hover-over info, and an additional click required to get to the source? [[User:Chumpih|<span style="text-shadow: 2px 2.5px 3px #448811bb">Chumpih</span>]] <sup>[[User talk:Chumpih|t]]</sup> 19:30, 15 June 2025 (UTC)
::::::::{{reply to |Chumpih }} What do you mean by "standard {{t|cite}}"? If you mean replacing the short citations using {{t|sfnp}} with long citations using <nowiki><ref></ref></nowiki>{{t|rp}}s while retaining the {{t|cite Q}}s, you have my OK but this also needs a clear and unambiguous OK from {{u |Remsense}} for there to be the required consensus. I see no reason to revert from {{t|cite Q}}s to {{t|cite book}}s etc.
:::::::: [[User:Elrondil|Elrondil]] ([[User talk:Elrondil|talk]]) 19:46, 15 June 2025 (UTC)
::::::::FYI, in my browser, hovering over a short citation opens a flyover with short citation details, and when I hover on THAT it opens a flyover with the long citation details … so I click just once. [[User:Elrondil|Elrondil]] ([[User talk:Elrondil|talk]]) 05:51, 16 June 2025 (UTC)
:::::::::That's not as straightforward as {{t|cite}}. [[User:Chumpih|<span style="text-shadow: 2px 2.5px 3px #448811bb">Chumpih</span>]] <sup>[[User talk:Chumpih|t]]</sup> 17:51, 16 June 2025 (UTC)
::::::::::True, there is an extra "level of indirection", but which enables (1) moving of the page or ___location from being inline to that extra level of indirection and (2) more control over how the long citations are organised. I see the benefits and costs of both approaches, and personally I think that should be the reader's choice (through a configuration setting), but instead Wikipedia editors have spend decades fighting over this, and will continue to … until each individual reader gets to choose how they feel at any moment: light mode or dark mode, sans serif or serif font, large text or small text, long citations or short citations, DMY or MDY dates, American or British or Australian or Hibernian or Indian English, metric or imperial units first, and so on.
::::::::::In the meantime, we can still try to be as consistent as possible for the sake of readability by Wikipedia readers (that is, not author-centric but reader-centric), and to link any short and long citations that ARE there to pick up and correct mismatches (there are plenty) and at least ENABLE that extra hover or click instead of leaving it to readers to manually having to make the connection. Instead we have this ridiculous Lilliputian but cleverly-named [[WP:CITEVAR]] (or "Cite War") stand off with both short and long at the same time in the same articles. [[User:Elrondil|Elrondil]] ([[User talk:Elrondil|talk]]) 22:25, 16 June 2025 (UTC)
:::::::::::So do you object to removing the ''Sources'' section and changing the remaining handful of {{t|sfnp}} (formerly {<nowiki/>{harvtxt}} ) cites to become {{t|cite}}s like the other 60 on the page? [[User:Chumpih|<span style="text-shadow: 2px 2.5px 3px #448811bb">Chumpih</span>]] <sup>[[User talk:Chumpih|t]]</sup> 06:02, 17 June 2025 (UTC)
::::::::::::I do not object to you changing the {{t|sfnp}} short citations to <nowiki><ref></ref></nowiki>{{t|rp}} or {{t|r}} long citations.
::::::::::::I do object to you replacing {{t|cite Q}}s with {{t|cite book}} etc (if that is what you also wanted to do).
::::::::::::I do object to you doing this without unambiguous consensus with {{u |Remsense}}. [[User:Elrondil|Elrondil]] ([[User talk:Elrondil|talk]]) 06:15, 17 June 2025 (UTC)
::::{{reply to |Chumpih}} However, if there does end up being consensus for regressing the normalizing {{t|cite Q}}s to de-normalized {{t|cite book}}s etc., that could easily be done by adding <code>|expand=yes</code> to the {{t|cite Q}}s and taking it from there. [[User:Elrondil|Elrondil]] ([[User talk:Elrondil|talk]]) 06:43, 14 June 2025 (UTC)
:But what are "standard Cites"? 😀 There is no such thing in Wikipedia and everyone does what they want anyway. [[User:Elrondil|Elrondil]] ([[User talk:Elrondil|talk]]) 02:58, 13 June 2025 (UTC)
::Ah, true, true! [[User:Chumpih|<span style="text-shadow: 2px 2.5px 3px #448811bb">Chumpih</span>]] <sup>[[User talk:Chumpih|t]]</sup> 06:39, 13 June 2025 (UTC)
== Holy c needs to be added as a dialect ==
. [[User:Tankfarter|Tankfarter]] ([[User talk:Tankfarter|talk]]) 05:38, 28 July 2025 (UTC)
== Energy Usage ==
This whole section is absolutely bizarre:
Originally, C was popular mostly due to being easier to use than other programming languages.[citation needed] Currently, C is popular mostly due to speed, efficiency, low memory usage, and simplicity.[citation needed] C uses approximately one-eightieth the energy that Python, Perl, and PHP do.[17] On average, C uses less energy than Fortran, despite Fortran being faster on average.[citation needed]
But this line in particular:
C uses approximately one-eightieth the energy that Python, Perl, and PHP do.[17]
Is particularly problematic, as it gives the reader the understanding that C always uses 1/80 of the energy of the other listed languages, when in fact, it uses this while running these specific benchmarks, which have very little (if anything) to do with the real-world use of a language.
Let's take Python for example. Which Python? Python 3.13? Python 2.6? CPython 3.13? Pypy 3.8? C as compiled with what? A "typical" C implementation of a given program probably does use substantially less energy than a "typical" Perl equivalent, but stating 1/80 based on some benchmarks makes no sense.
The entire section reads as something you would read on a website comparing Linux distros where it's clear the author has no idea what they're talking about. [[Special:Contributions/196.211.140.249|196.211.140.249]] ([[User talk:196.211.140.249|talk]]) 08:55, 21 August 2025 (UTC)
:That was added at [[Special:Diff/1301098576|02:36, 18 July 2025]] and should probably be removed. I doubt sites.google.com is a [[WP:RS|reliable source]]. Also, the [[WP:LEAD]] is supposed to be a summary of what is in the article. The lead should not be used to add ideas. [[User:Johnuniq|Johnuniq]] ([[User talk:Johnuniq|talk]]) 09:13, 21 August 2025 (UTC)
:Lets not pretend that C uses the same energy usage as Python. The Cython website claims benchmarks where Cython beat the reference implementation of Python in speed by a factor of 95. Even Cython, which few Python users use, uses more energy than typical C program equivalents. Almost all Python users use the reference implementation, which is well known for wasting CPU time, RAM, electricity, etc. Obviously, 95 is higher than the 80 times energy usage increase stated; however, the difference between 95 and 80 can be attributed to the fact that speed is not the same as energy usage.
:Somewhere else on the internet, I saw something where someone got a 75 times speedup in the training of a neural network by rewriting their Python to C, while using the same machine learning library. However, I do not remember where I saw that. [[User:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO]] ([[User talk:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|talk]]) 20:07, 24 August 2025 (UTC)
::The point, which has not been acknowledged, is we don't cite [[WP:USERGENERATED|user-generated sources]] in any instance. <span style="border-radius:2px;padding:3px;background:#1E816F">[[User:Remsense|<span style="color:#fff">'''Remsense'''</span>]]<span style="color:#fff"> 🌈 </span>[[User talk:Remsense|<span lang="zh" style="color:#fff">'''论'''</span>]]</span> 20:11, 24 August 2025 (UTC)
::This was returned with a [[WP:ARXIV]] preprint, which is another kind of user-generated source, so that's not any better. Kindly secure agreement on this talk page before reinserting any variation of this claim. [[User:MrOllie|MrOllie]] ([[User talk:MrOllie|talk]]) 21:29, 24 August 2025 (UTC)
:::@[[User:MrOllie|MrOllie]], I looked via Google Scholar and thought I saw another version of the paper published somewhere on Harvard's webspace, but I clicked in and saw it was just another arXiv portal or something, whoops. Sorry for the confusion. <span style="border-radius:2px;padding:3px;background:#1E816F">[[User:Remsense|<span style="color:#fff">'''Remsense'''</span>]]<span style="color:#fff"> 🌈 </span>[[User talk:Remsense|<span lang="zh" style="color:#fff">'''论'''</span>]]</span> 01:05, 25 August 2025 (UTC)
:::MIT did a study, as well; however, the paper was paywalled. However, a table of the results was posted to facebook by MIT. https://www.facebook.com/MITCSAIL/posts/the-energy-consumption-of-different-programming-languages-vandriy-burkov-httpsbi/890853283077184/ Does this count as a reliable source? Or is it unreliable because it is on Facebook? Since it is written by an official MIT facebook account, does that override the fact that it is a social media site? [[User:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO]] ([[User talk:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|talk]]) 22:35, 28 August 2025 (UTC)
::::I know that citing paywalled studies is against Wikipedia policy, and, thus, despite there being many reliable sources, it seems that you will not accept any of them. [[User:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO]] ([[User talk:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|talk]]) 22:36, 28 August 2025 (UTC)
:::::I found a large quantity of blogs with similar statistics on the energy usage. If I have enough similar sources, can that count as reliable? [[User:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO]] ([[User talk:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|talk]]) 22:37, 28 August 2025 (UTC)
::::::So, you haven't really looked at [[WP:RS]] at all yet, unfortunately. Please do that. Could you explain how that would work, though? Why would that matter? <span style="border-radius:2px;padding:3px;background:#1E816F">[[User:Remsense|<span style="color:#fff">'''Remsense'''</span>]]<span style="color:#fff"> 🌈 </span>[[User talk:Remsense|<span lang="zh" style="color:#fff">'''论'''</span>]]</span> 22:40, 28 August 2025 (UTC)
::::::The facebook post contains a dead link. As to there being {{tq|many reliable sources}}, you still haven't presented one here. No number of unreliable sources such as pre-prints, social media posts, and blogs add up to a reliable source. [[User:MrOllie|MrOllie]] ([[User talk:MrOllie|talk]]) 22:42, 28 August 2025 (UTC)
:::::::I am 100% certain that the statistic is accurate. However, it seems that there is no way that you will accept for sourcing it. If I were to do benchmarks myself, then it would be original research. If I cite blogs with similar statistics, then they are considered "unreliable". According to Wikipedia policy, I cannot cite a paywalled study. The MIT Facebook post is "user generated", so I cannot cite that, even if it is from an official MIT account. Apparently, the similar paper on arXix is considered "unreliable" and "user generated".
:::::::You are gatekeeping legitimate information from being on Wikipedia. [[User:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO]] ([[User talk:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|talk]]) 22:44, 28 August 2025 (UTC)
::::::::{{xt|I am 100% certain that the statistic is accurate}}
::::::::Sorry, but who the hell are you? Do you at least get that the point of these policies is so readers don't have to take a perfect internet stranger's word for everything they read? <span style="border-radius:2px;padding:3px;background:#1E816F">[[User:Remsense|<span style="color:#fff">'''Remsense'''</span>]]<span style="color:#fff"> 🌈 </span>[[User talk:Remsense|<span lang="zh" style="color:#fff">'''论'''</span>]]</span> 22:46, 28 August 2025 (UTC)
:::::::::I am not important.
:::::::::However, I have found many sources to support the fact about energy usage. Yall are merely dismissing them all as "unreliable". [[User:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO]] ([[User talk:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|talk]]) 22:50, 28 August 2025 (UTC)
::::::::::Because they are unreliable. Blogs and social media take unverified results from each other, which spreads around the internet. This is how false statistics get their legs these days. This is the Wikipedia system working as it is intended to work. [[User:MrOllie|MrOllie]] ([[User talk:MrOllie|talk]]) 22:58, 28 August 2025 (UTC)
:::::No, you don't know that, because that's not true at all. You would know this if you skimmed the [[WP:RS]] policy for any amount of time, so the least you can do is not confuse others by implying you have done this when you did not. <span style="border-radius:2px;padding:3px;background:#1E816F">[[User:Remsense|<span style="color:#fff">'''Remsense'''</span>]]<span style="color:#fff"> 🌈 </span>[[User talk:Remsense|<span lang="zh" style="color:#fff">'''论'''</span>]]</span> 22:42, 28 August 2025 (UTC)
::::::I have seen the fact that pay-walled studies is against policies before on Wikipedia. I do not remember where on Wikipedia.
::::::Besides, I do not even know where the actual study is located on the internet. A quick search is not returning any links to the pay-walled study, despite the fact that it exists. [[User:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO]] ([[User talk:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|talk]]) 22:47, 28 August 2025 (UTC)
:::::::The policy is to allow sourcing of things behind a paywalled stuff, per [[WP:PAYWALL]]. To be blunt, getting to grips with [[WP:RS]] is a rite of passage that many Editors go through (I know I did). So in many ways: ''Welcome abord''. [[User:Chumpih|<span style="text-shadow: 2px 2.5px 3px #448811bb">Chumpih</span>]] <sup>[[User talk:Chumpih|t]]</sup> 23:00, 28 August 2025 (UTC)
::::::If the policies are to prevent needing to take an internet stranger's word, then why would pay-walled studies be citable? Pay-walled studies are not verifiable by normal people. [[User:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO]] ([[User talk:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|talk]]) 22:52, 28 August 2025 (UTC)
:::::::See [[WP:PAYWALL]]. You've got this backward. What are the full citation details of this paywalled study? [[User:MrOllie|MrOllie]] ([[User talk:MrOllie|talk]]) 22:56, 28 August 2025 (UTC)
::::::::I am not sure about the details of the study. I found a post online that claimed that the MIT study about energy usage of programming languages was published in 2021. However, I do not know the name of the study, or where to find it. [[User:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO]] ([[User talk:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|talk]]) 00:45, 29 August 2025 (UTC)
:::::::::If the post you're referring to is the facebook post, it does not state that they're the ones who came up with the table originally. Indeed, I have found screenshots of the same table on other blogs dating to before 2021. [[User:MrOllie|MrOllie]] ([[User talk:MrOllie|talk]]) 02:27, 29 August 2025 (UTC)
:::What about this, I found a paper on both https://nyuscholars.nyu.edu/en/publications/ranking-programming-languages-by-energy-efficiency and https://www.iro.umontreal.ca/~mignotte/IFT2425/Documents/RankingProgrammingLanguagesByEnergyEfficiency.pdf about the energy usage of programming languages, and it has a similar statistic. Are these reliable sources? [[User:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO]] ([[User talk:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|talk]]) 00:47, 29 August 2025 (UTC)
::::Great paper, published in [[Science of Computer Programming]] and it appears to support claims for C's relative efficiency. Thumbs up from me. [[User:Chumpih|<span style="text-shadow: 2px 2.5px 3px #448811bb">Chumpih</span>]] <sup>[[User talk:Chumpih|t]]</sup> 21:25, 29 August 2025 (UTC)
:::::It's a good paper, but not for the claim: {{tqb|Implementations tend to be much more efficient than other popular languages. For example, in the paper named "Ranking programming languages by energy efficiency", researchers found typically written Python benchmarks to use 75.88 times more electricity than the corresponding C benchmarks, while taking 71.9 times more time to complete than the C benchmarks. On average, the Python benchmarks had a peak RAM usage that was 2.39 times more than the C benchmarks.}} That is a [[WP:SYNTH]]esised claim from the results tables. We should not be making those kinds of claims in this article. The uncontroversial conclusion, supported by that paper (despite being a primary source) is that C is among the more energy efficient languages. Saying things like "on average... Ram usage..." only speaks about an average across specific benchmark tests in a single primary source. We cannot use such numbers. Start from the source and write from there. Don't start with the headline you want to write and try to find sources that match. [[User:Sirfurboy|Sirfurboy🏄]] ([[User talk:Sirfurboy|talk]]) 08:46, 30 August 2025 (UTC)
::::::It is not a "SYNTHesised" claim. I said that the researchers were finding benchmarks to run faster. That is 100% supported by the source. In Table 4, the researchers computed some averages among their benchmarks, which is what I was referring to in my sentence. I never said that all benchmarks in the universe were found to run faster.
::::::If I say the word "people", does that mean all people in existence? If not, then why should the word "benchmarks" mean all benchmarks in existence?
::::::I suppose that I could make it a little more clear; however, it was correct as it was.
::::::Yall are acting in bad faith. You said "Don't start with the headline you want to write and try to find sources that match". I think that you should read your own writing. Yall are starting with the results that you don't want and yall are actively searching for reasons why I cannot add this to the article. For example, one person accused me of having a bad username immediately after disagreeing with me here. https://en.wikipedia.org/w/index.php?title=User_talk:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO&oldid=1307631178
::::::You are making up bogus objections so that you can pretend that you are following Wikipedia policy, yet you are focused on nothing other than censoring the advantages of using C over Python. If Python was as efficient as C, then no one would use C. C is more performant. Everyone knows it, whether they will admit it or not. I think that yall are a team of Python evangelists who want to hide the fact that C is more efficient, or perhaps yall are trying to create a narrative that C is only better by a few percent in performance.
::::::Stop hiding the truth. Stop tricking people who do not know about software development. Most software is incredibly inefficient, by several orders of magnitude. Electron.js is used for apps that could be written in C with SDL. Python is used for machine learning, which is already computationally expensive as it is. Windows 11 is hideously bloated.
::::::I dual boot Windows 11 and an obscure Linux distro, and the Linux distro takes up more than 128 times less disk space than Windows 11. I would not use Windows at all if I did not have to.
::::::This is not a micro optimization argument trying to advocate to squeeze out a few percent improvement. Software is many orders of magnitude worst than it could be. The reason for the inefficiency is ultimately that computers are fast and software development is expensive. However, that does not make the inefficiency nonexistent, nor does it lessen it. [[User:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO]] ([[User talk:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|talk]]) 13:57, 30 August 2025 (UTC)
:::::::I replied specifically to you in your section below, where I pointed out the Wikipedia policy on use of primary sources. Please look at what I wrote, and carefully read [[WP:PRIMARY]] as I asked you. You are new here, and as has been said, handling sources is a tricky thing on Wikipedia. Even if you are used to writing academic essays, you need to realise that Wikipedia pages are tertiary, and written from [[WP:SECONDARY]] sources.{{pb}}Why does this matter? Because again, you are starting from the position of wanting to say Python is many times less efficient than C. Yep, that's right. But what secondary sources are making the point? Why are they starting with Python? How does C compare with peer languages? You are synthesising this subject. The source has data, but you are making it out as if this is unique to C and that Python is some kind of standard benchmark. It's not. And this page is not a comparison of C and Python.{{pb}}As to your comparison between Linux and Windows - you are aware, are you not, that the bulk of Windows was written in C? What is the point of all that sidetrack?{{pb}}Look, you have multiple editors taking issue with this addition. It is not that there is nothing we can say here. C code is efficient, and that will make the code low energy too. But quantising it against Python based on a single primary source is just not encyclopaedic writing. [[User:Sirfurboy|Sirfurboy🏄]] ([[User talk:Sirfurboy|talk]]) 14:41, 30 August 2025 (UTC)
::::::::I have started looking at WP:PRIMARY right now, and I already see "Primary sources that have been reputably published may be used in Wikipedia.". Therefore, there is no problem with me using a primary source.
::::::::"you are aware, are you not, that the bulk of Windows was written in C?"
::::::::I am aware of that. However, inefficient code can be written in any programming language. A good programming language enables and encourages efficient code. No language can prevent inefficient code. I was talking about the overall trend of inefficiency in all parts of software development, which I think that readers need to understand. [[User:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO]] ([[User talk:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|talk]]) 14:52, 30 August 2025 (UTC)
:::::::Your suboptimal username is immediately fixable. Fixing it does not prevent you from participating here. [[WP:Battleground|Wikipedia is not a battleground]]; nobody here is out here to get you, even if some of us have overly concise language that might seem insulting and commanding. We just think it's far more efficient collaborating if we can envision the human behind a username, which no offense, your username makes hard to do. [[User:Aaron Liu|<span class="skin-invert" style="color:#0645ad">Aaron Liu</span>]] ([[User talk:Aaron Liu#top|talk]]) 14:57, 30 August 2025 (UTC)
::::::::"Your suboptimal username is immediately fixable."
::::::::I would need to give out my email address to submit the rename request form. Personally, I do not want my email address floating around the internet any more than it has to. I do not trust internet strangers with my email address.
::::::::"nobody here is out here to get you"
::::::::Almost everyone here are out to get me. For example, on the article "Code motion", Augmented Seventh reverted an edit of mine without even reading it merely based on the tags of my edit and edits. https://en.wikipedia.org/w/index.php?title=Code_motion&diff=prev&oldid=1296620700 After leaving a message on Augmented Seventh's talk page, Augmented Seventh was able to realize that my edit was indeed valid. [[User:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO]] ([[User talk:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|talk]]) 15:58, 30 August 2025 (UTC)
:In many implementations, C compiles directly to machine code that runs directly on the target procsssor. Many other languages are either JITting, or use bytecodes which are considerably less efficient. While C is far from unique in producing machine code, it is totemic in doing so, and engineers choose C for its close-to-machine output. Perhaps words should go in the lede (or elsewhere) to extol this close-to-machine benefit of the language, perhaps alongside comparisons to other compiled languages. I don't think citing 80x or similar is wise, given how context-dependent such figures will be. [[User:Chumpih|<span style="text-shadow: 2px 2.5px 3px #448811bb">Chumpih</span>]] <sup>[[User talk:Chumpih|t]]</sup> 22:48, 24 August 2025 (UTC)
::That's more or less what the third paragraph of the lead is doing. [[User:MrOllie|MrOllie]] ([[User talk:MrOllie|talk]]) 01:10, 25 August 2025 (UTC)
:::Yes, sort of. The 'designed to be compiled' part in lede para 3 is fine, but perhaps we should have words that spell out what that implies in terms of efficiency. This would be alongside other compiled languages, and in contrast to other languages which rely on interpreters, JIT, bytecodes, etc. [[User:Chumpih|<span style="text-shadow: 2px 2.5px 3px #448811bb">Chumpih</span>]] <sup>[[User talk:Chumpih|t]]</sup> 05:21, 25 August 2025 (UTC)
:::I have heard before that unoptimizing compilers tend to run approximately 10 times faster than interpreters. I do not think that a 80 times difference is that unreasonable given that consideration. Besides, the [[Cython]] Wikipedia page cites a 95 times speedup over CPython on a given benchmark, when using fixed witdth types.
:::Since Cython only partially converts to C, it is never going to speed up as much as a rewrite in C would. [[User:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO]] ([[User talk:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|talk]]) 01:28, 29 August 2025 (UTC)
== Efficiency ==
The high efficiency of C deserves more of a mention in the article, despite the efforts of a certain pair of Wikipedia editors who want to hide the fact that C is much more efficient than Python. However, since I am outnumbered, there does not seem to be anything that I can do about it. [[User:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO]] ([[User talk:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|talk]]) 02:57, 29 August 2025 (UTC)
:I won't speak for anyone else, but all I want is for the sourcing requirements to be followed. Come up with a proper source and I will have no further objections. [[User:MrOllie|MrOllie]] ([[User talk:MrOllie|talk]]) 02:58, 29 August 2025 (UTC)
::I have found a peer reviewed source now. Do you have no further objections? Or are you going to revert it a third time? [[User:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO]] ([[User talk:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|talk]]) 04:03, 30 August 2025 (UTC)
:::I'm going to revert the inclusion, and here is why: what you have is a primary source, a research paper, that looks at the question of energy efficiency. You have cited the same paper three times, but it is a single [[WP:PRIMARY]] source. Please read that link. Wikipedia articles should be written from secondary sources, so that is the first problem. Nevertheless, if the paper unequivocally showed what you say it does, and if that were uncontroversial, we could let it go. But it is not. you quote the paper comparing C and Python. But of course C uses less energy and is more efficient than Python. You are comparing apples and oranges. But the claim you have made is that C generally uses less energy than other languages, which is not what the paper says. For instance, the fasta results table put Fortran and Rust ahead of C. So what you are doing is [[WP:SYNTH|synthesising]] a conclusion based on the data in that primary source and your own editor selection of the parameters. Incidentally it goes without question that more efficient languages consume less energy. Whether it needs saying is unclear, but we could say that. Your attempts to quantize this, however, are not appropriate and especially from a primary source. [[User:Sirfurboy|Sirfurboy🏄]] ([[User talk:Sirfurboy|talk]]) 08:24, 30 August 2025 (UTC)
::::"you quote the paper comparing C and Python"
::::No, I paraphrased the paper, and I cited the paper. However, I did not quote the paper. How would I quote a claim in a data table?
::::"Incidentally it goes without question that more efficient languages consume less energy."
::::It does not go without saying which languages are more efficient or by how much of a difference.
::::C won in the normalized global results between the various benchmarks. (table 4). C won in the global results between the Rosetta code benchmarks. (table 13) C won in various individual benchmarks, such as binary-tree, fannkuch-redux, MergeSort, Hailstone, Ackermann, 100-doors, and N-queens. C won in the DRAM energy consumption benchmark. In the benchmarks where C did not win in energy usage, it lost by a very narrow margin to other systems level languages.
::::"Your attempts to quantize this, however, are not appropriate"
::::You are wrong. You are flat out wrong, and you are acting in very bad faith. Are you friends with MrOllie? Is this why you have reverted my edit? You are spouting nonsense about my edit being "SYNTHesis" and "comparing apples and oranges", yet my edit was neither. [[User:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO]] ([[User talk:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|talk]]) 14:45, 30 August 2025 (UTC)
:::::{{tqb|No, I paraphrased}}The distinction is not relevant here. Let's calm down here a bit.{{pb}}Can we agree at least to drop the first sentence of your proposed change? All you mentioned just may show C is more efficient than Python, not other languages in general. [[User:Aaron Liu|<span class="skin-invert" style="color:#0645ad">Aaron Liu</span>]] ([[User talk:Aaron Liu#top|talk]]) 14:48, 30 August 2025 (UTC)
::::::I suppose that I could drop the first sentence, and I suppose that I could move it to another section of the article.
::::::"Neither is this the place in the article for it"
::::::Where in the article should it go? I have already been told that the lead is not the section in the article for it.
::::::"Can we agree at least to drop the first sentence of your proposed change?"
::::::You have reverted all of my change, not just the first sentence. [[User:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO]] ([[User talk:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|talk]]) 15:01, 30 August 2025 (UTC)
:::::::I'm not Sirfurboy, but I don't think "C is more efficient than Python" should be included that prominently along other intrinsic characteristics of the language either. It's such as obvious thing, because the most common implementation of Python is interpreted and developers have had way longer time to optimize (compiled) C implementations, and placing it there makes it seem far more important than it actually is—as important as curly-brace blocks, pointer syntax, and implicit conversion, for example.{{pb}}There's also what Sirfurboy mentioned: Characteristics of implementations are not necessarily characteristics of the language, Python could've well favored a compiled reference implementation from the start instead of an interpreted one; in fact, there is a compiled version of Python called [[Cython]], and it would be ridiculous to compare GCC 1.0 and Cython 1.0 and say the latter was more efficient because of the <em>language</em>'s design/characteristics. This is why Sirfurboy believes you've made an [[WP:exceptional claim|exceptional claim]]. [[User:Aaron Liu|<span class="skin-invert" style="color:#0645ad">Aaron Liu</span>]] ([[User talk:Aaron Liu#top|talk]]) 15:14, 30 August 2025 (UTC)
::::::::I am aware of Cython. However, modern GCC typically beats modern Cython.
::::::::Language characteristics impact performance. Undefined behavior would not exist in modern C if it did not have significant performance benefits. Dynamic type systems are less efficient than static type systems. (I am not talking about strong vs weak). Fixed precision integers are more efficient than arbitrary precision integers. I could create a very long list of design characteristics that impact performance; however, I doubt that it would help me in this argument to do so, so I shall not waste our time by doing so.
::::::::"It's such as obvious thing"
::::::::"you've made an exceptional claim"
::::::::If it is obvious, then it cannot be an exceptional claim. Besides, I have many "unreliable" sources that support my argument, as well. My claim is not "exceptional" to say that the implementations of C are much more efficient than the implementations of Python. [[User:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO]] ([[User talk:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|talk]]) 15:27, 30 August 2025 (UTC)
:::::Your addition also seems to say the same thing as [[C (programming language)#Used for computationally-intensive libraries]]. [[User:Aaron Liu|<span class="skin-invert" style="color:#0645ad">Aaron Liu</span>]] ([[User talk:Aaron Liu#top|talk]]) 14:53, 30 August 2025 (UTC)
:::When a change is disputed, it is often better practice to get agreement on the change first before rushing back to put it in the article again, because the latter can unfortunately raise the temperature in the room and escalate into [[WP:edit war]]. [[User:Aaron Liu|<span class="skin-invert" style="color:#0645ad">Aaron Liu</span>]] ([[User talk:Aaron Liu#top|talk]]) 14:45, 30 August 2025 (UTC)
|