Content deleted Content added
Blaze Wolf (talk | contribs) m Rollback edit(s) by 139.135.241.110 (talk): Don't mess with other peoples' comments (RW 16.1) |
m irrelevant to topic. Undid revision 1306363655 by 2409:40E7:65:A69B:8000:0:0:0 (talk) |
||
(31 intermediate revisions by 15 users not shown) | |||
Line 73:
:What a pedantic message. [[User:Kwikygoat|Kwiky]] ([[User talk:Kwikygoat|talk]]) 19:04, 19 September 2023 (UTC)
:I suspect we disagree on the answer, but I do agree that the definition of programming language seems to be totally relative throughout the entire article. [[User:Theaceofthespade|Theaceofthespade]] ([[User talk:Theaceofthespade|talk]]) 23:28, 28 February 2025 (UTC)
== Defining the term "programming language" properly ==
Line 117 ⟶ 118:
Could a cleanup tag/tags be added? I'm not an experienced Wikipedian so I'm not sure what needs to be done. [[User:Squoop|Squoop]] ([[User talk:Squoop|talk]]) 01:19, 28 October 2023 (UTC)
:Your concerns are valid ... but not actionable. Need more detail on what you think is needlessly verbose, irrelevant and unsourced. [[User:Stevebroshar|Stevebroshar]] ([[User talk:Stevebroshar|talk]]) 12:54, 10 May 2024 (UTC)
== Source code example's usage of method ==
Line 167 ⟶ 170:
:{{Done}}, [[User:Sohom Datta|Sohom]] ([[User talk:Sohom Datta|talk]]) 08:40, 24 January 2024 (UTC)
==Edit request 2==
{{edit COI|answered=yes}}
Please change the content of the "Type system" section, after the hatnote, to:
{{collapse top}}
Line 190 ⟶ 193:
{{talk ref}}
{{collapse bottom}}
:I'm a bit worried about the whole article becoming a summarization of this book. This is a really good starting point, but I think we should try to work in other material. [[User:Snowmanonahoe|Snowmanonahoe]] ([[User talk:Snowmanonahoe|talk]] '''·''' [[Special:Contributions/Snowmanonahoe|contribs]] '''·''' [[User:Snowmanonahoe/Typos|typos]]) 13:20, 18 April 2024 (UTC)
==Edit request 3==
Line 199 ⟶ 204:
==Edit request 4==
{{edit COI|p|answered=yes}}
Please:
*Remove the unsourced section titled "Standard library and run-time system". I checked several textbooks on PL, including Sebesta 2012, ''[https://link-springer-com.wikipedialibrary.idm.oclc.org/chapter/10.1007/978-3-031-34144-1_13 Programming Languages: Principles and Paradigms]'', and ''[https://www-cambridge-org.wikipedialibrary.idm.oclc.org/core/books/practical-foundations-for-programming-languages/3D852B5A14F48F85C60B95A0BBCAB7D9/listing?q=standard+library&fts=yes&searchWithinIds=3D852B5A14F48F85C60B95A0BBCAB7D9&aggs%5BproductTypes%5D%5Bfilters%5D=BOOK_PART Practical Foundations for Programming Languages]''. They either don't mention standard libraries at all or barely mention them, without enough content to source a stand-alone section. Instead, I mention standard libraries in the new version of the "Design and implementation" section.
Line 246 ⟶ 251:
::Does this answer your question? [[User:Buidhe paid|Buidhe paid]] ([[User talk:Buidhe paid|talk]]) 06:53, 5 April 2024 (UTC)
:::Thanks for the info. I'll have to take a closer look. [[User:STEMinfo|<span style="color: red;">STEM</span><span style="color: green;">info</span>]] ([[User talk:STEMinfo|talk]]) 17:44, 5 April 2024 (UTC)
::::{{ping|Buidhe paid}} I replaced the Implementation section, and as you pointed out, the Specifications section is unchanged. I've read up about the standard library, and I'm not seeing how it helps readers to remove the section. It's clearly an element of every programming language, which you can tell just by doing a simple phrase search with quotes for "standard library". I'm reluctant to remove it. Feel free to discuss further. I'm still reviewing your opening text and the tradeoffs section. [[User:STEMinfo|<span style="color: red;">STEM</span><span style="color: green;">info</span>]] ([[User talk:STEMinfo|talk]]) 20:49, 12 April 2024 (UTC)
:::::{{ping|Buidhe paid}} I'm not convinced that your version is enough of an improvement to remove the information about natural languages and the reasons for having diverse programming languages, unsourced or not. You also removed the segue to the specification and implementation sections, and accidentally introduced a typo that changes the meaning.
{{Textdiff|[[Edsger W. Dijkstra]] took the position that the use of a formal language is essential to prevent the introduction of meaningless constructs, and dismissed [[natural-language programming]] as "foolish".<ref>Dijkstra, Edsger W. [http://www.cs.utexas.edu/users/EWD/transcriptions/EWD06xx/EWD667.html On the foolishness of "natural language programming."] {{webarchive|url=https://web.archive.org/web/20080120201526/http://www.cs.utexas.edu/users/EWD/transcriptions/EWD06xx/EWD667.html |date=20 January 2008 }} EWD667.</ref> [[Alan Perlis]] was similarly dismissive of the idea.<ref>{{cite web|last=Perlis|first=Alan|url=http://www-pu.informatik.uni-tuebingen.de/users/klaeren/epigrams.html|title=Epigrams on Programming|work=SIGPLAN Notices Vol. 17, No. 9|date=September 1982|pages=7–13|url-status=live|archive-url=https://web.archive.org/web/19990117034445/http://www-pu.informatik.uni-tuebingen.de/users/klaeren/epigrams.html|archive-date=17 January 1999}}</ref>|[[Edsger W. Dijkstra]] took the position that the use of a formal language is essential to prevent the introduction of meaningless constructs.<ref>Dijkstra, Edsger W. [http://www.cs.utexas.edu/users/EWD/transcriptions/EWD06xx/EWD667.html On the foolishness of "natural language programming."] {{webarchive|url=https://web.archive.org/web/20080120201526/http://www.cs.utexas.edu/users/EWD/transcriptions/EWD06xx/EWD667.html |date=20 January 2008 }} EWD667.</ref> [[Alan Perlis]] was similarly dismissive of the idea.<ref>{{cite web|last=Perlis|first=Alan|url=http://www-pu.informatik.uni-tuebingen.de/users/klaeren/epigrams.html|title=Epigrams on Programming|work=SIGPLAN Notices Vol. 17, No. 9|date=September 1982|pages=7–13|url-status=live|archive-url=https://web.archive.org/web/19990117034445/http://www-pu.informatik.uni-tuebingen.de/users/klaeren/epigrams.html|archive-date=17 January 1999}}</ref> }}
:::::I'm going to leave this open but I think you can propose changes while also preserving more of the existing content. [[Special:Contributions/68.5.3.227|68.5.3.227]] ([[User talk:68.5.3.227|talk]]) 22:02, 12 April 2024 (UTC)
:::::Agreed. Marked partially answered. [[User:STEMinfo|<span style="color: red;">STEM</span><span style="color: green;">info</span>]] ([[User talk:STEMinfo|talk]]) 22:20, 12 April 2024 (UTC)
The issue with UNDUE hasn't been resolved, because due weight is based on coverage in reliable sources about "programming languages" in general. Many languages do have a standard library, but that fact by itself doesn't mean that it's DUE to cover them extensively in this high-level overview. "Natural language programming" never took off the ground, and the content about it is also UNDUE. ([[Wikipedia_talk:Featured_article_candidates#How_to_assess_comprehensiveness_of_wide-scope_articles|relevant discussion]]) [[User:Buidhe paid|Buidhe paid]] ([[User talk:Buidhe paid|talk]]) 02:20, 13 April 2024 (UTC)
:If every programming language has a standard library, why is it bad to have a standard library section? [[User:STEMinfo|<span style="color: red;">STEM</span><span style="color: green;">info</span>]] ([[User talk:STEMinfo|talk]]) 01:22, 14 April 2024 (UTC)
{{reflist-talk}}
==Edit request 5==
Line 307 ⟶ 323:
<span class="wikied-assignment" style="font-size:85%;">— Assignment last updated by [[User:KAN2035117|KAN2035117]] ([[User talk:KAN2035117|talk]]) 22:51, 3 April 2024 (UTC)</span>
== Wiki99 summary ==
Summary of changes as a result of the Wiki99 project ([https://en.wikipedia.org/w/index.php?title=Programming_language&oldid=1196138139 before], [https://en.wikipedia.org/w/index.php?title=Programming_language&oldid=1238699127 after], [https://en.wikipedia.org/w/index.php?title=Programming_language&diff=1238699127&oldid=1196138139 diff]):
*Rewrite much of the article from reliable sources, fixing some of the unsourced content issues
*Condense history section per [[WP:SUMMARYSTYLE]], as the details are already covered in another article
*Add information about some programming language issues, such as tradeoffs between different desirable qualities that are mutually exclusive
Further possibilities for improvement:
*Rewrite the parts of the article that I did not get to, such as the semantics and syntax sections, according to coverage in reliable sources
*Get the article to good article status
[[User:Buidhe paid|Buidhe paid]] ([[User talk:Buidhe paid|talk]]) 07:13, 5 August 2024 (UTC)
==Wiki Education assignment: IFS213-Hacking and Open Source Culture, Fall 2024==
{{dashboard.wikiedu.org assignment | course = Wikipedia:Wiki_Ed/Mesa_Community_College/IFS213-Hacking_and_Open_Source_Culture,_Fall_2024_(Fall) | assignments = [[User:Pbblombo1!|Pbblombo1!]] | reviewers = [[User:Sagethehero|Sagethehero]] | start_date = 2024-09-03 | end_date = 2024-12-13 }}
<span class="wikied-assignment" style="font-size:85%;">— Assignment last updated by [[User:KAN2035117|KAN2035117]] ([[User talk:KAN2035117|talk]]) 02:34, 30 October 2024 (UTC)</span>
== Definitions Section ==
The "definitions" section isn't really... a definitions section at this point. I suggest this current section should be separated out into two sections: "Formal definitions" and "informal definitions." I'm happy to take it on, but it seemed like a big change so I figured I'd put it here for discussion for input before presuming to rewrite a bunch. I know this is long - but that's so that this could serve as a sort of rough rough draft for feedback in regard to how I think the section should be restructured if the objections aren't too strong - just trying to lay it all out.
'''I suggest this for a few reasons '''(also note that I am not working hard to hide any "bias" here, but would endeavor to steelman any viewpoints I wrote about in the actual article):
'''1) Formal Definitions are important but obscure/nuanced''' The more stringent, formal definitions are, frankly, not super useful outside of theoretical conversations (and I say this as someone who does in fact use those definitions). In computer science, the emphasis of a "programming language" was actually on the fact that it resembled *written language* (vs punch cards). For a long time the goal (and arguably marketing) was around developing programming language technology to the point that it would essentially reach natural speech.
This distinction about input style is still extremely important, especially for contemporary discussions about LLM's, for example. But now that programming languages are abundant and common, most people do not find themselves making this distinction, leading to a sort of "drift" in the meaning of the term as its original meaning becomes *colloquially* irrelevant.
'''2) Trying to cite/support this section is a nightmare right now''' There are many informal definitions scattered throughout this and other sections, but they are not explicitly labeled, nor their merits discussed. Aside from there surely being some high quality definitions out there to cite, this has lead, in my opinion, to citations that attempt to prove the *validity* of a definition rather than cite its usage or source. For example, one citation simply stated "x language is not a programming language" as a way to show that some authors use the term "computer languages for things that aren't considered programming languages" (or specifically give an example of a term it might be used for) - and while this does demonstrate that there are "languages that some authors don't consider programming languages," the author was not asserting that it was a "computer language" or referencing the term (at least not that I could find). To demonstrate why this makes no sense, I could just as easily cite that as evidence that people use the term L33TCOD3 to describe things that aren't considered programming languages. And that's not to say the validity of the definitions shouldn't be discussed - merely that it should be done so explicitly.
'''3) Informal definitions fall into tidy but distinct categories''' There are several "batches" of informal definitions, each with their own utility/limitations, and these are worth discussing in contrast to more formal/historical definitions. These are the groups as I see them, and some of the utility they lack vs the more formal definitions - I believe people tend to informally mix/match these (and obviously in a full writeup I would cite sources):
'''Programming Languages Are Compiled'''- many people will use compilation as a standard for whether or not something is a "real" programming language, usually arguing that an interpreter makes it a "scripting" language. This definition does not to do a good job describing virtual-machine based language implementations
'''Programming Languages Must be Turing Complete''' - the reason people think this is obvious, but an important misconception is that this test is meant more generally for instruction/mathematical operation sets and is just able to be applied to programming languages as a result. Like much of Turing's work, it was just so solid that we can continue to use it for things he never even got to see, and programming languages inherently overlap with instructional sets by design - but at the end of the day Turing Completeness just means being able to accomplish the same things as a certain class of machine he made up (not to diminish the concept, it's a really important machine that does a lot).
'''Programming Languages must be imperative/have logic/control structures''' - this perception often arises due to the popularity and power of imperative programming languages - however as the name suggests (and this article even mentions several times), that's formally a *subset* of programming languages. Declarative programming often "feels" less like programming because it is not as concerned with how the task is going to be accomplished, but the original distinction of instructing a machine with language was not concerned with that sort of distinction.
I'm open to any feedback/discussion on this - I'm relatively new to editing here, but this is my field and I am happy to elaborate on or support anything that seems subjective/biased (or just own if its a bias ). I really think this would both represent these viewpoints more clearly, and contextualize why people might have differing ones "in the wild" [[User:Theaceofthespade|Theaceofthespade]] ([[User talk:Theaceofthespade|talk]]) 18:28, 2 March 2025 (UTC)
== A programming language is for writing programs ==
WRT "A programming language is a system of notation for writing computer programs."
Natural language is writing books. ...And a whole lot of other stuff.
Also, it's not just about writing. I could ''generate'' and that's not what I'd call writing. So, maybe 'authoring' is better word.
Thing is, it's not wrong but it's not accurate and it's grandiose. I can use a programming language to write a fragment or code that's never compiled into a program or compiled into a library. A language defines the rules for writing source code. Maybe less sexy, but that's all it is. If you love the 'notation' word, then: a programming language is notational system for encoding the control of a computer. [[User:Stevebroshar|Stevebroshar]] ([[User talk:Stevebroshar|talk]]) 02:12, 9 July 2025 (UTC)
== An implementation of a programming language ==
WRT "An implementation of a programming language is required in order to execute programs"
A compiler/interpreter is not an 'implementation' of a language. A compiler/interpreter understands and conforms to a language. [[User:Stevebroshar|Stevebroshar]] ([[User talk:Stevebroshar|talk]]) 02:18, 9 July 2025 (UTC)
|