Talk:C (programming language): Difference between revisions

Content deleted Content added
Lfwlfw (talk | contribs)
No edit summary
Line 1:
{{Skip to talk}}
Do you think it's good to use [[:C_programming_language/Evolution|Evolution]] for writing down the changes, or [[:C_programming_language/K and R C|K and R C]] will suffice? Thanks, [[:Uriyan|Uriyan]]
{{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? ==
Actually I don't think either topic deserves a sub-page. I think a section on the main page would do. --[[:drj|drj]]
----
:=== Eccentricity ===
 
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.
:In C, the months of the year are numbered wrong. They are all low by 1. For example: January is month 0. December is month 11. This is not an obvious problem to English-speakers, but if your native language uses numbers to name the months of the year...
 
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)
Numbering from 0 is not eccentricity. It's how computers think. --[[:Taw|Taw]]
 
: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)
:That also has nothing at all to do with the C language, but with the standard libraries--that distinction should be made. --LDC
 
== C is a compiled language ==
I don't even think thats an eccentricity since its fairly common in programming to do it that way --Alan D
 
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)
:Fairly common today, but it wasn't in the Good Old Days. That makes it a fad, albeit a fairly long running one. Hint: make a list of languages since Day 1 and see when numbering from 0 began. GregLindahl
:{{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. —&nbsp;[[User:Jkudlick|Jkudlick]]&nbsp;&#x2693;&nbsp;[[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? ==
Java uses the same numbering scheme. Possibly because there is a zero-based array of month names. Although numbering from zero in both C and Java is more of a convenience for the routines that perform array handling than anything else. If your array starts at ___location AC00, the address of the 0th element is AC00, the address of element 1 is AC00 + element_length, the address of the 2nd element is AC00 + 2 * element_length, and so on. I prefer to start at element 1, but we're all pretty much stuck with the convention. (Perhaps I'll step up and start writing about software engineering, something I actually have some expertise in.) [[:Ed Poor|Ed Poor]]
-----
 
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]].
Example date (works for C and Java): May 29<br>Month=4, day=29
<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">&nbsp;🌈&nbsp;</span>[[User talk:Remsense|<span lang="zh" style="color:#fff">'''论'''</span>]]</span> 23:32, 12 June 2025 (UTC)
Why is the month shifted but not the day of the month? Besides, if it is "the month is not a number", you deserve a slap in the face from your Korean (or Japanese or Chinese) secretary; ask her about it! In all these languages, May is literally "five month". (I think.) -- Juuitchan
: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 ==
Yes, but you'd translate it into english as 'month five' if you didn't want to use the name - &#20116;&#26376; is how you'd write it in chinese characters.
 
. [[User:Tankfarter|Tankfarter]] ([[User talk:Tankfarter|talk]]) 05:38, 28 July 2025 (UTC)
If you want to blame someone for the system in use, I'd suggest starting with the Jesuits, who as the scientific wing of the catholic church spread clockwork and steel cannons across much of asia. They also brought their date systems with them, which is why a 24 hour clock and seven day week is pretty much universally accepted.
 
== Energy Usage ==
The difference between day and month in terms of indexing can be reduced to that of the difference between both nominal and cardinal values and ordinal values.
 
This whole section is absolutely bizarre:
The system we use uses nominal values for months, and ordinal values for days and years. It should probably use ordinal values for the lot. Note, though that Korean (and I expect Japanese and Chinese) uses cardinal values, rather than ordinal values for month. O-Ueol (&#20116;&#26376;) vs' O-Beon-JJae-Ueol (&#20116;&#30058;&#51704;&#26376;), except that normally the chinese characters aren't used in the second case.
 
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]
This was probably far more than you wanted to know, but the point is that given that there are trivial mappings between these forms, the particular representation format chosen isn't that big a deal.
 
But this line in particular:
If you want to see _real_ problems with computational notions of time, I'd refer you to 'A Long, Painful History of Time' (Erik Naggum [http://heim.ifi.uio.no/~enag/lugm-time.html]).
 
C uses approximately one-eightieth the energy that Python, Perl, and PHP do.[17]
-- 203.231.161.129
 
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 claim that C is the dominant microcomputer applications language is now somewhat dubious, IMHO. In the Windows world, it's probably a toss-up between Microsoft's C++ and Visual Basic, I'd guess. C still rules for embedded systems (that is, the ones not written in Assembler), in the Unix world (particularly for apps that don't have a GUI), and people who can't be bothered remembering C++'s arcane semantics for multiple inheritance and operator overloading :) --[[:Robert Merkel|Robert Merkel]]
 
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)
:How much Visual C++ is actually plain C with a tiny bit of C++ here and there? GregLindahl
: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">&nbsp;🌈&nbsp;</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">&nbsp;🌈&nbsp;</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">&nbsp;🌈&nbsp;</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">&nbsp;🌈&nbsp;</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">&nbsp;🌈&nbsp;</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 ==
::Good question, but one which I don't know the answer to. The only big Windows development project I ever saw was in "real" C++, with a class hierachy etc. etc. It was an absolute PITA to work with, though - in the end I just gave up and wrote the code I needed by monitoring a socket interface this code had with a socket monitor I ginned up with [[:Cygwin|Cygwin]].--[[:Robert Merkel|Robert Merkel]]
 
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)
:Any windows programming that uses MFC is making extensive use of C++, just by virtue of modelling windows in terms of objects. I think that's actually a good portion of Visual C++ programming.
 
