Jump to content

Talk:Python (programming language)/Archive 8

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by MiszaBot I (talk | contribs) at 03:09, 11 June 2013 (Robot: Archiving 2 threads from Talk:Python (programming language).). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Archive 5Archive 6Archive 7Archive 8Archive 9Archive 10Archive 11

Indentation not significant?

Does anyone besides Strombrg think that Python's use of indentation isn't worth mentioning in the lede? I strongly disagree as it's one of the more unique, useful, and visually striking attributes of the language. --Cybercobra (talk) 05:44, 15 March 2010 (UTC)

I don't consider it's use of indentation it's core/defining feature, so I also don't consider it significant enough for the lead. Section 4.1 on indentation could make more of a deal about it in comparison to other languages. peterl (talk) 05:55, 15 March 2010 (UTC)
strombrg here: When Python is attacked, it's normally attacked for its whitespace for blocks. It's now one of the things I now love most about the language, but when I first saw it, I thought it was awful - as is the reaction of many others new to the language. Putting something this likely to discourage newcomers in the first paragraph is just asking for trouble. Yes, unusual != bad, but it's important to keep in mind that this perspective is "truer" in technical discussion, not marketing discussion, because it's very common for humans to mistake the descriptive for the normative. —Preceding unsigned comment added by Strombrg (talkcontribs) 00:41, 19 March 2010 (UTC)

I believe, with Cybercobra, and with the longstanding consensus of article editors, that mentioning Python's indentation block style should be mentioned in the lead. This feature is one of the most widely mentioned aspects of Python in other introductions and discussion of Python. While I entirely agree that the significance of this feature is often exaggerated–both pro and con–the fact it is so frequently mentioned in 3rd party sources makes it notable to readers of the article. LotLE×talk 03:01, 19 March 2010 (UTC)

