Content deleted Content added
m Archiving 2 discussion(s) from Talk:Python (programming language)) (bot |
m Archiving 2 discussion(s) from Talk:Python (programming language)) (bot |
||
Line 60:
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)
|