Content deleted Content added
m Archiving 3 discussion(s) from Talk:Python (programming language)) (bot |
m Archiving 2 discussion(s) from Talk:Python (programming language)) (bot |
||
(5 intermediate revisions by the same user not shown) | |||
Line 48:
:Python is very similar to many languages that existed before it was created. Listing them, and trying to parse which was most influential, could be revisionist history. [[User:Paulehoffman|Paulehoffman]] ([[User talk:Paulehoffman|talk]]) 01:31, 21 November 2022 (UTC)
== External links ==
Maybe add some guides on how to use Python in the external links? [[User:GenZenny|GenZenny💖]] ([[User talk:GenZenny|talk]]) 07:33, 21 November 2022 (UTC)
:There's a billion and one guides on how to learn/use Python, which anyone with the most basic working knowledge of how to use a search engine could find. Linking to any particular guide would not only show preference towards it (could be seen as spam, unwanted promotion etc.), but also is outside the scope of this article. — [[User:Jumbo T|Jumbo T]] ([[User talk:Jumbo T|talk]]) 20:15, 21 November 2022 (UTC)
== Design philosophy and features is inaccurate ==
Suggest rewriting the [[Python (programming language)#Design philosophy and features]] section to reflect the actual language rather than PEP20. Specifically, [https://learning-python.com/python-changes-2014-plus.html commentators] [https://discuss.python.org/t/confusion-regarding-a-rule-in-the-zen-of-python/15927/2 have] [https://gist.github.com/RobertAKARobin/a1cba47d62c009a378121398cc5477ea criticised] [https://www.reddit.com/r/Python/comments/etz4ol/discussion_is_python_getting_better_or_bloated/ Python's] [https://pythonsimplified.com/the-most-controversial-python-walrus-operator/ additions] for [https://therenegadecoder.com/code/the-controversy-behind-the-walrus-operator-in-python/ violating] Python's design principles with unnecessary bloat and complexity. Would this be supported? [[User:BordenC|BordenC]] ([[User talk:BordenC|talk]]) 10:02, 22 December 2022 (UTC)
I would support this, as long as there was still a discussion of PEP20 along the lines of "the stated philosophy" ([[User talk:Paulehoffman|talk]]) 15:55, 22 December 2022 (UTC)
== New resource for historical info about Python ==
For any editors updating this page, I just noticed today that in November 2022 Professor Lambert Meertens published an article on "[https://inference-review.com/article/the-origins-of-python The Origins of Python]" in the journal Inference. It may be useful in that it covers a great amount of the history of ABC and Guido van Rossum's early development of python. (I unfortunately don't have the cycles myself to do any editing of this page right now.) - [[User:Dyork|Dyork]] ([[User talk:Dyork|talk]]) 13:07, 23 January 2023 (UTC)
== Good article reassessment needed? ==
This article has been listed as possibly requiring a [[WP:Good article reassessment]] for quite a while now. We're trying to empty this category (and possible deprecate it). Do editors here believe it still meets the criteria? My impression is that it's close, but that a few improvements are needed:
* Most importantly, I think the lead needs to be simplified to comply with [[WP:make technical articles understandable]]. The most difficult words in the lead for me are garbage-collected, structured programming, standard library, and what type of language ABC was. I think more emphasis should be put on uses of the language (simple to learn, large community and therefore loads of specific libraries, but slow).
** Occasionally, the body also misses opportunities to explain things simply "Python uses duck typing and has typed objects but untyped variable names.". Duck typing is easy to explain, but will be unfamiliar to many.
* There are occasional (potentially) uncited statements like:
** When speed is important, a Python programmer can move time-critical functions to extension modules written in languages such as C; or use PyPy, a just-in-time compiler. Cython is also available, which translates a Python script into C and makes direct C-level API calls into the Python interpreter.
** Most of the text in "Development environments"
* Some of the text may be in need of updates, such as:
** Cython compiles (a superset of) Python 2.7 to C (while the resulting code is also usable with Python 3 and also e.g. C++). I assume Cython now works with python 3?
** Should we cover the current project of making python faster? [https://www.zdnet.com/article/programming-languages-python-is-slow-but-its-about-to-get-faster/].
If no progress is made towards these issues, I'll list the article at GAR in a few weeks. Pinging top contributors: {{ping|Abductive|Comp.arch|Thumperward|Akeosnhaoe}}. [[User:Femke|—Femke 🐦]] ([[User talk:Femke|talk]]) 10:19, 29 January 2023 (UTC)
:I don't have anything to say about whether this needs reassessment, but I would strongly oppose removing the technical language you list from the lead. It's a well-established convention in articles about programming languages (see [[Rust (programming language)|Rust]], [[C (programming language)|C]], [[Perl]]) to describe their features using technical terms that may not be familiar to the general reader. Programming languages are a specialized subject; it is rather difficult to talk about them in a meaningful way without technical language. From the essay you linked: {{tpq|For highly specialized topics where it is difficult to give an overview in terms with which a general audience will be familiar, it may be reasonable to assume some background knowledge in the lead while linking to the prerequisites required to understand it.}}
:That said, this doesn't mean we can't add content to the lead about the uses, history and appeal of the language (in the articles linked above, large parts of the leads consist of this sort of content, and this article is indeed lacking). In fact, I'd strongly support this. — [[User:Jumbo T|Jumbo T]] ([[User talk:Jumbo T|talk]]) 11:47, 29 January 2023 (UTC)
::I do not believe Python is a highly specialized topic. It's probably the most common programming language out there, and is often used by those just starting to program. Information such as " cycle-detecting garbage collection, reference counting," for python 2 is not really relevant to most readers, and it is highly technical. Not saying that we should remove all jargon of course. You can't understand what python is without saying it's high-level, dynamically typed and so forth. We can take the example of [[Rust]], where jargon is either explained or contextualised (see second sentence). [[User:Femke|—Femke 🐦]] ([[User talk:Femke|talk]]) 12:02, 29 January 2023 (UTC)
:::I moved that Python 2 stuff out of the lead because I agree, it was relevant when Python 2 was the latest version but it doesn't make sense to have it in the lead anymore. [[User:Akeosnhaoe|Akeosnhaoe]] ([[User talk:Akeosnhaoe|talk]]) 12:50, 29 January 2023 (UTC)
:Without looking at the rubric, I support marking this down/re-assessing (whatever that means) because I can't call this article "good". It's written as an introduction to the language and it's a pretty complete high-level description of Python, which is hopefully helpful to beginners, but on the other hand it's just kind of an ugly article and repeats itself often. It's grown organically, with people adding small snippets and expanding/completing sections they care about with little to no regard for the entire article. It would be great for someone to sit down and systematically edit it, pare it down/reorganize stuff. And also remove more mentions of Python 2?
:> I think the lead needs to be simplified
:It would be nice but I don't think it can be in a useful way. You could make the edit and then we can discuss reverting the specific edit. For the audience that's familiar with programming languages, the list "significant whitespace, dynamic typing and garbage collection" is the first sentence you want to read. The stuff about "programming paradigms" is kind of [[Programming paradigm#Criticism|fluff]] in my opinion, all modern languages are "structured, object-oriented and functional", and I would support just removing it completely, but other people like to talk about that kind of stuff.
:> simple to learn, large community and therefore loads of specific libraries, but slow
:I agree that this kind of summary of what Python is in practice is good and writing it as a more explicit list into the article is a great idea. This article is trying to say these things in different places.
:> what type of language ABC was
:I don't think anyone is expected to know that. It's a link if you care to know how Python is connected to the past.
:> I assume Cython now works with python 3?
:No, as per the [[Cython]] article, there's a preview version that does but formally the current version still doesn't. Cython isn't that widely used. [[User:Akeosnhaoe|Akeosnhaoe]] ([[User talk:Akeosnhaoe|talk]]) 14:33, 29 January 2023 (UTC)
{{od}} no complaints from me: the areas highlighted are things that I've tried to tackle over the years, but any technical article on here tends to backslid towards trivia and pointless nitpicking if not strictly watched. In particular, all of the bulleted syntax stuff should be relegated to the syntax sub-article if not removed entirely. [[User:Thumperward|Chris Cunningham (user:thumperward)]] ([[User talk:Thumperward|talk]]) 06:46, 2 February 2023 (UTC)
== Semi-protected edit request on 6 August 2023 ==
{{edit semi-protected|Python (programming language)|answered=yes}}
Update latest beta release version - Python 3.12 0rc1 has been released (2023-08-06) [[Special:Contributions/86.130.253.139|86.130.253.139]] ([[User talk:86.130.253.139|talk]]) 14:51, 6 August 2023 (UTC)
:[[File:Pictogram voting wait.svg|20px|link=|alt=]] '''Already done'''<!-- Template:ESp --> via Wikidata —⁠'''[[User:PlanetJuice|PlanetJuice]]''' ([[User talk:PlanetJuice|talk]] • [[Special:Contribs/PlanetJuice|contribs]]) 20:19, 6 August 2023 (UTC)
== What platforms can run Python applications? ==
It would be good to know on what platforms and version Python can run on in a table, eg Windows, macOS, linux, iOS, Android, ... The table would probably need an explanation of any specific tools needed (frameworks, compilers). Also whether packaged packaged apps can be built that can be distributed (eg app store) to users without users requiring anything else to be installed.
An explanation of how features unique to each platform can be accessed would be useful. [[User:FreeFlow99|FreeFlow99]] ([[User talk:FreeFlow99|talk]]) 16:59, 6 March 2024 (UTC)
== Climate change ==
This page should mention that programming languages like Python that are not compiled into native executable code (e.g., they are interpreted or compiled into byte code that is run in a virtual machine) require more processor cycles for the same results compared to native executables. Therefore they use more power to execute, and they contribute more to climate change. Given the ubiquity of Python, a vast amount of power is wasted on interpretation or byte-code execution. [[Special:Contributions/209.145.84.194|209.145.84.194]] ([[User talk:209.145.84.194|talk]]) 20:08, 28 March 2024 (UTC)
:Do you have a source which describes this? The correlation between interpreted languages and climate change is not something I have seen described before. —<span style="font-family:Poppins, Helvetica, Sans-serif;">[[User:Panamitsu|Panamitsu]]</span> [[User_talk:Panamitsu|(talk)]] 23:59, 28 March 2024 (UTC)
::I've seen this mentioned before (don't have any immediate links) and it probably has some validity. But, I agree with Panamitsu that to actually include this we need good sources (I think more than one unless it's a really solid one) that discuss this and do a pretty complete analysis. Since this isn't unique to Python and there are other tradeoffs beyond just how the final applications are run. [[User:Skynxnex|Skynxnex]] ([[User talk:Skynxnex|talk]]) 13:21, 29 March 2024 (UTC)
::I can find a few reliable sources which suggest that Python does indeed use much more energy for the same tasks when compared with compiled languages like C.<ref>{{cite journal |last1=Abdulsalam |first1=Sarah |last2=Lakomski |first2=Donna |last3=Gu |first3=Qijun |last4=Jin |first4=Tongdan |last5=Zong |first5=Ziliang |title=Program energy efficiency: The impact of language, compiler and implementation choices |journal=International Green Computing Conference |date=November 2014 |pages=1–6 |doi=10.1109/IGCC.2014.7039169}}</ref><ref>{{cite journal |last1=Pereira |first1=Rui |last2=Couto |first2=Marco |last3=Ribeiro |first3=Francisco |last4=Rua |first4=Rui |last5=Cunha |first5=Jácome |last6=Fernandes |first6=João Paulo |last7=Saraiva |first7=João |title=Ranking programming languages by energy efficiency |journal=Science of Computer Programming |date=May 2021 |volume=205 |pages=102609 |doi=10.1016/j.scico.2021.102609}}</ref><ref>{{cite journal |last1=Koedijk |first1=Lukas |last2=Oprescu |first2=Ana |title=Finding Significant Differences in the Energy Consumption when Comparing Programming Languages and Programs |date=June 2022 |pages=1–12 |doi=10.1109/ICT4S55073.2022.00012 |journal=2022 International Conference on ICT for Sustainability (ICT4S)}}</ref> However, I find no studies examining a link with climate change. This could be because demonstrating such causality would, I imagine, be very difficult. I do wonder what the impact of language choice is, though, relative to e.g. the total power draw of all electronics in a country—it might be an interesting exercise to estimate how many GW (or perhaps only MW?) could be saved in your country by rewriting all Python programs in C. — [[User:Jumbo T|Jumbo T]] ([[User talk:Jumbo T|talk]]) 13:27, 29 March 2024 (UTC)
::Even if true that interpreted or VM run Bytecode compiled languages require more processor cycles, then the proper place for that discussion would be on the pages for those execution environments rather than on specific languages pages. I would also like to see the citations for that. But creating a link to climate change is an additional leap that again would require evidence. It's quite possible that despite requiring more processor cycles to run similar code there are other features that make it more efficient in practice, or even that python is a more amenable language for the creation of control systems for products that combat or mitigate against climate change - to be clear, that is a hypothesis without evidence but it does caution against a simplistic narrative: Python -> Byte code -> more cycles -> worse for environment. [[User:Crispyhull|Chris]] ([[User talk:Crispyhull|talk]]) 09:06, 2 April 2024 (UTC)
{{reftalk}}
== Naming ==
Python is named so, because the (long) code of the language looks like a snake/python. [[Special:Contributions/49.37.96.186|49.37.96.186]] ([[User talk:49.37.96.186|talk]]) 15:06, 28 June 2024 (UTC)
:{{Not done}} You have not provided [[WP:V|verification]] from a [[WP:RS|reliable source]] for this claim. This appears to be [[WP:OR|original research]]. [[User:Peaceray|Peaceray]] ([[User talk:Peaceray|talk]]) 18:36, 28 June 2024 (UTC)
== Disambiguation addition ==
So there are 2 articles. 1 is about a TLD and the 2nd one is a redirect to this article. I was wondering if I should redirect users to the [[PYC]] Disambiguation page. Please drop a opinion! [[User:Robloxguest3|Robloxguest3]] ([[User talk:Robloxguest3|talk]]) 00:45, 18 August 2024 (UTC)
:<small>I had reverted the addition of the hatnote since I didn't immediately think it was undue for the TLD ({{-r|.рус}}, which is actually made up of characters from {{slink|Cyrillic_script_in_Unicode#Basic_Cyrillic_alphabet}}).</small>
:I agree that it is/was difficult to get to the TLD articles since if a user types the latin ".pyc" you only see {{-r|.pyc}}, which is a redirect to this article. Just now the state was changed so that the latin .pyc has been retargeted to the TLD and the TLD has a hatnote added linking to the programming language. [[User:Skynxnex|Skynxnex]] ([[User talk:Skynxnex|talk]]) 14:57, 18 August 2024 (UTC)
::''Yeah I did that I think''. I kinda forgot if I did or not, but I'm pretty sure I did. '''Thanks for your reply!''' [[User:Robloxguest3|Robloxguest3]] ([[User talk:Robloxguest3|talk]]) 18:57, 18 August 2024 (UTC)
==Wiki Education assignment: Introduction to Technical Writing==
{{dashboard.wikiedu.org assignment | course = Wikipedia:Wiki_Ed/CSU_Los_Angeles/Introduction_to_Technical_Writing_(Fall_2024) | assignments = [[User:Christianjgarcia|Christianjgarcia]] | start_date = 2024-08-13 | end_date = 2024-12-17 }}
<span class="wikied-assignment" style="font-size:85%;">— Assignment last updated by [[User:Christianjgarcia|Christianjgarcia]] ([[User talk:Christianjgarcia|talk]]) 17:22, 2 October 2024 (UTC)</span>
== Ease of Learning ==
{{Inappropriate comment
|action=tag over
|reason=[[WP:TALK#PROPOSE]]
|comment=
Python is often considered one of the easiest programming languages to learn, making it accessible to people of all ages. Its simple, readable syntax emphasizes clarity, allowing beginners to quickly grasp fundamental programming concepts without being overwhelmed by complex rules. Even children can learn Python, thanks to its straightforward design and beginner-friendly resources. The language encourages an interactive learning experience, where users can immediately test and run code in a simple way, making it ideal for newcomers to programming.
Python's clean and consistent syntax reduces the learning curve, enabling new programmers to focus on solving problems rather than struggling with complicated syntax rules. This simplicity, combined with its powerful capabilities, makes Python an excellent choice for people who are just starting to learn coding. [[User:JadPythonWiki|JadPythonWiki]] ([[User talk:JadPythonWiki|talk]]) 15:44, 16 December 2024 (UTC)
}}
:{{Not done unclear}} Merely pasting text onto a talk page will not get anything done. Is this a change that you want to see incorporated into the article? Please be specific about the change(s) that you want. [[User:Peaceray|Peaceray]] ([[User talk:Peaceray|talk]]) 17:10, 16 December 2024 (UTC)
== Syntax for Beginners ==
{{Inappropriate comment
|action=tag over
|reason=[[WP:TALK#PROPOSE]]
|comment=
Python's syntax is designed to be simple and easy to read, contributing to its popularity as an introductory programming language. Some key features of Python's syntax include:
* '''Print Function''': Python uses the <code>print()</code> function to output data to the console. Unlike many languages, Python does not require semicolons at the end of statements, making it more readable.
* '''Variable Assignment''': Python is dynamically typed, meaning variables are assigned values directly without the need to declare their type. The type is inferred based on the assigned value. Example: <code>name = "JadPythonWiki"</code>
* '''Indentation''': Python uses indentation, rather than braces <code>{}</code>, to define blocks of code. Indentation must be consistent to avoid errors, making Python code clean and readable.
* '''Input''': Python uses the <code>input()</code> function to receive user input. By default, the input is returned as a string, which can be converted to other types if necessary.
* '''Comments''': Python supports single-line comments, which begin with the <code>#</code> symbol. Comments are ignored by the interpreter and are used to document the code.
* '''Function Definition''': Functions in Python are defined using the <code>def</code> keyword, followed by the function name and parameters in parentheses. Python functions can return values using the <code>return</code> statement.
[[User:JadPythonWiki|JadPythonWiki]] ([[User talk:JadPythonWiki|talk]]) 15:53, 16 December 2024 (UTC)
}}
:{{Not done unclear}} Merely pasting text onto a talk page will not get anything done. Is this a change that you want to see incorporated into the article? Please be specific about the change(s) that you want. [[User:Peaceray|Peaceray]] ([[User talk:Peaceray|talk]]) 17:10, 16 December 2024 (UTC)
|