Content deleted Content added
→Efficiency: Reply |
→Efficiency: Reply |
||
(25 intermediate revisions by 4 users not shown) | |||
Line 128:
:::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)
:::::::::{{tq|Therefore, there is no problem with me using a primary source}} - but [[WP:PRIMARY]] says, under policy: {{tqb|2. Any interpretation of primary source material requires a reliable secondary source for that interpretation.}}So we have a problem. [[User:Sirfurboy|Sirfurboy🏄]] ([[User talk:Sirfurboy|talk]]) 22:23, 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)
:::::::::{{tqb|I would need to give out my email address}}That's only for the automatic software form. Requests at [[Wikipedia:Changing username/Simple]] will wait a little for someone to approve but don't need your email.{{pb}}People make mistakes. [[Wikipedia:RC Patrol|Every edit on every page is checked all the time]], though less so at times when the Western Hemisphere isn't online. You'll notice that Augmented has no interacted with you anywhere else. [[User:Aaron Liu|<span class="skin-invert" style="color:#0645ad">Aaron Liu</span>]] ([[User talk:Aaron Liu#top|talk]]) 20:42, 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)
Line 140 ⟶ 160:
: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)
:::::::::I'll correct myself: It's an obvious thing that the most popular implementations of C are a ton more efficient than that of Python. It's an exceptional claim that all of this gap is because of the languages themselves. You need to have sources that say by themselves that the C language's characteristics—not the reference implementation being compiled or whatever—make it more efficient than all the others. [[User:Aaron Liu|<span class="skin-invert" style="color:#0645ad">Aaron Liu</span>]] ([[User talk:Aaron Liu#top|talk]]) 21:31, 30 August 2025 (UTC)
::::::::::Ah, perhaps we shouldn't go on a quest for some source that fits a particular requirement. Perhaps we should come up with text that reflects the information in the relevant reliable sources. The [https://www.sciencedirect.com/science/article/pii/S0167642321000022 paper] is [[WP:PRIMARY]], so for sure some rules apply. It's arguably relevant to a page on C. It's also peer-reviewed which per [[WP:SCHOLARSHIP]] note on ''Reliable scholarship'' makes it [[WP:RS]]. How can we reflect this relevant, reliable source's content within the article? [[User:Chumpih|<span style="text-shadow: 2px 2.5px 3px #448811bb">Chumpih</span>]] <sup>[[User talk:Chumpih|t]]</sup> 21:47, 21:54, 30 August 2025 (UTC)
::::::::::Then, can we agree that implementations of C are much more efficient than implementations of Python?
::::::::::For the end user, it does not matter why the performance difference exists as long as it exists. The impact on the decision on whether to write a program in C or Python is the same regardless of whether the difference is due to language features or implementation details.
::::::::::The research paper clearly supports a massive difference in the efficiencies of the implementations. [[User:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO]] ([[User talk:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|talk]]) 21:50, 30 August 2025 (UTC)
:::::::::::Why are we talking about Python at all? That is your fixation. That paper is specifically a study looking at fully 27 programming languages. It is not a study of C against Python - that is your interpretation of their data. It is not found in their conclusions. What the paper concludes is that a faster language is usually but not always more energy efficient. It is not speaking to a specific comparison of Python and C, and we ''cannot'' use their numbers to say in wikivoice that python {{tq|uses 75.88 times more electricity}}. Again, this is not encyclopaedic writing and it should not be in the article. <small>I mean, come on, 75.88? Only two decimal places?</small> [[User:Sirfurboy|Sirfurboy🏄]] ([[User talk:Sirfurboy|talk]]) 22:31, 30 August 2025 (UTC)
::::::::::::"That paper is specifically a study looking at fully 27 programming languages. It is not a study of C against Python."
::::::::::::If you really want to include all of the information about all of the other 25 programming languages that lose to C, then we can do so. Personally, I do not think that there is space in the article to add a section about each and every language that C is better than. If readers want all of those details, then they can read the paper themselves. It is a very good paper, and perhaps it should be an external link.
::::::::::::"It is not found in their conclusions."
::::::::::::Look at table 4. You are wrong. Also, look at table 13.
::::::::::::"75.88? Only two decimal places?"
::::::::::::Data Table 4 had two decimal places.
::::::::::::"we cannot use their numbers to say in wikivoice that python uses 75.88 times more electricity"
::::::::::::That is a straw man argument. My most recent edit was saying that the study found 75.88 times more electricity used in their benchmarks. [[User:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO]] ([[User talk:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|talk]]) 22:41, 30 August 2025 (UTC)
::::::::"developers have had way longer time to optimize (compiled) C implementations"
::::::::C is approximately 1.53 times older than Python. Python is 34 years old. C is 52 years old.
::::::::Both are old languages when compared with modern languages like Zig and Rust. Zig is 9 years old, and Rust is 13 years old. [[User:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO]] ([[User talk:Lxvgu5petXUJZmqXsVUn2FV8aZyqwKnO|talk]]) 22:32, 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)
|