Re: "CPython"
On Tue, 21 Jun 2022 at 13:12, Paulo da Silva wrote: > > Às 03:20 de 21/06/22, MRAB escreveu: > > On 2022-06-21 02:33, Chris Angelico wrote: > >> On Tue, 21 Jun 2022 at 11:13, Paulo da Silva > >> wrote: > >>> > >>> Às 20:01 de 20/06/22, Paulo da Silva escreveu: > >>> > Às 18:19 de 20/06/22, Stefan Ram escreveu: > >>> >>The same personality traits that make people react > >>> >>to troll postings might make them spread unconfirmed > >>> >>ideas about the meaning of "C" in "CPython". > >>> >> > >>> >>The /core/ of CPython is written in C. > >>> >> > >>> >>CPython is the /canonical/ implementation of Python. > >>> >> > >>> >>The "C" in "CPython" stands for C. > >>> >> > >>> >> > >>> > > >>> > Not so "unconfirmed"! > >>> > Look at this article, I recently read: > >>> > > >>> https://www.analyticsinsight.net/cpython-to-step-over-javascript-in-developing-web-applications/ > >>> > >>> > > >>> > > >>> > There is a sentence in ther that begins with "CPython, short for Core > >>> > Python, a reference implementation that other Python distributions are > >>> > derived from, ...". > >>> > > >>> > Anyway, I wrote "IMHO". > >>> > > >>> > Do you have any credible reference to your assertion "The "C" in > >>> > "CPython" stands for C."? > >>> > > >>> > Thank you. > >>> > >>> Well ... I read the responses and they are not touching the point! > >>> I just answered, with my opinion based on articles I have read in the > >>> past. Certainly I could not be sure. That's why I responded as an > >>> opinion (IMHO) and not as an assertion. > >>> Stefan Ram responded with a, at least, not very polite post. > >>> That's why I needed to somehow "defend" why I posted that response, and, > >>> BTW, trying to learn why he said that the C in CPython means "written > >>> in C". > >>> > >>> I still find very strange, to not say weird, that a compiler or > >>> interpreter has a name based in the language it was written. But, again, > >>> is just my opinion and nothing more. > >>> > >> > >> Not sure why it's strange. The point is to distinguish "CPython" from > >> "Jython" or "Brython" or "PyPy" or any of the other implementations. > >> Yes, CPython has a special place because it's the reference > >> implementation and the most popular, but the one thing that makes it > >> distinct from all the others is that it's implemented in C. > >> > > And just to make it clear, the interpreter/compiler _itself_ is still > > called "python". "CPython" is a name/term that was applied retroactively > > to that particular implementation when another implementation appeared. > Yes, but that does not necessarily means that the C has to refer to the > language of implementation. It may well be a "core" reference to > distinguish that implementation from others with different behaviors. > > Let's say they reimplement "reference python" CPython in Rust. What is > better? Change the "reference python" CPython name to RPython, for > example, or let it as CPython? > It's my opinion that it should stay as CPython. > After all who cares in which language it is implemented? > It is HIGHLY unlikely that the reference implementation would change overnight. Far far more likely, if the reference implementation were to change, would be that the new interpreter is built for a number of years as an alternative, and then eventually becomes the more popular implementation, and finally, the core devs begin using that more than CPython, and perhaps deprecating CPython altogether. If that were to happen, the other implementation would have its own name for all those years, and would keep it after being promoted to reference implementation. Also, "PyPy" is a perfectly fine name and doesn't need to be changed. ChrisA -- https://mail.python.org/mailman/listinfo/python-list
Re: "CPython"
On Tue, 21 Jun 2022 at 12:53, Avi Gross via Python-list wrote: > > I don't even want to think fo what sound a C# Python would make. Probably about 277 Hz... ChrisA -- https://mail.python.org/mailman/listinfo/python-list
Re: Subtract n months from datetime
Here's how my code does it: import calendar def add_months(value: date, n: int): """Return a date value with n months added (or subtracted if negative).""" year = value.year + (value.month - 1 + n) // 12 month = (value.month - 1 + n) % 12 + 1 day = min(value.day, calendar.monthrange(year, month)[1]) return date(year, month, day) Paul On Tue, 2022-06-21 at 05:29 +0100, Paulo da Silva wrote: > Hi! > > I implemented a part of a script to subtract n months from datetime. > Basically I subtracted n%12 from year and n//12 from the month adding > 12 > months when it goes<=0. Then used try when converting to datetime > again. > So, if the day is for example 31 for a 30 days month it raises a > ValuError exception. Then I subtract 1 to day and repeat. > > The code seems too naive and very very complicated! > What is the best way to achieve this? Any existent module? > > At the very end, what I want is to subtract nx where x can be y, m, > w, d > for respectively years, months, weeks or days. > > I feel I am missing something here ... > > Thanks. > Paulo > -- https://mail.python.org/mailman/listinfo/python-list
Subtract n months from datetime
Hi! I implemented a part of a script to subtract n months from datetime. Basically I subtracted n%12 from year and n//12 from the month adding 12 months when it goes<=0. Then used try when converting to datetime again. So, if the day is for example 31 for a 30 days month it raises a ValuError exception. Then I subtract 1 to day and repeat. The code seems too naive and very very complicated! What is the best way to achieve this? Any existent module? At the very end, what I want is to subtract nx where x can be y, m, w, d for respectively years, months, weeks or days. I feel I am missing something here ... Thanks. Paulo -- https://mail.python.org/mailman/listinfo/python-list
Re: "CPython"
Às 03:20 de 21/06/22, MRAB escreveu: On 2022-06-21 02:33, Chris Angelico wrote: On Tue, 21 Jun 2022 at 11:13, Paulo da Silva wrote: Às 20:01 de 20/06/22, Paulo da Silva escreveu: > Às 18:19 de 20/06/22, Stefan Ram escreveu: >> The same personality traits that make people react >> to troll postings might make them spread unconfirmed >> ideas about the meaning of "C" in "CPython". >> >> The /core/ of CPython is written in C. >> >> CPython is the /canonical/ implementation of Python. >> >> The "C" in "CPython" stands for C. >> >> > > Not so "unconfirmed"! > Look at this article, I recently read: > https://www.analyticsinsight.net/cpython-to-step-over-javascript-in-developing-web-applications/ > > > There is a sentence in ther that begins with "CPython, short for Core > Python, a reference implementation that other Python distributions are > derived from, ...". > > Anyway, I wrote "IMHO". > > Do you have any credible reference to your assertion "The "C" in > "CPython" stands for C."? > > Thank you. Well ... I read the responses and they are not touching the point! I just answered, with my opinion based on articles I have read in the past. Certainly I could not be sure. That's why I responded as an opinion (IMHO) and not as an assertion. Stefan Ram responded with a, at least, not very polite post. That's why I needed to somehow "defend" why I posted that response, and, BTW, trying to learn why he said that the C in CPython means "written in C". I still find very strange, to not say weird, that a compiler or interpreter has a name based in the language it was written. But, again, is just my opinion and nothing more. Not sure why it's strange. The point is to distinguish "CPython" from "Jython" or "Brython" or "PyPy" or any of the other implementations. Yes, CPython has a special place because it's the reference implementation and the most popular, but the one thing that makes it distinct from all the others is that it's implemented in C. And just to make it clear, the interpreter/compiler _itself_ is still called "python". "CPython" is a name/term that was applied retroactively to that particular implementation when another implementation appeared. Yes, but that does not necessarily means that the C has to refer to the language of implementation. It may well be a "core" reference to distinguish that implementation from others with different behaviors. Let's say they reimplement "reference python" CPython in Rust. What is better? Change the "reference python" CPython name to RPython, for example, or let it as CPython? It's my opinion that it should stay as CPython. After all who cares in which language it is implemented? Regards. Paulo -- https://mail.python.org/mailman/listinfo/python-list
Re: "CPython"
Às 02:33 de 21/06/22, Chris Angelico escreveu: On Tue, 21 Jun 2022 at 11:13, Paulo da Silva wrote: Às 20:01 de 20/06/22, Paulo da Silva escreveu: Às 18:19 de 20/06/22, Stefan Ram escreveu: The same personality traits that make people react to troll postings might make them spread unconfirmed ideas about the meaning of "C" in "CPython". The /core/ of CPython is written in C. CPython is the /canonical/ implementation of Python. The "C" in "CPython" stands for C. Not so "unconfirmed"! Look at this article, I recently read: https://www.analyticsinsight.net/cpython-to-step-over-javascript-in-developing-web-applications/ There is a sentence in ther that begins with "CPython, short for Core Python, a reference implementation that other Python distributions are derived from, ...". Anyway, I wrote "IMHO". Do you have any credible reference to your assertion "The "C" in "CPython" stands for C."? Thank you. Well ... I read the responses and they are not touching the point! I just answered, with my opinion based on articles I have read in the past. Certainly I could not be sure. That's why I responded as an opinion (IMHO) and not as an assertion. Stefan Ram responded with a, at least, not very polite post. That's why I needed to somehow "defend" why I posted that response, and, BTW, trying to learn why he said that the C in CPython means "written in C". I still find very strange, to not say weird, that a compiler or interpreter has a name based in the language it was written. But, again, is just my opinion and nothing more. Not sure why it's strange. The point is to distinguish "CPython" from "Jython" or "Brython" or "PyPy" or any of the other implementations. Notice that they are, for example, Jython and not JPython. There is also Cython that is a different thing. And YES. You have the right to not feel that as strange. Regards Paulo -- https://mail.python.org/mailman/listinfo/python-list
Re: "CPython"
This leads to the extremely important question of what would an implementation of Python, written completely in C++, be called? C++Python CPython++ C+Python+ DPython SeaPython? SeeSeaSiPython I don't even want to think fo what sound a C# Python would make. OK, my apologies to all. Being an interpreted language, it makes sense for a good part of the interpreter to include parts made in other languages and also add-on libraries in even older languages like FORTRAN. Quite a few languages, including some like R, are also partially based on C in similar ways. -Original Message- From: Paulo da Silva To: python-list@python.org Sent: Mon, Jun 20, 2022 8:53 pm Subject: Re: "CPython" Às 20:01 de 20/06/22, Paulo da Silva escreveu: > Às 18:19 de 20/06/22, Stefan Ram escreveu: >> The same personality traits that make people react >> to troll postings might make them spread unconfirmed >> ideas about the meaning of "C" in "CPython". >> >> The /core/ of CPython is written in C. >> >> CPython is the /canonical/ implementation of Python. >> >> The "C" in "CPython" stands for C. >> >> > > Not so "unconfirmed"! > Look at this article, I recently read: > https://www.analyticsinsight.net/cpython-to-step-over-javascript-in-developing-web-applications/ > > > > There is a sentence in ther that begins with "CPython, short for Core > Python, a reference implementation that other Python distributions are > derived from, ...". > > Anyway, I wrote "IMHO". > > Do you have any credible reference to your assertion "The "C" in > "CPython" stands for C."? > > Thank you. Well ... I read the responses and they are not touching the point! I just answered, with my opinion based on articles I have read in the past. Certainly I could not be sure. That's why I responded as an opinion (IMHO) and not as an assertion. Stefan Ram responded with a, at least, not very polite post. That's why I needed to somehow "defend" why I posted that response, and, BTW, trying to learn why he said that the C in CPython means "written in C". I still find very strange, to not say weird, that a compiler or interpreter has a name based in the language it was written. But, again, is just my opinion and nothing more. I rest my case. Thank you all. -- https://mail.python.org/mailman/listinfo/python-list -- https://mail.python.org/mailman/listinfo/python-list
Re: "CPython"
On 2022-06-21 02:33, Chris Angelico wrote: On Tue, 21 Jun 2022 at 11:13, Paulo da Silva wrote: Às 20:01 de 20/06/22, Paulo da Silva escreveu: > Às 18:19 de 20/06/22, Stefan Ram escreveu: >>The same personality traits that make people react >>to troll postings might make them spread unconfirmed >>ideas about the meaning of "C" in "CPython". >> >>The /core/ of CPython is written in C. >> >>CPython is the /canonical/ implementation of Python. >> >>The "C" in "CPython" stands for C. >> >> > > Not so "unconfirmed"! > Look at this article, I recently read: > https://www.analyticsinsight.net/cpython-to-step-over-javascript-in-developing-web-applications/ > > > There is a sentence in ther that begins with "CPython, short for Core > Python, a reference implementation that other Python distributions are > derived from, ...". > > Anyway, I wrote "IMHO". > > Do you have any credible reference to your assertion "The "C" in > "CPython" stands for C."? > > Thank you. Well ... I read the responses and they are not touching the point! I just answered, with my opinion based on articles I have read in the past. Certainly I could not be sure. That's why I responded as an opinion (IMHO) and not as an assertion. Stefan Ram responded with a, at least, not very polite post. That's why I needed to somehow "defend" why I posted that response, and, BTW, trying to learn why he said that the C in CPython means "written in C". I still find very strange, to not say weird, that a compiler or interpreter has a name based in the language it was written. But, again, is just my opinion and nothing more. Not sure why it's strange. The point is to distinguish "CPython" from "Jython" or "Brython" or "PyPy" or any of the other implementations. Yes, CPython has a special place because it's the reference implementation and the most popular, but the one thing that makes it distinct from all the others is that it's implemented in C. And just to make it clear, the interpreter/compiler _itself_ is still called "python". "CPython" is a name/term that was applied retroactively to that particular implementation when another implementation appeared. I could, perhaps, create my own interpreter and name it "RosuavPython" after myself, but when something's made by a team, it's usually more useful to pick something that is fundamental to it (Brython is designed to be run in a browser, Jython is written in Python to make it easy to call on Java classes, etc). ChrisA -- https://mail.python.org/mailman/listinfo/python-list
Re: "CPython"
On Tue, 21 Jun 2022 at 11:13, Paulo da Silva wrote: > > Às 20:01 de 20/06/22, Paulo da Silva escreveu: > > Às 18:19 de 20/06/22, Stefan Ram escreveu: > >>The same personality traits that make people react > >>to troll postings might make them spread unconfirmed > >>ideas about the meaning of "C" in "CPython". > >> > >>The /core/ of CPython is written in C. > >> > >>CPython is the /canonical/ implementation of Python. > >> > >>The "C" in "CPython" stands for C. > >> > >> > > > > Not so "unconfirmed"! > > Look at this article, I recently read: > > https://www.analyticsinsight.net/cpython-to-step-over-javascript-in-developing-web-applications/ > > > > > > There is a sentence in ther that begins with "CPython, short for Core > > Python, a reference implementation that other Python distributions are > > derived from, ...". > > > > Anyway, I wrote "IMHO". > > > > Do you have any credible reference to your assertion "The "C" in > > "CPython" stands for C."? > > > > Thank you. > > Well ... I read the responses and they are not touching the point! > I just answered, with my opinion based on articles I have read in the > past. Certainly I could not be sure. That's why I responded as an > opinion (IMHO) and not as an assertion. > Stefan Ram responded with a, at least, not very polite post. > That's why I needed to somehow "defend" why I posted that response, and, > BTW, trying to learn why he said that the C in CPython means "written in C". > > I still find very strange, to not say weird, that a compiler or > interpreter has a name based in the language it was written. But, again, > is just my opinion and nothing more. > Not sure why it's strange. The point is to distinguish "CPython" from "Jython" or "Brython" or "PyPy" or any of the other implementations. Yes, CPython has a special place because it's the reference implementation and the most popular, but the one thing that makes it distinct from all the others is that it's implemented in C. I could, perhaps, create my own interpreter and name it "RosuavPython" after myself, but when something's made by a team, it's usually more useful to pick something that is fundamental to it (Brython is designed to be run in a browser, Jython is written in Python to make it easy to call on Java classes, etc). ChrisA -- https://mail.python.org/mailman/listinfo/python-list
Re: "CPython"
Às 20:01 de 20/06/22, Paulo da Silva escreveu: Às 18:19 de 20/06/22, Stefan Ram escreveu: The same personality traits that make people react to troll postings might make them spread unconfirmed ideas about the meaning of "C" in "CPython". The /core/ of CPython is written in C. CPython is the /canonical/ implementation of Python. The "C" in "CPython" stands for C. Not so "unconfirmed"! Look at this article, I recently read: https://www.analyticsinsight.net/cpython-to-step-over-javascript-in-developing-web-applications/ There is a sentence in ther that begins with "CPython, short for Core Python, a reference implementation that other Python distributions are derived from, ...". Anyway, I wrote "IMHO". Do you have any credible reference to your assertion "The "C" in "CPython" stands for C."? Thank you. Well ... I read the responses and they are not touching the point! I just answered, with my opinion based on articles I have read in the past. Certainly I could not be sure. That's why I responded as an opinion (IMHO) and not as an assertion. Stefan Ram responded with a, at least, not very polite post. That's why I needed to somehow "defend" why I posted that response, and, BTW, trying to learn why he said that the C in CPython means "written in C". I still find very strange, to not say weird, that a compiler or interpreter has a name based in the language it was written. But, again, is just my opinion and nothing more. I rest my case. Thank you all. -- https://mail.python.org/mailman/listinfo/python-list
Re: Tkinter - cannot import tklib
On Mon, 20 Jun 2022 15:43:26 -0700 (PDT), Wolfgang Grafen declaimed the following: > >There are numerous examples using "from tklib import *" so I assume it works >for most. In the tk-tutorial below tklib is used without special explanation, >so I assume it should be installed by default with every python installation >which has Tkinter integrated. > >https://tk-tutorial.readthedocs.io/en/latest/intro/intro.html?highlight=app# > >First time that I cannot help myself. Please help, what do I do wrong? > From what I can see, you haven't /written/ a tklib module. That tutorial assumes you will create a module containing a number of simplified interfaces to tk widgets. cf: https://tk-tutorial.readthedocs.io/en/latest/radio/radio.html#a-better-radiobutton-class tklib.py will contain the definition of the Radiobutton class. The same probably applies everywhere that you see tklib imported -- whatever classes are used to create widgets need to be defined in that file. https://tk-tutorial.readthedocs.io/en/latest/intro/intro.html?highlight=app# """ In the following section we are going to redefine the tk and ttk objects. To make it easier to use them, we follow these design principles: we keep the excact same class names the parent object is chosen automatically all keyword arguments are forwarded The first widget to consider is the Label which just places static text. Where it makes sense, a label will be combined with a button or entry widget. """ https://tk-tutorial.readthedocs.io/en/latest/check/check.html#a-better-checkbutton-class etc. -- Wulfraed Dennis Lee Bieber AF6VN wlfr...@ix.netcom.comhttp://wlfraed.microdiversity.freeddns.org/ -- https://mail.python.org/mailman/listinfo/python-list
Re: Tkinter - cannot import tklib
On 2022-06-20 23:43, Wolfgang Grafen wrote: Hello all, I am an experienced Python user and struggle with following statement: from tklib import * Traceback (most recent call last): File "", line 1, in ModuleNotFoundError: No module named 'tklib' I tried to import tklib as shown above on following of my Python installations: Anaconda Python 3.8.3, Portable Python 3.9, Python 3.10.1, Python 2.7.10 with the same negative result. I also tried to find help by googling - without success. Also I did not find a python module called tklib to install. Tkinter, ttk is working fine. There are numerous examples using "from tklib import *" so I assume it works for most. In the tk-tutorial below tklib is used without special explanation, so I assume it should be installed by default with every python installation which has Tkinter integrated. https://tk-tutorial.readthedocs.io/en/latest/intro/intro.html?highlight=app# First time that I cannot help myself. Please help, what do I do wrong? I'm thinking that maybe that tutorial is about writing a module (called "tklib") to make it easier to write tkinter applications. The tkinter "Text" widget, for example, doesn't have its own scrollbars (you have to add them separately and link them to the widget), so writing a module that defines a text-with-scrollbars widget is a good idea. -- https://mail.python.org/mailman/listinfo/python-list
Tkinter - cannot import tklib
Hello all, I am an experienced Python user and struggle with following statement: >>> from tklib import * Traceback (most recent call last): File "", line 1, in ModuleNotFoundError: No module named 'tklib' I tried to import tklib as shown above on following of my Python installations: Anaconda Python 3.8.3, Portable Python 3.9, Python 3.10.1, Python 2.7.10 with the same negative result. I also tried to find help by googling - without success. Also I did not find a python module called tklib to install. Tkinter, ttk is working fine. There are numerous examples using "from tklib import *" so I assume it works for most. In the tk-tutorial below tklib is used without special explanation, so I assume it should be installed by default with every python installation which has Tkinter integrated. https://tk-tutorial.readthedocs.io/en/latest/intro/intro.html?highlight=app# First time that I cannot help myself. Please help, what do I do wrong? Greetings Wolfgang -- https://mail.python.org/mailman/listinfo/python-list
Re: "CPython"
On 21/06/2022 10.02, Chris Angelico wrote: > On Tue, 21 Jun 2022 at 08:01, dn wrote: >> >> On 21/06/2022 09.47, Roel Schroeven wrote: >> ... >> >>> So we have an untrustworthy site that's the only one to claim that >>> CPython is short for Core Python, and we have an official site that says >>> CPython is so named because it's written in C. Hm, which one to believe? >> >> >> ...and so you can C that the only important part is the Python! > > I should have cn that coming. Which is a terribly OT invitation to make the (these days non-PC) Monty Python joke: "No-one expects the Spanish Inquisition" (https://www.youtube.com/watch?v=Cj8n4MfhjUc) -- Regards, =dn -- https://mail.python.org/mailman/listinfo/python-list
Re: "CPython"
On Tue, 21 Jun 2022 at 08:01, dn wrote: > > On 21/06/2022 09.47, Roel Schroeven wrote: > ... > > > So we have an untrustworthy site that's the only one to claim that > > CPython is short for Core Python, and we have an official site that says > > CPython is so named because it's written in C. Hm, which one to believe? > > > ...and so you can C that the only important part is the Python! I should have cn that coming. ChrisA -- https://mail.python.org/mailman/listinfo/python-list
Re: "CPython"
On Tue, 21 Jun 2022 at 07:48, Roel Schroeven wrote: > > Paulo da Silva schreef op 20/06/2022 om 21:01: > > Às 18:19 de 20/06/22, Stefan Ram escreveu: > > >The same personality traits that make people react > > >to troll postings might make them spread unconfirmed > > >ideas about the meaning of "C" in "CPython". > > > > > >The /core/ of CPython is written in C. > > > > > >CPython is the /canonical/ implementation of Python. > > > > > >The "C" in "CPython" stands for C. > > > > > > > > > > Not so "unconfirmed"! > > Look at this article, I recently read: > > https://www.analyticsinsight.net/cpython-to-step-over-javascript-in-developing-web-applications/ > > > > There is a sentence in ther that begins with "CPython, short for Core > > Python, a reference implementation that other Python distributions are > > derived from, ...". > > Counterpoint: https://wiki.python.org/moin/SummerOfCode/2017/python-core > says "The reference implementation of Python is CPython, so named > because it's written in C." Even in the absence of other evidence I'd > much rather trust a python.org page than a www.analyticsinsight.net page > on the subject of Python implementations. Be aware that this is a wiki, so anyone can edit it. But that also means you can check the "Info" link to see the history of the page, and in this case, the text in question was added by user TerriOda, who - as can be confirmed in various places - is heavily involved in GSOC Python projects and the like, so I would consider this to be fairly good information. (Though I can't honestly say whether many of the core Python devs read that wiki, so it's always possible that false information stays there untouched.) > But there's more. > > Apart from www.analyticsinsight.net I can't find any website that > mentions "Core Python" as a Python implementation. That's a strong > indication that www.analyticsinsight.net is wrong on that point. Frankly > that website seems very low quality in general. In that same article > they say: > > "CPython is a descendant of Pyscript built on Pyodide, a port of > CPython, or a Python distribution for the browser and Node.js that is > based on Webassembly and Emscripten." > > CPython is definitely not a descendant of Pyscript! Looks like someone > found something (semi-) interesting and tried to write something > insightful about it, but without really understanding any of it. Other > articles don't seem to be any better. > > So we have an untrustworthy site that's the only one to claim that > CPython is short for Core Python, and we have an official site that says > CPython is so named because it's written in C. Hm, which one to believe? > I think that's about as settled as it'll ever be. Like many things, it doesn't necessarily have any stronger origin than "someone started using the term, and it stuck". Reminds me of trying to research the origin of the name "Idle" (or "IDLE" - the Integrated Development and Learning Environment") and being unable to find any proof that it was named after a certain Eric, but nothing to disprove it either... ChrisA -- https://mail.python.org/mailman/listinfo/python-list
Re: "CPython"
On 21/06/2022 09.47, Roel Schroeven wrote: ... > So we have an untrustworthy site that's the only one to claim that > CPython is short for Core Python, and we have an official site that says > CPython is so named because it's written in C. Hm, which one to believe? ...and so you can C that the only important part is the Python! -- Regards, =dn -- https://mail.python.org/mailman/listinfo/python-list
Re: "CPython"
Paulo da Silva schreef op 20/06/2022 om 21:01: Às 18:19 de 20/06/22, Stefan Ram escreveu: >The same personality traits that make people react >to troll postings might make them spread unconfirmed >ideas about the meaning of "C" in "CPython". > >The /core/ of CPython is written in C. > >CPython is the /canonical/ implementation of Python. > >The "C" in "CPython" stands for C. > > Not so "unconfirmed"! Look at this article, I recently read: https://www.analyticsinsight.net/cpython-to-step-over-javascript-in-developing-web-applications/ There is a sentence in ther that begins with "CPython, short for Core Python, a reference implementation that other Python distributions are derived from, ...". Counterpoint: https://wiki.python.org/moin/SummerOfCode/2017/python-core says "The reference implementation of Python is CPython, so named because it's written in C." Even in the absence of other evidence I'd much rather trust a python.org page than a www.analyticsinsight.net page on the subject of Python implementations. But there's more. Apart from www.analyticsinsight.net I can't find any website that mentions "Core Python" as a Python implementation. That's a strong indication that www.analyticsinsight.net is wrong on that point. Frankly that website seems very low quality in general. In that same article they say: "CPython is a descendant of Pyscript built on Pyodide, a port of CPython, or a Python distribution for the browser and Node.js that is based on Webassembly and Emscripten." CPython is definitely not a descendant of Pyscript! Looks like someone found something (semi-) interesting and tried to write something insightful about it, but without really understanding any of it. Other articles don't seem to be any better. So we have an untrustworthy site that's the only one to claim that CPython is short for Core Python, and we have an official site that says CPython is so named because it's written in C. Hm, which one to believe? -- "In the old days, writers used to sit in front of a typewriter and stare out of the window. Nowadays, because of the marvels of convergent technology, the thing you type on and the window you stare out of are now the same thing.” -- Douglas Adams -- https://mail.python.org/mailman/listinfo/python-list
Re: "CPython"
On Tue, 21 Jun 2022 at 06:31, Stefan Ram wrote: > > Paulo da Silva writes: > >Do you have any credible reference to your assertion "The "C" in > >"CPython" stands for C."? > > Whether a source is considered "credible" is something > everyone must decide for themselves. > > I can say that the overwhelming majority of results of Web > searches about this topic yields expressions of the view > that the "C" in "CPython" stands for C, "overwhelming > majority" when compared to expressions of other interpretations > of that "C", and "overwhelming majority" meaning something > like more than 90 percent. > > For one example, there seems to be a book "CPython Internals" > which seems to say, according to one Web search engine: > > |The C in CPython is a reference to the C programming > |language, indicating that this Python distribution is > |written in the C language. > Does python.org count as "credible"? https://docs.python.org/3/reference/introduction.html CPython: This is the original and most-maintained implementation of Python, written in C. I think that's about as close as you're going to get to an answer. Given that it is, in that page, being distinguished from Jython (implemented in Python), PyPy (implemented in Python), Python for .NET (implemented for the .NET runtime), and IronPython (one of these is not like the others, whatever, but it's the one originally implemented for .NET), it seems fairly safe to say that the C in CPython means the implementation language. If someone wants to contradict this, they'll need a strong source, like a post from a core dev back when Jython was brand new. ChrisA -- https://mail.python.org/mailman/listinfo/python-list
Re: mapLast, mapFirst, and just general iterator questions
On Tue, 21 Jun 2022 at 06:16, Leo wrote: > > On Wed, 15 Jun 2022 04:47:31 +1000, Chris Angelico wrote: > > > Don't bother with a main() function unless you actually need to be > > able to use it as a function. Most of the time, it's simplest to > > just have the code you want, right there in the file. :) Python > > isn't C or Java, and code doesn't have to get wrapped up in > > functions in order to exist. > > Actually a main() function in Python is pretty useful, because Python > code on the top level executes a lot slower. I believe this is due to > global variable lookups instead of local. > > Here is benchmark output from a small test. > > ``` > Benchmark 1: python3 test1.py > Time (mean ± σ): 662.0 ms ± 44.7 ms > Range (min … max): 569.4 ms … 754.1 ms > > Benchmark 2: python3 test2.py > Time (mean ± σ): 432.1 ms ± 14.4 ms > Range (min … max): 411.4 ms … 455.1 ms > > Summary > 'python3 test2.py' ran > 1.53 ± 0.12 times faster than 'python3 test1.py' > ``` > > Contents of test1.py: > > ``` > l1 = list(range(5_000_000)) > l2 = [] > > while l1: > l2.append(l1.pop()) > > print(len(l1), len(l2)) > ``` > > Contents of test2.py: > > ``` > def main(): > l1 = list(range(5_000_000)) > l2 = [] > > while l1: > l2.append(l1.pop()) > > print(len(l1), len(l2)) > main() > ``` > To be quite honest, I have never once in my life had a time when the execution time of a script is dominated by global variable lookups in what would be the main function, AND it takes long enough to care about it. Yes, technically it might be faster, but I've probably spent more time reading your post than I'll ever save by putting stuff into a function :) Also, often at least some of those *need* to be global in order to be useful, so you'd lose any advantage you gain. ChrisA -- https://mail.python.org/mailman/listinfo/python-list
Re: "CPython"
On Mon, 20 Jun 2022 20:01:51 +0100, Paulo da Silva declaimed the following: >Not so "unconfirmed"! >Look at this article, I recently read: >https://www.analyticsinsight.net/cpython-to-step-over-javascript-in-developing-web-applications/ > >There is a sentence in ther that begins with "CPython, short for Core >Python, a reference implementation that other Python distributions are >derived from, ...". > >Anyway, I wrote "IMHO". > >Do you have any credible reference to your assertion "The "C" in >"CPython" stands for C."? > Well, let's start at the top... https://www.python.org/download/alternatives/ ("traditional" implying implemented in C). https://en.wikipedia.org/wiki/CPython https://stackoverflow.com/questions/17130975/python-vs-cpython https://www.c-sharpcorner.com/article/why-learn-python-an-introduction-to-python/ https://www.geeksforgeeks.org/difference-various-implementations-python/ There is some plagiarism between a number of web-sites, but they all emphasize the "CPython" is a reference implementation and that it is written in C vs Java (Jython), C# (IronPython -- which M$ may be deprecating these days, based on some stuff in my last Visual Studio update), or other -- Wulfraed Dennis Lee Bieber AF6VN wlfr...@ix.netcom.comhttp://wlfraed.microdiversity.freeddns.org/ -- https://mail.python.org/mailman/listinfo/python-list
Re: What's up with modern Python programmers rewriting everything in Rust?
On Mon, 20 Jun 2022 15:54:29 +0100, Paulo da Silva declaimed the following: >Às 15:07 de 19/06/22, jan Anja escreveu: >> Dude, it's called CPython for a reason. > >IMHO CPython means Core Python, not C Python. It is, as I recall, a term for the reference implementation of Python, which was written in C... In contrast to things like Jython -- Python implemented using Java. -- Wulfraed Dennis Lee Bieber AF6VN wlfr...@ix.netcom.comhttp://wlfraed.microdiversity.freeddns.org/ -- https://mail.python.org/mailman/listinfo/python-list
Re: "CPython"
Às 18:19 de 20/06/22, Stefan Ram escreveu: The same personality traits that make people react to troll postings might make them spread unconfirmed ideas about the meaning of "C" in "CPython". The /core/ of CPython is written in C. CPython is the /canonical/ implementation of Python. The "C" in "CPython" stands for C. Not so "unconfirmed"! Look at this article, I recently read: https://www.analyticsinsight.net/cpython-to-step-over-javascript-in-developing-web-applications/ There is a sentence in ther that begins with "CPython, short for Core Python, a reference implementation that other Python distributions are derived from, ...". Anyway, I wrote "IMHO". Do you have any credible reference to your assertion "The "C" in "CPython" stands for C."? Thank you. -- https://mail.python.org/mailman/listinfo/python-list
Re: What's up with modern Python programmers rewriting everything in Rust?
Às 15:07 de 19/06/22, jan Anja escreveu: Dude, it's called CPython for a reason. IMHO CPython means Core Python, not C Python. -- https://mail.python.org/mailman/listinfo/python-list
Re: What's up with modern Python programmers rewriting everything in Rust?
Às 16:40 de 20/06/22, Dennis Lee Bieber escreveu: On Mon, 20 Jun 2022 15:54:29 +0100, Paulo da Silva declaimed the following: Às 15:07 de 19/06/22, jan Anja escreveu: Dude, it's called CPython for a reason. IMHO CPython means Core Python, not C Python. It is, as I recall, a term for the reference implementation of Python, which was written in C... In contrast to things like Jython -- Python implemented using Java. Yes, it is a reference. That's why it is called "Core Python". The "C" has nothing to do with the C programming language. It may well be written in any language. So far it is "C" language. -- https://mail.python.org/mailman/listinfo/python-list
What's up with modern Python programmers rewriting everything in Rust?
Dude, it's called CPython for a reason. -- https://mail.python.org/mailman/listinfo/python-list
Re: mapLast, mapFirst, and just general iterator questions
On Wed, 15 Jun 2022 04:47:31 +1000, Chris Angelico wrote: > Don't bother with a main() function unless you actually need to be > able to use it as a function. Most of the time, it's simplest to > just have the code you want, right there in the file. :) Python > isn't C or Java, and code doesn't have to get wrapped up in > functions in order to exist. Actually a main() function in Python is pretty useful, because Python code on the top level executes a lot slower. I believe this is due to global variable lookups instead of local. Here is benchmark output from a small test. ``` Benchmark 1: python3 test1.py Time (mean ± σ): 662.0 ms ± 44.7 ms Range (min … max): 569.4 ms … 754.1 ms Benchmark 2: python3 test2.py Time (mean ± σ): 432.1 ms ± 14.4 ms Range (min … max): 411.4 ms … 455.1 ms Summary 'python3 test2.py' ran 1.53 ± 0.12 times faster than 'python3 test1.py' ``` Contents of test1.py: ``` l1 = list(range(5_000_000)) l2 = [] while l1: l2.append(l1.pop()) print(len(l1), len(l2)) ``` Contents of test2.py: ``` def main(): l1 = list(range(5_000_000)) l2 = [] while l1: l2.append(l1.pop()) print(len(l1), len(l2)) main() ``` -- Leo -- https://mail.python.org/mailman/listinfo/python-list
traceback Shows path to my python libraries
I coded an application with a 64-bit executable using cython with the embed option and gcc and I received a traceback showing the path to my python installation. Is that normal or does that mean the application is going outside of my executable to my python libraries? I want it portable so it if is, then it's not portable. The error itself is not an issue. I lost my internet connection, so it's expected and it was retried like it should be. Traceback (most recent call last): File "C:\Users\jschw\AppData\Local\Programs\Python\Python310\lib\site-packages\ur llib3\connectionpool.py", line 703, in urlopen httplib_response = self._make_request( File "C:\Users\jschw\AppData\Local\Programs\Python\Python310\lib\site-packages\ur llib3\connectionpool.py", line 398, in _make_request conn.request(method, url, **httplib_request_kw) File "C:\Users\jschw\AppData\Local\Programs\Python\Python310\lib\site-packages\ur llib3\connection.py", line 239, in request super(HTTPConnection, self).request(method, url, body=body, headers=headers) File "C:\Users\jschw\AppData\Local\Programs\Python\Python310\Lib\http\client.py", line 1282, in request self._send_request(method, url, body, headers, encode_chunked) . Thanks. -- https://mail.python.org/mailman/listinfo/python-list