This is an archive of past discussions. Do not edit the contents of this page. If you wish to start a new discussion or revive an old one, please do so on the current talk page. |
Archive 1 | Archive 2 | Archive 3 | Archive 4 | Archive 5 |
Why is it that the Python article doesn't go into detail about the idiosyncrasies, caveats, and disadvantages of using Python? The Critism Section of the Java article is rather well thought out, it would be nice to see something similar for Python. This would be especially useful for people deciding whether to use Java or Python. Some aspects that I would like to see put in:
Note: This is coming from predominantly a Java programmer. I don't quite have the "pythonic" mindset down so I've brought this over to the discussion page to not litter the main article. Overall I think it's a great language, I just think we'd do it more justice to evaluate disadvantages also.
A recent edit inserted an unencyclopedic disparagement of PyPy. Something to the effect that it "wanted to be faster than C, but that's absurd." The comment is not phrased appropriately, in any case, but as background, such a goal is actually not absurd. I'm not saying it will be accomplished, but it is not impossible in principle.
PyPy builds on the work in Psyco, which is a nice project. Specifically, Psyco can (and does) dynamically build machine code for execution of particular code paths and type constraints. Specializations can be quite highly optimized, and some of this optimization is only available at runtime, not during a static compilation (such as in a C program).
To take a small example, suppose you need to loop over a list of "thingamagigs"—e.g. a bunch of PyObject structures. A C program dealing with those structures would need to test some structure members during each pass through the loop, then branch to different actions based on those members; say do something different with a float, int, and string that were wrapped in a PyObject structure. Pscyo—and by extension PyPy—might be able to determine that during the next million passes through the loop, the structure always holds an int, and therefore skip the dereferencing and branching steps for those million passes. In other words, the specialization goes faster than the "generic" C code, based on state that can only be determined at runtime.
It may not work this way often enough to actually get "faster than C", but the possibility exists conceptually. Lulu of the Lotus-Eaters 17:31, 2005 May 22 (UTC)
Are u sure this article is in proper categories? Liso 10:20, 24 May 2005 (UTC)
Maybe, maybe not. Python was named after Monty Python. Eric B. and Rakim 08:35, 15 Jun 2005 (UTC)
What's the story with someone(s) reinserting the broken and redundant link to Dive into Python. It's a fine book, but there's already an external link to it. Why the extra link to a removed Wiki page, without even putting the link into the grammatical context of the reference? Lulu of the Lotus-Eaters 06:17, 2005 Jun 7 (UTC)
I'm sorry - I should have paid more attention to the diff. My bad - but go easy on me, I'm new at this. How does one resolve a copyright issue? I've taken all the steps that the message tells me to, but nothing seems to change. Am I supposed to revert the page myself? I've even rewritten it (the original had room for improvement) on the Dive into Python/Temp page ... I don't know what to do next.
The idea of eliminating tabs for indentation has been floating around the Python community for at least 7 years. But it's never happened yet, nor been pronounced for the future by the BDFL anywhere I've seen. Does the editor who added it to the article have some specific evidence of this? Lulu of the Lotus-Eaters 15:46, 2005 Jun 10 (UTC)
This is "Mac Classic" rather than "Mac OS" for a reason. "Mac OS" includes the two disjoint subsets "Classic" and "Mac OS X". "Mac OS X" has already been listed as one of the most popular platforms Python runs on; now "Mac Classic" is listed as another platform it runs on. OK?
I remove the sentence about the MacPython IDE, which was wrong. It belong to a section about IDEs and editors, if we need one. -- Nir Soffer 07:36, 26 Jun 2005 (UTC)
I removed the talk about this, its not important or interesting, and also not very effective. There is not much point in this kind of info in this page. The page is already too long, see the note when you edit the page.
I wish to mention that Stackless Python has not supported continuations since early 2002, as I explain in Talk:Stackless_Python. Maybe Section 6, Other Features should be updated. -- Lenard Lindstrom 18:47, 24 July 2005 (UTC)
The size is not only a technical limit, see Wikipedia:Article_size.
While it is true that both java and .Net have immutable String classes, I don't think it is worth mentioning in the context of the base types section, in the interest of keeping the article length down. Could I also suggest that comparisons to other languages are kept to languages that have share a lineage with python, at least when discussing specific language features? -- Kenliu 20:32, 30 August 2005 (UTC)
I have decided to remove all other comparisons. Python page is long, and it's maybe better to compare the language features on the pages about each feature (that's why links are here for). But I won't enforce this. Btw, a good recent comparison of Python and Ruby is [1]. Samohyl Jan 20:37, 31 August 2005 (UTC)
Python Haskell Perl C/C++ Java Pascal Ruby ... Block marking: Offside Offside/{} {} {} {} begin/end begin/end,{} List compr Yes Yes No* No No No No* ... [*] Code-blocks fill a similar role to listcomps in this language
I've made a couple of changes to the Web references section that I hope aren't stepping on any toes, but if anyone disagrees I'll put my rationale here and we can discuss:
Please let me know of any disagreement. Thanks, PhilipR 14:48, 23 September 2005 (UTC)
An editor added this text:
However, this idea of removing lambda/map/filter/reduce has been floating around since at least Python 1.5.2. It's always been suggested as something that "many people would like", but I have never seen an actual pronouncement on this (except in the hypothetical context of the great, incompatible, Python 3000; that's a half joking way to talk about some distant future).
If the editor can provide a citation to a specific statment by GvR, I'm fine with including that. Otherwise, it's just speculation. Lulu of the Lotus-Eaters 05:49, 29 September 2005 (UTC)
Please consult the link I added to the External links section. Straight from the BDFL's mouth. Jogloran 08:50, 29 September 2005 (UTC)
About map, filter and reduce: The article states that Python 3000 "will not support" them, but i'm pretty sure the official plan has always been merely to remove them from the builtin namespace, not from the language entirely. In other words, they're being moved to the standard library, which is very different to what the article is suggesting.
Also, the reason given for the lambda syntax's deprecation ("lambda is irrelevant with the advent of nested functions") sounds entirely non-sensical to me: the advent of nested scopes affected lambda and def functions equally (both map to the same underlying implementation, anyway). Instead, the reason lies primarily with the fact that the syntax is ugly and unpythonic, and/or limited to a single expression (depending on who you ask).
I think the general feeling is that if a good syntax for anonymous functions is found, it will replace lambda, possibly before Python 3000, even. (Compare this situation to the conditional expression syntax that was recently decided upon, after being kicked around for years in online discussion.)
-- Piet Delport 10:53, 27 January 2006 (UTC)
This article is in need of shortening. I can think of a couple of segments that could (and should) be trimmed, but there is also much useful detail that definitely can't be removed. Clearly, at least one daughter article needs to be created. One on Python syntax might be a good idea. And maybe another page on semantics, the object system, idioms, or some combination thereof... but I'm not sure how it should be named and focused. List of Python software is obvious, though. Thoughts? Fredrik | talk 21:19, 29 September 2005 (UTC)
Pythonistas who are WP editors might be interested in Wikipedia:Articles for deletion/David Mertz. Yeah, that's me under a non-Wikipedia name; but I think my noteriety is most significant in the Python community. Folks who know (of) me could "do me a solid".
Btw. While we're at it, we could really use articles Tim Peters (computer guy), Alex Martelli, Mark Pilgrim, Fredrik Lundh, Uche Ogbuji, Cameron Laird, and others whom I'm forgetting just now. Lulu of the Lotus-Eaters 06:03, 10 October 2005 (UTC)
I saw that the link to the Python wikipedia bot was kept before on the grounds it's not just a self-reference. However: if we weren't editing Wikipedia right now, would we care at all that pywikipedia existed? Why not include, for example, IRC bots written in Python?
pywikipedia, when you come down to it, is just another tool that's written in Python. on the level of many thousands of others. It doesn't even have a Debian package. I can't see any motivation to include it in this article besides the self-reference.
RSpeer 17:45, 11 October 2005 (UTC)
First of all, my congratulations for the Pythonists for such an interesting and enlightening article about Python.
I'm considering to extend the text on the object-oriented side of Python to include the class notation. Some comparisons of Python's features with the ones from C++ and Java may help enlight the newcomer to Python.
I'm afraid the article will become a little too long. Should a new article be started to discuss this ?
Regards, -- Hgfernan 17:31, 15 October 2005 (UTC)
I've added reference to Vampire: The Masquerade - Bloodlines which uses python for scripting. Because the game is based on Valve's Source engine used in Half-Life 2, I'm not sure if this is specific to the Vampire game, or is it part of the engine. If someone knows the latter is true, please change my addition to reference the engine instead of the mentioned game. -- Arny 03:46, 23 October 2005 (UTC)
I would rather avoid listing text editors in this already over-long article. It's extremely peripheral to the topic of Python as a programming language that some particular text editor (or IDE, inasmuch as there is a difference) happens to have some bindings to customize it for Python. In most cases, editors likewise have bindings for many other languages. Some other article on "programming editors" or the like would be a more appropriate place to list such things. Lulu of the Lotus-Eaters 03:29, 26 October 2005 (UTC)
The section "Logical operators" is hard to understand to me. I'm new to Python though I know a handful of other languages quite well. I'll check back once I know Python better. Benni B. 00:43, 20 November 2005 (UTC)
I was trying to trim the section on projects that use Python, especially now that there's a spam warning. I think game systems are overrepresented, so I wanted to leave what seemed to be the most notable examples. OpenRPG only has a stub for a Wikipedia article. Solipsis sounds highly experimental and not used yet. So those are the ones I took out. Was I wrong? r speer 18:54, 23 November 2005 (UTC)
This is an archive of past discussions. Do not edit the contents of this page. If you wish to start a new discussion or revive an old one, please do so on the current talk page. |
Archive 1 | Archive 2 | Archive 3 | Archive 4 | Archive 5 |
Why is it that the Python article doesn't go into detail about the idiosyncrasies, caveats, and disadvantages of using Python? The Critism Section of the Java article is rather well thought out, it would be nice to see something similar for Python. This would be especially useful for people deciding whether to use Java or Python. Some aspects that I would like to see put in:
Note: This is coming from predominantly a Java programmer. I don't quite have the "pythonic" mindset down so I've brought this over to the discussion page to not litter the main article. Overall I think it's a great language, I just think we'd do it more justice to evaluate disadvantages also.
A recent edit inserted an unencyclopedic disparagement of PyPy. Something to the effect that it "wanted to be faster than C, but that's absurd." The comment is not phrased appropriately, in any case, but as background, such a goal is actually not absurd. I'm not saying it will be accomplished, but it is not impossible in principle.
PyPy builds on the work in Psyco, which is a nice project. Specifically, Psyco can (and does) dynamically build machine code for execution of particular code paths and type constraints. Specializations can be quite highly optimized, and some of this optimization is only available at runtime, not during a static compilation (such as in a C program).
To take a small example, suppose you need to loop over a list of "thingamagigs"—e.g. a bunch of PyObject structures. A C program dealing with those structures would need to test some structure members during each pass through the loop, then branch to different actions based on those members; say do something different with a float, int, and string that were wrapped in a PyObject structure. Pscyo—and by extension PyPy—might be able to determine that during the next million passes through the loop, the structure always holds an int, and therefore skip the dereferencing and branching steps for those million passes. In other words, the specialization goes faster than the "generic" C code, based on state that can only be determined at runtime.
It may not work this way often enough to actually get "faster than C", but the possibility exists conceptually. Lulu of the Lotus-Eaters 17:31, 2005 May 22 (UTC)
Are u sure this article is in proper categories? Liso 10:20, 24 May 2005 (UTC)
Maybe, maybe not. Python was named after Monty Python. Eric B. and Rakim 08:35, 15 Jun 2005 (UTC)
What's the story with someone(s) reinserting the broken and redundant link to Dive into Python. It's a fine book, but there's already an external link to it. Why the extra link to a removed Wiki page, without even putting the link into the grammatical context of the reference? Lulu of the Lotus-Eaters 06:17, 2005 Jun 7 (UTC)
I'm sorry - I should have paid more attention to the diff. My bad - but go easy on me, I'm new at this. How does one resolve a copyright issue? I've taken all the steps that the message tells me to, but nothing seems to change. Am I supposed to revert the page myself? I've even rewritten it (the original had room for improvement) on the Dive into Python/Temp page ... I don't know what to do next.
The idea of eliminating tabs for indentation has been floating around the Python community for at least 7 years. But it's never happened yet, nor been pronounced for the future by the BDFL anywhere I've seen. Does the editor who added it to the article have some specific evidence of this? Lulu of the Lotus-Eaters 15:46, 2005 Jun 10 (UTC)
This is "Mac Classic" rather than "Mac OS" for a reason. "Mac OS" includes the two disjoint subsets "Classic" and "Mac OS X". "Mac OS X" has already been listed as one of the most popular platforms Python runs on; now "Mac Classic" is listed as another platform it runs on. OK?
I remove the sentence about the MacPython IDE, which was wrong. It belong to a section about IDEs and editors, if we need one. -- Nir Soffer 07:36, 26 Jun 2005 (UTC)
I removed the talk about this, its not important or interesting, and also not very effective. There is not much point in this kind of info in this page. The page is already too long, see the note when you edit the page.
I wish to mention that Stackless Python has not supported continuations since early 2002, as I explain in Talk:Stackless_Python. Maybe Section 6, Other Features should be updated. -- Lenard Lindstrom 18:47, 24 July 2005 (UTC)
The size is not only a technical limit, see Wikipedia:Article_size.
While it is true that both java and .Net have immutable String classes, I don't think it is worth mentioning in the context of the base types section, in the interest of keeping the article length down. Could I also suggest that comparisons to other languages are kept to languages that have share a lineage with python, at least when discussing specific language features? -- Kenliu 20:32, 30 August 2005 (UTC)
I have decided to remove all other comparisons. Python page is long, and it's maybe better to compare the language features on the pages about each feature (that's why links are here for). But I won't enforce this. Btw, a good recent comparison of Python and Ruby is [1]. Samohyl Jan 20:37, 31 August 2005 (UTC)
Python Haskell Perl C/C++ Java Pascal Ruby ... Block marking: Offside Offside/{} {} {} {} begin/end begin/end,{} List compr Yes Yes No* No No No No* ... [*] Code-blocks fill a similar role to listcomps in this language
I've made a couple of changes to the Web references section that I hope aren't stepping on any toes, but if anyone disagrees I'll put my rationale here and we can discuss:
Please let me know of any disagreement. Thanks, PhilipR 14:48, 23 September 2005 (UTC)
An editor added this text:
However, this idea of removing lambda/map/filter/reduce has been floating around since at least Python 1.5.2. It's always been suggested as something that "many people would like", but I have never seen an actual pronouncement on this (except in the hypothetical context of the great, incompatible, Python 3000; that's a half joking way to talk about some distant future).
If the editor can provide a citation to a specific statment by GvR, I'm fine with including that. Otherwise, it's just speculation. Lulu of the Lotus-Eaters 05:49, 29 September 2005 (UTC)
Please consult the link I added to the External links section. Straight from the BDFL's mouth. Jogloran 08:50, 29 September 2005 (UTC)
About map, filter and reduce: The article states that Python 3000 "will not support" them, but i'm pretty sure the official plan has always been merely to remove them from the builtin namespace, not from the language entirely. In other words, they're being moved to the standard library, which is very different to what the article is suggesting.
Also, the reason given for the lambda syntax's deprecation ("lambda is irrelevant with the advent of nested functions") sounds entirely non-sensical to me: the advent of nested scopes affected lambda and def functions equally (both map to the same underlying implementation, anyway). Instead, the reason lies primarily with the fact that the syntax is ugly and unpythonic, and/or limited to a single expression (depending on who you ask).
I think the general feeling is that if a good syntax for anonymous functions is found, it will replace lambda, possibly before Python 3000, even. (Compare this situation to the conditional expression syntax that was recently decided upon, after being kicked around for years in online discussion.)
-- Piet Delport 10:53, 27 January 2006 (UTC)
This article is in need of shortening. I can think of a couple of segments that could (and should) be trimmed, but there is also much useful detail that definitely can't be removed. Clearly, at least one daughter article needs to be created. One on Python syntax might be a good idea. And maybe another page on semantics, the object system, idioms, or some combination thereof... but I'm not sure how it should be named and focused. List of Python software is obvious, though. Thoughts? Fredrik | talk 21:19, 29 September 2005 (UTC)
Pythonistas who are WP editors might be interested in Wikipedia:Articles for deletion/David Mertz. Yeah, that's me under a non-Wikipedia name; but I think my noteriety is most significant in the Python community. Folks who know (of) me could "do me a solid".
Btw. While we're at it, we could really use articles Tim Peters (computer guy), Alex Martelli, Mark Pilgrim, Fredrik Lundh, Uche Ogbuji, Cameron Laird, and others whom I'm forgetting just now. Lulu of the Lotus-Eaters 06:03, 10 October 2005 (UTC)
I saw that the link to the Python wikipedia bot was kept before on the grounds it's not just a self-reference. However: if we weren't editing Wikipedia right now, would we care at all that pywikipedia existed? Why not include, for example, IRC bots written in Python?
pywikipedia, when you come down to it, is just another tool that's written in Python. on the level of many thousands of others. It doesn't even have a Debian package. I can't see any motivation to include it in this article besides the self-reference.
RSpeer 17:45, 11 October 2005 (UTC)
First of all, my congratulations for the Pythonists for such an interesting and enlightening article about Python.
I'm considering to extend the text on the object-oriented side of Python to include the class notation. Some comparisons of Python's features with the ones from C++ and Java may help enlight the newcomer to Python.
I'm afraid the article will become a little too long. Should a new article be started to discuss this ?
Regards, -- Hgfernan 17:31, 15 October 2005 (UTC)
I've added reference to Vampire: The Masquerade - Bloodlines which uses python for scripting. Because the game is based on Valve's Source engine used in Half-Life 2, I'm not sure if this is specific to the Vampire game, or is it part of the engine. If someone knows the latter is true, please change my addition to reference the engine instead of the mentioned game. -- Arny 03:46, 23 October 2005 (UTC)
I would rather avoid listing text editors in this already over-long article. It's extremely peripheral to the topic of Python as a programming language that some particular text editor (or IDE, inasmuch as there is a difference) happens to have some bindings to customize it for Python. In most cases, editors likewise have bindings for many other languages. Some other article on "programming editors" or the like would be a more appropriate place to list such things. Lulu of the Lotus-Eaters 03:29, 26 October 2005 (UTC)
The section "Logical operators" is hard to understand to me. I'm new to Python though I know a handful of other languages quite well. I'll check back once I know Python better. Benni B. 00:43, 20 November 2005 (UTC)
I was trying to trim the section on projects that use Python, especially now that there's a spam warning. I think game systems are overrepresented, so I wanted to leave what seemed to be the most notable examples. OpenRPG only has a stub for a Wikipedia article. Solipsis sounds highly experimental and not used yet. So those are the ones I took out. Was I wrong? r speer 18:54, 23 November 2005 (UTC)