strombrg: No one's saying it shouldn't be mentioned, and in fact it is mentioned (again, as if once isn't enough) later in the article. I'm just saying it shouldn't be in a "you only get one first impression" spot where newcomers are more likely to be driven away by it - this in combination with the previous "claims to be powerful" stuff read like it was written by someone who hated the language. Please see http://www.se-radio.net/podcast/2006-02/episode-4-scripting-languages for a typical example of how whitespace for block scoping is misperceived outside the python community. —Preceding unsigned comment added by Strombrg (talkcontribs) 18:36, 20 March 2010 (UTC)
I think the indentation is important enough to be mentioned in the lead. Ulner (talk) 21:37, 20 March 2010 (UTC)
I think indentation makes Python "special". We could add the GvR's argument: you already use space/tabs to indent your code, why not make it part of the language (for better and for worst)? --0x6adb015 (talk) 12:28, 22 March 2010 (UTC)

No "mere" in scripting

I think the word mere should be dropped when describing scripting in the heading as it smacks of being (wrongly) ashamed of your parents. There is nothing "mere" about scripting. It is the essential glue that binds many a system and central to how things get done on Unix-like systems. Yes, it may be thought by some to be beneath other programming but Python practitioners should know better.

Drop the word! --Paddy (talk) 06:44, 15 March 2010 (UTC)

Example?

Wouldn't it be nice to have an example code? --JokerXtreme (talk) 11:35, 26 March 2010 (UTC)

Yes, it would. Perhaps a classic 'Hello world'. 95.147.185.198 (talk) 19:20, 25 April 2010 (UTC)
I've added a couple of simple examples that may help. We need to be careful not to add too much - Wikipedia is not a 'How To'. peterl (talk) 10:38, 27 April 2010 (UTC)

Improve "Mathematics' section

NumPy and SciPy definitely should be mentioned in the "Mathematics" section (currently they are mentioned in the "Usage" section only). For now there are some garbage about %, /, rounding floats to integers etc.

Dmitrey (talk) 12:37, 26 September 2010 (UTC)

Introduction

It could be valuable from a novice's point of view if the article mentioned that the software is free to download. 74.105.52.232 (talk) 18:56, 23 May 2010 (UTC)

Criticism

Can someone put a criticism section in? Python can't be totally free from criticism. --Volumebass112 (talk) 12:29, 23 June 2010 (UTC)

The problem with such things is sourcing. When they've been done in the past, even highly regarded industry commentators have been removed as "not being WP:RS", because they were recognised as experts in Java, Ruby or Perl etc., but not Python. To be WP:RS for Python itself, one's assumed to have to be drinking the Kool-aid and thus unlikely to criticise it.

As one of Python's obvious targets for criticism would be dynamic typing itself, we'd first need a WP article that managed to get an accurate description of dynamic typing in Python, something we don't currently have. Andy Dingley (talk) 12:36, 23 June 2010 (UTC)

To assume that one is favorably biased just because one has been using a product or service for a while is in and of itself being biased, and is no indicator whatsoever that the source is unreliable. There are products that I've been using for years with which I have a bone to pick, often because I've seen better 10 or 20 years ago and all that's available now is product "X" with numerous flaws and quirks. I'd be happy to accept a critical review any time under such conditions, especially if criticisms can be backed up with evidence. All too often I've found that experts on product "X" are blissfully unaware of shortcomings, because they've been working with "X" exclusively and don't realize that products "Y" and "Z" are much better. In such cases the criticisms of product "X" from experts on products "Y" and "Z" carry more weight.

The very style and content of the article as it now stands illustrates my point. I visited it several months ago to find out what Python was all about and came away just as ignorant as when I started. The article gets bogged down in minutiae from the very first sentence in the lead section and didn't even tell me if Python was run on an interpreter or a compiler. It just got worse from there. That's what you get when something is written by "recognised experts" or copied from the writings of such "experts". (I added a few words in the lead section earlier today in an attempt to alleviate this criticism.)—QuicksilverT @ 05:02, 29 October 2010 (UTC)

Python rounding

There have been a few attempts to insert phrasing such that Python follows "mathematical laws" or "floor and ceiling mathematical rules" on rounding. Most seem designed to simply promote Python over over languages, and suffer from some NPOV issues. However, there are substantially larger problems with these statements, which are:

  • The claims are not properly cited.
  • Rounding to the nearest smaller integer is floor semantics, not "floor and ceiling".
  • Floor and ceiling are simply utility functions, not any sort of "mathematical law". Both of them -- along with the "nearest to zero" rounding performed by some other languages are equally valid mathematically (and to be strictly precise, none of them follow the generally accepted guidelines for mathematical rounding).

Fell Gleamingtalk 11:13, 25 August 2010 (UTC)

Hi Fell. I can see your point, but I'm not happy with the current wording. It seems to imply that Python is out of step with other languages (which it is), but that there is no basis with the decision for Python to floor towards -infinity (which is wrong - it's a clear decision, as your ref clearly shows).
I agree with your NPOV statement, but I feel the current wording is not neutral either. How can we word it so that Python is shown to be different but considered, and relevant based on mathematics?
PS: Excellent ref you found - well done.
peterl (talk) 10:13, 26 August 2010 (UTC)
Maybe could state something like 'The result of integer division rounds towards negative infinity. This maintains the validity of of the equation b*( a/b)+a%b = a for all integers a, and positive integers b, as Python's modulus operation a % b results in a number in the range [0,b), following usual mathematical convention.' That's pretty verbose, though, and may not draw enough attention to the a < 0 case. --Aflafla1 (talk) 18:46, 30 August 2010 (UTC)

Language or software?

I don't think this article (nor indeed Python's official website) makes enough of a distinction between a language called Python and piece of software called Python. Balfa (talk) 13:57, 6 October 2010 (UTC)