: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)
:Yup. Visual C++ (the language) is mostly C++. Of course, the product Microsoft Studio, Visual C++, has compilers for both the language C and the language C++ (and options to turn microsoft extensions to both of those language on or off). Secretly the two compilers are the same, but accepting different input languages.
::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"
Recent stats of what percent of code in RedHat distro is written in which programing language,
::::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?
clearly shows that C is dominant, at least on Unices. It's very probable that C++ is much more
::::"Incidentally it goes without question that more efficient languages consume less energy."
popular on Windoze world, but I seriously doubt that many apps are written in VB. --[[:Taw|Taw]]
::::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"
Are we talking commercial apps or what? VB is insanely popular inside IT departments, but for commercial software its always been limited by that damn runtime DLL. C++ seems to rule commercial apps. As for C, its probly less common on windows than C++ at this point.
::::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.
How can I learn C++ [[User:Vera Cruz|Vera Cruz]]
::::::"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.
It would be nice to have links to an online manual and online tutorials. There probably are some with under the [[GNU Free Documentation License]]. --Hirzel
::::::"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)
comp.lang.c (a wonderful resource for C, btw -- some very competent people there) recommends Tom Torfs' tutorial at http://www.geocities.com/tom_torfs/c.html and Steve Summit's class notes at http://www.eskimo.com/~scs/cclass/cclass.html.
:::::::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.
Honestly, most online tutorials for C are terrible and demonstrate that the author has little clue about the actual C standard. --[[User:mgmei|mgmei]]
::::::::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"
Moved from article:
::::::::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)
:''C is a [[high level language]], meaning that the source code of a program can be written without detailed knowledge of the computer's [[Central processing unit|CPU]] type. Before the program can be used, the source code must be translated into the required [[machine language]] by a [[compiler]]. In contrast, programs written in an [[assembly language]] can only be run on one type of CPU.''
:::::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)
:''(The above definition of [[high level language]] is not meaningful. Consider the evolution of the x86 instruction set toward virtual machinehood. Does this mean that x86 assembly is a high level language?)''
 
I'm not sure what 203.231.161.129 means about "virtual machinehood", but I can see that under this definition, x86 assembly language could be considered a high level language due to the existence of emulators. -- [[User:Tim Starling|Tim Starling]] 07:54 26 Jun 2003 (UTC)
 
Modern x86 implementations are more and more moving toward risc cores running virtual machines (in microcode or whatever) which provide x86 compatible instruction sets. Hyperthreading for example, is a case of attempting to exploit such an underlying architecture without affecting the definition of the x86 machine (ie, mapping many registers to the x86's few, so that you can increase some hparallelism).
 
In this regard the x86 architecture is shifting toward defining a virtual machine, much like JVM, rather than specifying a hardware cpu. Not that there is a meaningful distinction in any case.
 
Likewise, we can see C programs running in a virtual machine defined by the C standard, and supported by the runtime structure of the binary produced.
 
High and low level are fundamentally ideological terms, and have almost no objective meaning, nor objective definition what-so-ever. So far the only meaningful definition of level that I've found has been in terms of 'the ability to express invariant structure' with more being higher level. Note that by this definition, python ends up being only slightly higher than assembly, since it has almost no ability to define invariant structure.
 
I wish people would stop using these terms, anyhow, as they are very silly.
 
-- 203.231.161.129
 
----
 
The page says the language B got its name from BCPL. But [[http://wombat.doc.ic.ac.uk/foldoc/foldoc.cgi?B|Wombat]]'s encyclopedia says this is wrong. It says "B had nothing to do with BCPL. B was in fact a revision of an earlier language, '''bon''', named after Ken Thompson's wife, Bonnie."<br/>
[[User:Jay|Jay]] 22:44 5 Jul 2003 (UTC)
 
 
----
 
I see that the spelling "behaviour" in place of "behavior" is used in the [[C programming language]] article. My copy of the C Standard uses "behavior". Should this Wikiopedia article use spelling consistent with the C language Standard? Or, maybe there is more than one English language version of the C Standard? [[User:Lfwlfw|LarryW]] 01:57, 3 Aug 2003 (UTC)
 
:I think we should use the spelling of the ISO C standard for technical terms such as ''undefined behavior'' and ''unspecified behavior''. I'm pretty sure that there's only one official English-language version of the ISO standard (at least for C99). --[[User:Zundark|Zundark]] 10:31, 3 Aug 2003 (UTC)
 
:: OK -- [[User:Lfwlfw|LarryW]] 23:16, 3 Aug 2003 (UTC)