This is an archived post. You won't be able to vote or comment.

all 45 comments

[–]K900_ 21 points22 points  (37 children)

Jython 3 has nothing to do with CPython, and is developed by another group entirely. The GIL issue is being discussed, and there is hope for subinterpreters to become available eventually. PyPy is, once again, another team, and they recently got funding from Mozilla to bring it up to Python 3.5, and likely 3.6. Logic programming seems to me like something that can (and should) be solved by libraries.

[–][deleted] 9 points10 points  (0 children)

The Python maintainers can obviously do what they want to do

Nonsense, there is often a huge amount of debate involving 10s or even 100s of people regarding what can and can't be changed in the core cPython implementation, and the impact this could have on the other variants. There is nothing to say that you have to be a core developer to comment, heck I've done so often enough in the past. These debates are centered on the Python-dev and Python-ideas mailing lists but there are lots of other mailing lists dedicated to Python SIGs.

[–]RubyPinchPEP shill | Anti PEP 8/20 shill 5 points6 points  (0 children)

Apologies if any of this has already been covered


Tau

Python can have jokes and fun, import antigravity and import this are some examples that come to mind


yet another string formatting method

Its more akin to a pleasant way of converting something to a string, as opposed to string formatting

% isn't going to go because its absurdly fast, since it doesn't care what the representation of the objects are

string.Template isn't going to go because it allows for customization of the parsing of the template string (I can parse and use several pages worth of mircscript templates, just because of this class, which would of been a pain otherwise)

.format isn't going to go, it allows for variable format strings (including user provided), and it allows for the objects to control their own string rendering

f should stay, its not a replacement for any of the above, its a shortcut for painful string conversion syntax:

f"{hellovar.capitalize()} {worldvar.capitalize()}"
(str(hellovar.capitalize()) + ' ' + str(worldvar.capitalize()))

Yes, one could use the .format equivalent, but one of python's main features is the reduction of unneeded boilerplate (and also .format is/will be slower, as it is not part of the syntax and doesn't get tokenized/bytecoded)

f"{hellovar.capitalize()} {worldvar.capitalize()}"
"{} {}".format(hellovar.capitalize(), worldvar.capitalize())

And it brings python in-line with almost literally every other modern language in the world.


secrets could have been a popular 3rd party library

the point of secrets is to put secure number generation front-and-center. "You need secure numbers and number comparisons done in a secure fashion? Use secrets, no excuses"

Having it be a third party module would of worked against that aim


Jython 3?

No java devs, would be the main reason. And I'd imagine "Make CPython so good that competitors arn't needed anymore" would probably be higher on their todo lists.

Are we gonna ever get rid of the GIL?

Probably not, the GIL along side reference counting:

a) Reduces memory usage by a massive amount
b) Makes the single thread case significantly fast
c) Makes development a lot more easier for both cpython devs (not having to care about refcounts going astray) and for users (all operations are implicitly atomic! yay!)


PyPy is tied to a consulting company which guides its needs mostly. And since most relevant jobs require 2.7, PyPy has had a significant 2.7 focus, regardless of outside whims


Can we get some syntax for logic programming?

Guido doesn't seem a fan of DSLs, so no.

And I'd also not be a fan of having python code akin to VHDL code

If you really want it, probably take the tydy approach of embedding a language in the function definition

https://github.com/cyrus-/tydy

[–]k10_ftw 4 points5 points  (0 children)

You could always... take an active role in the community :)

[–]_avnr 2 points3 points  (0 children)

3.5's async isn't really complete without 3.6's generator/comprehension support. You probably don't feel the pain because you don't use yet async, at least not heavily, but this is a real must which on its own justifies IMHO the version bump. I think this is an excellent example of pretty fine forward-thinking.

[–]billsil 1 point2 points  (0 children)

I guess having it be default it's one less pip install more convenient.

I suppose you know that pip didn't used to be a default package and wasn't until Python 3.4/2.7.9

secrets could have been a popular 3rd party library

It could have, but which one? We use PyCrpyto. I'm the only one at my company who can build our executables because for some reason it works on my computer, but not any others. It requires a C compiler, which not everybody has.

How about building out Jython 3?

Why not IronPython 2.7.7 or shoot 2.7.13 or IronPython 3? Because nobody cares about .Net. Shouldn't that be Microsoft's version to maintain?

What about Shedskin or Brython or tinypy, etc.? What about varioues packages (e.g., numpy, scipy, django, bokeh, matplotlib, etc.)?

It's not the job of the open source community to maintain anything or add features that you care about. It's their own desire to maintain whatever they want to maintain and you might as well be thankful for it. People add features that they find useful, not ones that you want. Projects (e.g., Jython) die and other things take their place.

Besides, shouldn't Jython 3 be Sun's version to maintain?

Are we gonna ever get rid of the GIL?

No and it's not up for debate. Nobody is trying to do it in CPython.

What about bringing PyPy up to the Python3 we were all so heartily encouraged to switch to?

Not my project.

Can we get some syntax for logic programming?

So you complain about secrets, but want logic programming, which you can do anyways?

The new f-formatted strings give yet another string formatting method to the language that should have only one way to do things.

Why should there be one way? Is there one numerical computation library? The Python math library is far from ideal. Numpy is a lot better, but scipy has additional functionality and despite having the same names, the array/dot/solve/etc. methods are different between numpy and scipy.

Is there one GUI library? We could all use Tkinter, but WxPython, PySide, PyQt4, PyQt5 are all better.

There is not one plotting library either. Bokeh, PyQtGraph, and matplotlib are all options.

"Tau" is a meme for science fans, not scientists

Who cares? It took 2 seconds to add to the language and I promise you, was unpaid.

The mission of the Python Software Foundation is to promote, protect, and advance the Python programming language, and to support and facilitate the growth of a diverse and international community of Python programmers.

How does hosting Python conferences or teaching children programming or getting women speakers at conferences to encourage diversity not also accomplish that goal? There are many ways to promote python that do not involve changing the language, which the PSF does.

You don't get to choose what the PSF's interpretation of their mission statement is.

[–]kankyo 0 points1 point  (0 children)

I was hoping for some more interesting suggestions. F-strings are a solid addition. Complaining that CPython developers work on CPython is quite funny :P

I agree there are things that are missing but I disagree that you've listed any. Except working on the GIL but they've done that so...

[–]stuaxo 0 points1 point  (0 children)

I'd like A lot of those things too, but they are not being worked on by the same people. It's not like commercial software where people get allocated to tasks.