I think the problem lies with the Python user community in making too many assumptions about the non-cognoscenti's knowledge of the surreal British comedy series of the early 1970s, Monty Python's Flying Circus. Until I edited it today, this article didn't even tell me if Python was a compiled language or an interpreted language. In fact, Python is the language, and the interpreter on which it runs is called IDLE, probably a reference to Eric Idle, one of the members of the Monty Python comedy troupe. The whole subject matter is rife with "inside jokes" and is bogged down in too much detail for a Wikipedia article. It needs a thorough enema.—QuicksilverT @ 05:16, 29 October 2010 (UTC)
Oh no it doesn't --Paddy (talk) 10:49, 29 October 2010 (UTC)
Hydrargyrum, you talk as if there is a clear distinction between interpreted and compiled. Pascal was called compiled when, for some time, an important "compiler" generated p-code that was then "interpreted". --Paddy (talk) 10:55, 29 October 2010 (UTC)
Oh yes it does, and yes there is. Pretend you've never heard of Python before and then read the article. See if you can make heads or tails of it by the time you reach the bottom. For an even better experience, read the version before I added material about its interpreted nature. See the Python Tutorial at http://docs.python.org/release/2.5.2/tut/node1.html. The authors of that page clearly state just a few sentences into the "Front Matter" that Python has an "interpreted nature". Now, why do you suppose they did that?

I'm not stupid; I've been programming in a number of different high-level and low-level computer languages since about 1970 and I fully realize that many computer languages can be run either in an interpreted or compiled environment. A classic example is Dartmouth BASIC: It was always a compiler in the beginning while under development at Dartmouth College, and when resource-poor minicomputers and microcomputers appeared, interpreter versions were created, such as PC-BASIC for the IBM PC. Anyone familiar with both flavors knows there are differences in the way the source code can be written and big differences in performance. When I encounter a new computer language, that's one of the crucial things I want to know right from the start.

People come to Wikipedia to get a quick overview of a subject with which they're unfamiliar; they don't come here to get an advanced degree. The articles should be written accordingly. Anything more should be left to "Further Reading" and references in the footnotes, or Wikibooks and Wikiversity.—QuicksilverT @ 23:07, 29 October 2010 (UTC)

Python is a language; there's a specification. However, there is also one primary implementation, also known as CPython. CPython is a bytecode-compiled implementation of the Python language. The two are closely connected, more so than with some languages (like C, Forth, or Common Lisp) but less so than with some others (like Perl). Most of the time, when someone says "Python" they could reasonably mean both the language and the primary implementation. If someone wants to refer to Jython or IronPython or CL-Python, they say so. This is all discussed in the specification itself --FOo (talk) 15:36, 30 October 2010 (UTC)

IDLE is not an interpreter, it is an IDE. InverseHypercube (talk) 08:21, 2 March 2011 (UTC)
And there are interpreters for the 'compiled' languages, such as the 'classic' compiled language, C. See Ch_interpreter#C.2FC.2B.2B_interpreter. There's a difference between the language (which has nothing to do with how it is implemented), and the implemenation (which could be compiled, interpreted, p-code, byte code or one of many other options.) How do you classify a language running under a JIT?
peterl (talk) 08:17, 3 March 2011 (UTC)

Further reading

I think we need some guidance as to what should go into this section. It's starting to become a self-promtion list of any books about Python. What do others think? peterl (talk) 05:06, 30 November 2010 (UTC)

How about a 'List of books on Python (programming language)' page? —Preceding unsigned comment added by Paddy3118 (talkcontribs) 08:46, 30 November 2010 (UTC)
That would be unusual - I don't think any other programming language has that. I don't think there's anything that wikipedia would be adding that isn't already covered elsewhere, such as [1]. peterl (talk) 09:10, 30 November 2010 (UTC)

I've decided to prune severely under Wikipedia:Layout#Further_reading, particularly "any book included should have received more than one good review in RS - newspapers and scholarly journals being the norm, and the clear balance of RS reviews should be positive." peterl (talk) 05:10, 30 November 2010 (UTC)

Agreed, and thanks. We should not even list all books meeting the above criteria. Johnuniq (talk) 07:50, 30 November 2010 (UTC)

Least someone be left with an incorrect impression, there was no Wikipedia:COI#Self-promotion in my listing Hetland's Python book. Peterl, I am assuming you were concerned that the list was getting out of control and did not mean anything personal. --Javaweb (talk) 03:37, 6 December 2010 (UTC)Javaweb

I am new to the editing of articles, so maybe I am missing something obvious to others. The Further Reading section needed improvement, so I added a good book and organized the list. Later the book list was severely pruned, but I do not understand what qualifies the books that remain. Selected Wikipedia policy was duplicated in the Further Reading section, but it appears that the policy is not being followed. Could someone please explain what I am missing here, or show an example of the proper way to add a book. Thanks. Lance Albin (talk) 03:37, 2 January 2011 (UTC)

Performance

I've heard that Python's performance (unless optimized) isn't that great, however, I know nothing about this myself. Can someone put something about Python's performance compared to other high-level languages? —Preceding unsigned comment added by 212.68.15.66 (talk) 06:25, 3 February 2011 (UTC)

Not really. It depends on too much. You might want to check this page for why plus have some fun. P.S. I am assuming that you meant run-time performance. Ease/accuracy of development is another measure. --Paddy (talk) 12:22, 3 February 2011 (UTC)
I totally agree with what you say about development/runtime performance (especially when it comes to Java, people are way too aggressive about its runtime performance in my opinion). Thanks for the link! 212.68.15.66 (talk) 06:58, 4 February 2011 (UTC)
Python and Java *can* perform well. But they rarely *do* in my experience. That's because high-level programming languages tend to discourage the kind of optimizations that are second-nature when doing lower-level programming. An exception to this is PERL, because it allows (and frequently uses) inline and XS compiled code.... where high level and low-level code can be freely mixed. —Preceding unsigned comment added by 66.194.114.178 (talk) 16:07, 18 May 2011 (UTC)

Python 2 vs Python 3

Are we assuming that nobody cares about Python 2 now? The table of built-in types was "simplified" by having it refer only to Python 3. I'm OK with that, as long as we also add a section describing the differences between 2 and 3. (I'm not sufficiently fluent in both to create such a section myself.) Joule36e5 (talk) 02:18, 10 June 2011 (UTC)

Python 2 will be in use for probably another 5-9 years. Most production is running under Python 2 now since programs need their library packages converted to Python 3 before they move over. --Javaweb (talk) 03:04, 10 June 2011 (UTC)Javaweb

Pareto principle

However, by the Pareto principle, most problems and sections of programs are not speed critical.
No, this is an observation, not a principle : Nothing proves that in ANY program, 80% of the calculi are made by 20% of the program code. I have however no better way to express it, and as such let this as it. Guigolum (talk) 06:22, 4 October 2010 (UTC)

good example of the convlution required to get python to work fast: http://www.scipy.org/PerformancePython —Preceding unsigned comment added by 66.194.114.178 (talk) 16:14, 18 May 2011 (UTC)
The Pareto principle is not a mathematical formula. The reference reads like a point is being proved based on a fact and this is not true, so the reference should be removed. 122.167.224.5 (talk) 13:36, 21 May 2011 (UTC)
You're correct, of course, that the Pareto observation is not a mathematical formula, nor does it prove anything. However, it is a valid observation that programs spend most of their time executing inner loops and programmer effort spent 'optimizing' anything else will go entirely unnoticed. This is especially true on modern computers that frequently have large timing variations caused by such factors as pipeline bottlenecks and cache line conflicts. There is, in fact, nothing at all controversial about this, it has been known since the early days of Fortran optimizing compilers. The statement in the article did not present any controversial statement, nor did it make a claim of proof of anything. It expressed the attitude of the BDFL that code clarity is more important than a few nanocycles. If you don't like his attitude, there are other implementations of Python to satisfy your cycle-greedy hearts. I'm removing the noisy templates on this statement that add nothing to the content. Dlw20070716 (talk) 07:58, 20 July 2011 (UTC)

HelloWorld

The section on syntax needs a simple helloworld program to start with :). —Preceding unsigned comment added by 199.212.225.1 (talk) 20:26, 23 March 2011 (UTC)

Python's hello world is so trivial
Yes it is. I love Python (it's my first programming language but it's actually fun), and it's so easy it's almost funny. Anywho, Python's Hello World is simple:
>>>print 'Hello World'
Hello World
So, yeah, it's a lot like ECHO on DOS, but probably not as noteworthy. Venku Tur'Mukan (talk) 13:37, 7 April 2011 (UTC)
Strongly agree that Hello World program belongs in the article. It is an extremely useful and quite subtle way of demonstrating syntactic, and even semantic, differences between languages. The above comment that Python's version is simple demonstrates why inclusion of the example is important. — Preceding unsigned comment added by 86.177.104.152 (talk) 07:48, 30 September 2011 (UTC)
If a programs syntax is usefully shown by how it prints hello world then the language can't be up to much. Hello World is like a dummy to a baby - initially soothing, but should be cast aside as one grows. --Paddy (talk) 09:22, 2 October 2011 (UTC)
Well, the Java "hello world" seems to tell you more about Java than the Python "hello world" tells you about Python. But this is because the Java "hello world" tells you that Java requires a main method, and a class for it; and that these must be saved to a file whose name matches that class. Python requires none of these things; but it is only by contrasting Python with Java (or COBOL, or any other high-boilerplate language) that Python's low-boilerplate nature is revealed. —FOo (talk) 21:57, 4 October 2011 (UTC)
I also agree that a "hello world" should be included. I came to the article to specifically see what it looked like, and then came here to ask for it. Could someone who knows the syntax please add it? --A bit iffy (talk) 08:28, 29 December 2011 (UTC)

Added. peterl (talk) 00:17, 30 December 2011 (UTC)

Thanks. --A bit iffy (talk) 05:49, 30 December 2011 (UTC)

It's a Python article. Why add new code in Python 2? I know that 2 is well used an' all, but the community is going all out for 3 and have stated many times that 2 should only be used if you need a library. This is new code and so should be in Python 3. --Paddy (talk) 10:54, 30 December 2011 (UTC)

Fair enough. Why change the quotes? I've updated the comment. peterl (talk) 02:45, 2 January 2012 (UTC)

Drawbacks

I notice that, although C/C++, PERL and other languages have significant mention of drawbacks, there is no negative commentary about python. In fact the page reads like an "evangelists guide" to python. Personally I find python's whitespace-dependence to be horrible, and there are probably tens of thousands of others who take issue with the "lisp-like" convolution of operators... such as ... " ".join(list). Probably this comment will be removed.—Preceding unsigned comment added by 66.194.114.178 (talk) 16:11, 18 May 2011 (UTC)

No language is perfect. The Perl article has very little criticism, although it should have. I must disagree about whitespace; some people hate it, but as a professional language trainer the improvement in beginners' code is demonstrable. Yes, Python is not without its warts. Constructive, referenced edits are always welcome. peterl (talk) 01:01, 20 May 2011 (UTC)
I agree this article needs more criticism, especially because most flaws in Python are technical, not philosophical, when compared to Perl and therefor are much better suited for a neutral Wikipedia. Also Perl has some kind of workaround for all of the criticism (Moose for OO to give an example), something that Python has in many cases, but not in all of them. However I'd, like in all programming related articles add criticism in form of fact mentioned in various sections of the articles. This would make it harder to include opinions. Also I wouldn't include quotes, because they are NEVER neutral. --Athaba (talk) 13:50, 18 August 2011 (UTC)
Consider a programmer picking a language that they would like to learn, it is wise to weigh the pros and cons of the language so as to determine where the language fits best. This article cannot help with that sort of endeavor without delving in to some of the negative aspects of the language (the preachers of the church of Python need not comment). If I knew more python I would help, perhaps someone who has used python in more production projects would like to take a shot? 108.2.124.115 (talk) 03:57, 2 September 2011 (UTC)
I don't think that a criticism section can be sufficiently 'policed'. --Paddy (talk) 09:39, 2 September 2011 (UTC)

It would be accurate to say that many newcomers to Python who have experience with curly-brace languages find "the whitespace thing" to be confusing. However, people with experience in multiple languages from different language families generally look beyond the "surface syntax" of any language and address more substantial issues — such as formal properties of the language (e.g. type system, exception system) or its implementations (compilation, efficiency, etc.)

There has been substantial criticism of Python in these regards. For instance: The extreme dynamism of Python makes it difficult to prove any formal properties of a Python program. The absence of static typing of any sort (declared or inferred) makes certain errors impossible to catch at compile-time, which could be caught in statically-typed languages. As a bytecode interpreter, the mainstream CPython implementation is slower than native-code compiled programming systems. Thanks to the Global Interpreter Lock, native Python code cannot scale to multiple processors without extensive reworking.

Yet at the same time, it is worth noting that many professors and teachers, who have professional experience with many programming languages, choose Python as a language for teaching new students. For instance, Python is one of a very few languages commonly used for teaching at the undergraduate level in top-ranked engineering universities such as MIT and CMU. This strongly suggests that Python is not wholly unsuitable as a language; and further that neither "the whitespace thing" nor any other feature make Python unnecessarily difficult for newcomers.

Professional software engineers and computer scientists are expected, as part of a successful educational and career path, to learn many programming languages, and to choose the appropriate ones for particular purposes. As such, professionals do not expect any one language to be ideal for all purposes, and are often very interested in understanding the strengths and weaknesses of the various languages available to them. I use Python every week, and would strongly suggest that critiques written by newcomers to Python are probably less well-informed, and less reliable as sources, than critiques written by people with extensive experience both with Python and other languages from multiple language families. —FOo (talk) 23:35, 3 September 2011 (UTC)

Nicely said. As a professional language trainer, you have summarised these points well. Do note that GIL is only a part of CPython, and not other implementations, such as Parallel Python, IronPython, Jython, Stackless etc. peterl (talk) 07:00, 4 September 2011 (UTC)

Typing in the sidebar

Why does the sidebar say that it's a strong typed language? Duck and dynamic are right, but it's not strong. I'm going to remove this. asmeurer (talk | contribs) 22:18, 6 July 2011 (UTC)

Because it is? (see amongst this for instance).--Kim D. Petersen (talk) 00:54, 7 July 2011 (UTC)
I think you are confusing strong and static. See our articles on them. --Cybercobra (talk) 03:44, 7 July 2011 (UTC)

"general purpose"

What does "general purpose" mean in the lead here? What would be an example of a non-general purpose programming language? To me, the phrase "general purpose" implies that it's not tied to a specific situation but I think that is implicitly implied when you say "programming language" anyway. Perhaps there's a technical usage of the term I am unaware of. Jason Quinn (talk) 17:28, 29 September 2011 (UTC)

"General purpose" as opposed to domain-specific (e.g. R (programming language), whose use is generally limited to statistics). --Cybercobra (talk) 18:02, 29 September 2011 (UTC)

Influence by Java, Lisp or Perl ?

This three claims do not have any strong backing references. The "Java" thing is especially weird, because Python was created 4 years *before* Java and I can't even name a single feature added later that would be similar to Java. Dunno about Perl. As for Lisp, we already say it's influenced by Haskell, which is influenced by Lisp - I don't think there was much direct influence. I propose removing all three if no one can come up with citations. Lrekucki (talk) 07:42, 24 February 2012 (UTC)

The syntax for decorators, and the logging std lib module take direct inspiration from Java. --Cybercobra (talk) 09:42, 24 February 2012 (UTC)
Agreed about the decorators, but I don't think logging (or unittest based directly on JUnit or any other stdlib module) should be treated as an influence to Python (the language). Lrekucki (talk) 15:30, 24 February 2012 (UTC)
With Perl, it's basically an "anti-influence". Python in part define(d) itself in contrast to Perl; see 3rd-to-last paragraph of Programming philosophy. --Cybercobra (talk) 09:54, 24 February 2012 (UTC)
This is a bit confusing. Any standard way to mark this as "anti-influence" as you called it ? Lrekucki (talk) 15:30, 24 February 2012 (UTC)

On a side note, are there any rules for marking major influences (like marking them as bold) ? Lrekucki (talk) 15:30, 24 February 2012 (UTC)

Nope. --Cybercobra (talk) 22:23, 24 February 2012 (UTC)

Everything is remarkable

A fan of language X claims it has "remarkable power with very clear syntax", is it worthy of quoting this statement in the introduction of a Wikipedia article? I think it is as worthy of mention as quoting somebody who is not a fan of Python who claims it is "as powerful as most modern languages but not as readable".

Is there any empirical research measuring clearness of syntax (I am not aware of any and I have looked)? What method did the person being quoted use to measure clarity?

What remarkable power does Python have? Can it compute functions that cannot be computed by a Turing machine? If not then it is just as powerful as most other programming language.

This "remarkable power..." quote is pure POV puff and should be removed. Derek farn (talk) 14:46, 29 May 2012 (UTC)

Python is generally known for having a comparatively "clean" syntax. The description is from the official FAQ, not some random author, and is appropriately qualified ("claims to", as opposed to a factual "is" statement). "Power" as in being high-level (compared to e.g. C; it's a scripting language); do you have a suggestion for a better description for this aspect? --Cybercobra (talk) 18:46, 29 May 2012 (UTC)
Who is the "generally known"? Has there been a poll of users of different languages? You are now saying Python has "clean syntax" the quote calls it "clear syntax", can you tell me how to measure the cleanness and clearness of a language syntax?
The Python FAQ should probably be regarded as self serving statement made by people who are fans of the language, i.e., it is not an unbiased source of information.
If high-level language was intended why was the word "power" used? C users seem to regard their language as being high-level. Does "power" imply scripting (I don't user Python for scripting and I have known developers use C for scripting {no idea why})?
Your points about Python being a high-level language and scripting are good ones, why not put them in the introduction. The quote reads like advertising copy and is out of place in a Wikipedia article that aims to be objective. Derek farn (talk) 22:51, 29 May 2012 (UTC)
I’d consider that quote a primary source and I always thought is was given too much emphasis, being in the second sentence of the article. If you want people to take it seriously, perhaps find a quote saying the developers design Python with these goals in mind. I’m guessing “power” means something like “programming efficiency”, like putting together a complex system in ten minutes and fifty lines of code without even thinking about it. Vadmium (talk, contribs) 01:48, 30 May 2012 (UTC).
The developers clearly have this a design goal - see the FAQ. I agree, just because it is a goal doesn't mean it is achieved. But is very clearly a high-level design goal - see [2] (slide 9 'power' and slide 7 'readability')
I have to remove 'Like promoters of other languages Python users', as I don't know of any other language that claims this - again I'm not saying Python achieves that, it's just a claim Python (that is, the developers of Python) make(s).
peterl (talk) 10:19, 30 May 2012 (UTC)

What does "remarkable power" mean and how does it differ from "Powerful" or even "unremarkable power"? What languages are not remarkably powerful and how is this quantity measured? It sounds like advertising puff to me. Derek farn (talk) 10:56, 30 May 2012 (UTC)

I've restored the 'clear syntax' phrase, as 1. It is claimed in the references, and 2. It's different to readability. Readability covers everything from useful keywords, ease of documenting, and syntax, amongst other things.
Re 'remarkable power' - that's it's design philosophy. My guess is it means a useful, powerful language that is surprising or remarkable given the simplicity of the syntax. I wasn't the originator of Python, but that's my guess. Comparing it to VB (easy, clear syntax, no power, difficult to do advanced things) or Perl (not easy, cryptic, very powerful) makes the joining of readable, clear syntax and useful power 'remarkable'.
That's just my view, but the refs make it plain that was their design philosophy.
I can't find a ref for it by 'man python' on Unix gives us that first sentence.
peterl (talk) 23:28, 31 May 2012 (UTC)
Man page (unformatted): Misc/python.man from Python’s source code repository, and a 1994 version. The Unix Power Tools reference added the other day is just quoting from the Python web site: "What is Python?", 2002, and the Fipy manual also uses very similar wording to the man page. Vadmium (talk, contribs) 03:01, 1 June 2012 (UTC).
So far we have had three different guesses at what "remarkable power" refers to in this discussion: 1) "high-level" 2) "programming efficiency" 3) "useful, powerful" (Please correct me if I have misinterpreted anyone's comment)
Therefore I think that using this terminology is a bad idea as it is obviously ambiguous and I'd like to have this statement removed or replaced. --Marko Knoebl (talk) 08:23, 4 June 2012 (UTC)
I'd rather change it to something along the lines of (Python describes itself as) or (The Python designers call it) "an interpreted, interactive, object-oriented programming language that combines remarkable power with very clear syntax." [3]
peterl (talk) 21:45, 4 June 2012 (UTC)
I don't see much value in this because only the Python designers really know what "remarkable power" is supposed to refer to. You already said that your interpretation was just a guess.--Marko Knoebl (talk) 14:26, 5 June 2012 (UTC)
I see no such ambiguity; all 3 phrasings refer to the same property, AIUI. I do admit that it's hard to find a definitive name for the property, though "high-level" seems fairly well accepted. I concur with Peter that we just need to properly attribute the source. Would striking or replacing the "remarkable" qualifier satisfy your concerns? --Cybercobra (talk) 22:56, 4 June 2012 (UTC)
Although I do like the whole quote as that what Python (i.e its designers) say about it.
peterl (talk) 05:11, 5 June 2012 (UTC)
To me, all these 3 phrases have a different meaning: For example, I consider Java a high-level language whith a low programming efficiency. Furthermore in the past this article attributed Python's power to its large standard library - this article's version from 23 April says: 'Python claims to combine "remarkable power with very clear syntax" by using a large and comprehensive standard library and a design philosophy which emphasizes code readability.'
You are saying that "high-level" is a fairly well accepted term for the attribute you want to describe. Ok, so let's use that term! I have absoulutely no problem with calling Python a high-level language: This term is relatively well-defined. --Marko Knoebl (talk) 14:26, 5 June 2012 (UTC)
Would it be okay if I changed the introduction to say that Python is a high-level language and that its syntax is clear and expressive? I think this reflects the properties which some call "powerful" and is less ambiguous. --Marko Knoebl (talk) 15:33, 9 June 2012 (UTC)

If we are going to include a quote extolling the virtues of Python, by its creators, as unbiased editors we should also include a quote from one of Python's detractors (I don't have one to hand but I'm sure we can find one). Derek farn (talk) 14:13, 5 June 2012 (UTC)

That isn't all we can do. We could, for example, just state that the quote is from its creators. --Paddy (talk) 04:05, 6 June 2012 (UTC)

Incorrect Claim

The claim 'OCaml has an optional syntax, called twt (The Whitespace Thing), inspired by Python and Haskell.' is not strictly true: OCaml+TWT is a separate non-standard tool that compiles a variant of OCaml to standard OCaml -- it is in no way part of OCaml; neither is it supported by any of the OCaml tools. (F# -- an OCaml-like language -- however, has 'light' syntax that uses whitespace / indentation, much like Python and Haskell.) — Preceding unsigned comment added by 208.54.5.146 (talk) 19:19, 23 July 2012 (UTC)

Weasel?

I've removed the weasel tag, as there was no justification when it was put on. Which words are wesel? Which statements are unverified? This is a fairly well ref'd article, so more info needs to be given if it is to be given this tag. peterl (talk) 06:17, 22 August 2012 (UTC)

Some code samples are needed

Importing a good piece of advice from the Perl programming language talk page, the page could use some short pieces of example code. I would have written this myself, but I'm not sure if my Python style is very Pythonic or not. Shlomif (talk) 18:07, 26 November 2012 (UTC)