Core Developers' Panel


Formal Metadata

Core Developers' Panel
Title of Series
Part Number
Number of Parts
Stinner, Victor
Hastings, Larry
Heimes, Christian
Selivanov, Yury
CC Attribution - NonCommercial - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this license.
Release Date

Content Metadata

Subject Area
Victor Stinner/Larry Hastings/Christian Heimes/Yury Selivanov - Core Developers' Panel Q&A session with Python core developers
Red Hat Computer animation File format Right angle Set (mathematics)
Point (geometry) Building Debugger Source code Mathematical analysis Basis (linear algebra) 1 (number) Software maintenance Weight Opcode Mixture model Video game Single-precision floating-point format Hausdorff dimension Energy level Information security Condition number Physical system
Computer animation Information Code Source code Keyboard shortcut Electronic visual display Pattern language Object (grammar)
Code Energy level Canonical ensemble Line (geometry) Plug-in (computing) Physical system Number
Point (geometry) Area Lecture/Conference State of matter Code Authorization Pattern language Right angle Figurate number Window
Arithmetic mean Electric generator Meeting/Interview Scientific modelling Source code Extension (kinesiology) Mereology Window Compiler
Fluid statics Default (computer science) Trail Commitment scheme Meeting/Interview Decision theory Repetition Extension (kinesiology) Window Computing platform Compiler
Revision control Point (geometry) Maxima and minima Open source Software Software developer Cartesian coordinate system Extension (kinesiology) Freeware Window Product (business) Compiler
Computer virus Open source Student's t-test Quicksort Compiler Number
Point (geometry) Revision control Open source Microsoft C Software developer Multiplication sign Quicksort Mereology Extension (kinesiology) Window Compiler Formal language
Point (geometry) Computer programming Implementation Sine Computer file Code Interior (topology) View (database) Multiplication sign 1 (number) Survival analysis Insertion loss Weight Formal language Wave packet Revision control Programmer (hardware) Mathematics Matrix (mathematics) Operator (mathematics) Units of measurement Multiplication Process (computing) Structural load Constructor (object-oriented programming) Blog Universe (mathematics) Order (biology) Quicksort Data type
Addition Standard deviation Multiplication sign Direction (geometry) Software developer Projective plane Bit Weight Subject indexing Latent heat Mathematics Integrated development environment Meeting/Interview Order (biology) Speech synthesis Data type Units of measurement Library (computing)
Point (geometry) Facebook Goodness of fit Projective plane Source code Electronic mailing list Online help Data type Reading (process) Library (computing)
Summation Multiplication sign Computing platform
Logical constant Greatest element Implementation State of matter Code Multiplication sign Scientific modelling Ultraviolet photoelectron spectroscopy Mereology Portable communications device Formal language Latent heat Bit rate Meeting/Interview Velocity Energy level Error message Information Software developer Projective plane Bit Diameter Uniform resource locator Process (computing) Computer animation Lattice (order) Computer network Pattern language Quicksort
Implementation Mathematics Computer animation Term (mathematics) Multiplication sign Software developer 1 (number) Planning Reverse engineering
Purchasing Point (geometry) Addition Process (computing) Direction (geometry) Multiplication sign Software developer Electronic mailing list Sound effect Water vapor Instance (computer science) Mereology Benchmark Mathematics Meeting/Interview Mathematical optimization Form (programming)
Greatest element Projective plane Materialization (paranormal) Interpreter (computing) Mereology Formal language
Enterprise architecture Group action Musical ensemble Process (computing) Linear regression Multiplication sign Patch (Unix) Bit Software bug Expected value Fraction (mathematics) Revision control Particle system Mathematics Meeting/Interview String (computer science) Order (biology) Authorization Cuboid Cycle (graph theory) Quicksort Library (computing)
Standard deviation Observational study Information Spyware Direction (geometry) Software developer Planning Formal language Fluid statics Pi Meeting/Interview Module (mathematics) Energy level Data type Typprüfung Library (computing)
Expected value Fluid statics Word Computer animation Information Meeting/Interview Expert system Planning Data type Mathematical optimization Form (programming)
Maxima and minima Word Information Meeting/Interview Code Connectivity (graph theory) Range (statistics) Food energy Data type Compiler
Email Computer file State of matter Software developer Physical law Electronic mailing list Planning Insertion loss Branch (computer science) Canonical ensemble Parameter (computer programming) Distance Pauli exclusion principle Fluid statics Latent heat Meeting/Interview Bridging (networking) Repository (publishing)
Process (computing) Angle Mapping File format Personal digital assistant String (computer science) Multiplication sign Set (mathematics) Local ring Subset Formal language
Computer programming Spacetime Ferry Corsten Closed set Scientific modelling Expression Bit Variable (mathematics) Disk read-and-write head Formal language 2 (number) Word String (computer science) Module (mathematics) output Data type Local ring Physical system
Ocean current Complex (psychology) Randomization Thread (computing) Java applet State of matter Multiplication sign Source code Water vapor Mereology Formal language Latent heat Meeting/Interview Data structure Extension (kinesiology) Macro (computer science) Multiplication Process (computing) Product (category theory) Instance (computer science) Variable (mathematics) Functional (mathematics) Coalgebra Data storage device Convex set Order (biology) Interpreter (computing) Object (grammar) Quicksort Figurate number Mathematical optimization Local ring
Multiplication Touchscreen Structural load Interpreter (computing) Instance (computer science) Computing platform Symbol table Library (computing)
Covering space Server (computing) Implementation File format Code Boilerplate (text) Electronic mailing list Bit Instance (computer science) Heat transfer Bookmark (World Wide Web) Formal language Flow separation Congruence subgroup String (computer science) Phase transition Quicksort Object (grammar) Local ring Reading (process)
Area Ocean current Email Code State of matter Forcing (mathematics) Electronic mailing list Formal language Wave packet Mathematics Meeting/Interview Term (mathematics) String (computer science) Freeware
Bytecode Interpolation Meeting/Interview String (computer science) Sampling (statistics) System call Arithmetic progression Code Local Group
Series (mathematics) Process (computing) Scaling (geometry) File format Multiplication sign Decision theory Software developer Weight Coprocessor Formal language Revision control Subject indexing Mathematics Computer animation String (computer science) Integer Quicksort
Point (geometry) Computer programming Process (computing) Code Software developer Uniqueness quantification View (database) Multiplication sign Decision theory Time travel Bit Price index Code Formal language Human migration Revision control Message passing Arithmetic mean Lecture/Conference Personal digital assistant String (computer science) Universe (mathematics) Energy level Freeware
Computer programming Momentum Thread (computing) Code Scientific modelling Number Attribute grammar Goodness of fit Class diagram Meeting/Interview String (computer science) Code Extension (kinesiology) Recursion File format Limit (category theory) Functional (mathematics) Message passing Voting Logic Statement (computer science) Module (mathematics) output Object (grammar) Cycle (graph theory) Marginal distribution
Programmer (hardware) Network topology Meeting/Interview Bit Quicksort Rule of inference Data type
Group action Thread (computing) Spherical cap Mehrprozessorsystem Code Multiplication sign Sound effect Interface (computing) Denial-of-service attack Writing
Computer programming Multiplication Code Direction (geometry) Multiplication sign Interface (computing) Variance Line (geometry) Number Device driver Universe (mathematics) Right angle Quicksort Writing Library (computing)
there's no set of format for this so this is supposed be held sessions I don't have any rearrange questions because they only asked on Sunday if I was posted by so we're just going to take questions from the audience and maybe we the get somebody is there a such novelist we have somebody was officially representing the running room no is not but had to
someone with someone run the microphone around and as requested that especially evil anybody has questions so by united in X are some of than incorrect Henan here but it so we actually have a 4 people on stage and there are a couple other people in the room but what is asked people very quickly to introduce themselves so high and just in a matter pertaining co-developer working on right that's for that's on OpenStack and the Hastings I'm there was meant for my country for 3 5 and working on removing the guilt it's called the collect me I just talked about it I
and Islam OWL 2 working
for that on and then dimension security engineering also provide mostly lost about years work on securities to as 0 mold hatchling and to some I Jerusalem I from a single weight and support and maintain single yeah so
but if you guys are the questions that we all have to leave so keep asking questions we
can say for the whole hour and you can enjoy the condition again help somebody has a question because of analysis can be really boring
and has been raised you and thank you for having years sharing your knowledge and experience I've used in the that's set phrase in the past to build Holocaust corrupt mixture I've used systems phrase to build the debuggers and other tools of controlling the execution of life thinking and that helps me do it on a line-by-line basis from the source code at some points I want the 2 experiments doing that's something similar to that on a opcode by opcode basis would it be something simple to add assist set phrase let's call it equivalent to play around at the opcode level uh the ones that they were going to execute the
instructions instruction something like that have OK cuantas there is no such thing but there is an open issue 1st defined to at least to do display by code but if you want something as and maybe you are you have 25 what usually do is to use due to before that and and you put the requirements on user I think that the bigger yes I discussed that would finding exactly yesterday and G. D.
is great but then it's too far from Python source code so my advice would be the somewhere in between that when I think can it's pretty much easy to match against a Python source code and go from there 2 with GPU have also Python bindings that GDP would it can get more information from the actual pattern object
that might have even know that that Python plug-ins for GB and also with them red canon and insulin from Microsoft are working on a new feature to make the huge the plucking system to block and injects into C Python and the same hope could be used to analyzed by 2 embattled level that might get you there did the path number but it's about the pebble released really at the
tap for line by line doing
something to your code I think that path has been released and has a number but I don't know what the number is but that press freedom by writing pepsin Socher step up there I can look it up
you're curious you search for on the author of the canon and and what to search for can't
see and and when the pattern x divided OK that's a great point thank you of why does a zinc I
not support GDP in the eyes of the reactor I simply badly the ladies examine this is the
victor panel UDP ports on next uh but for windows that uh we need someone to write the code OK and it's in to the recent someone you and that really a passionately by windows that have a good was speed and a question it's about Windows incentive figures just a click in the area of this this state right
now uh and if you use if you want to compile for extensions is no problem on Unix and that and then expand windows is a problem because now this the new compiler prices 3 5 is to this is due to 2015 and there's no meaning GW yet that supports this model so you can use major w to come to compile uh extensions so you could use to be should should express the problem is doesn't Fortran compilers so if you use g Fortran Nietzsche's you see on T W 2 to link it to the problems now I wanna releases this my packages has 4 extensions on Windows I can only that that the poet and presents 3 4 which is not really a long-term sustainable here you're talking about compiling for
as a c extension 1st survive on and works on this 3 4 but under 3 5 you have difficulties on Windows yet it doesn't work so did the thing is is use f 2 part and pi which helps me to generate extension from Fortran source code which is something that that's right nice so you compile the strong trend and for this when EDG Fortran compiler and the chief autumn pollinates delinquency Brooks together these features the beaches in GWN windows but the major W is not released on
Windows yet so that the compiler you walk pretty fast is a new a Microsoft compilers but I cannot use Microsoft compiler by the need to compile Fortran and I don't I don't think they work together so not to be flippant but I didn't know the
compile successions foreground on any platform but I'm baffled at all this is possible at all but does anybody tell nobody Fortran extensions you know that have just that that it did get here but it's
something that I've been doing for more than 17 years so the default extensions that's there for long time and of the big big problem to decide price static and children and track so there there is an at commitment or kind of stuff which is written in Fortran a lot of those majorities of foot and their rep so what is not high do and to distribute their attention and windows them they use they use it they
use in a real seat again there's a real partisans into commercial comply with the can but you need to have a commercial compiler and I can adjust because it that's a problem if if you if you have the 2 so that the main point is all open software devolved with free tools you can do 3 5 fourths and extensions on went extinct except 8 you might be able to get the free license for Microsoft to uh Matisse alternating for at least 5 or 8 years uh free version of the commercial tools for a lot of watch and compiler and everything so that government and and ultimate lesson from Microsoft a beauty need every year that have delete everything Microsoft ever offered for development at all to Windows licenses on the axis of film did you if you do open source software you might be able to get that to you uh I could rely you to the guys doing the utensils lessons for us there later on just contact me say is not for a commercial product is just really for working on open source so it's really the of open source you might get a license from Microsoft provided the max of has a Fortran compiler that gives the destructive foot in a pile of more than
10 years ago we do have 1 and and woman this compiler is simple intent as a Fortran
compiler and that is what men fought in the palace of for that I will use him by the chosen to the fastest Fortran compiler promotion 1 of
and intellectually switches to do wishes to to link to link the use into before but the giddy to to renew every year after by 5 o'clock students have the person's that well but I would say this is
more of a question for the nom hi guys anyway like I've ever literally never heard this but the number like I should have some sort of answer for you because this is it this is very common in the entire world and hopefully they would have an answer did you think think they use they use come commercial compiler for those
who say there is a lot of that's fine but if you want other people to compile things you want open source and is difficult to have a common virus but the this is the wrong panel Vasquez what
I'm saying is we don't have an answer for it a get judge us and make me make to make you aware that than even you move
very quickly this there's no Microsoft compilers then the ecosystem might not be able to sort of it business mutagens something you might consider all right so this year the part of the the main point here is that we
have the compiler and Windows for 3 5 well so that the update to the compiler but OK so there's a pain point around 5 to 7 so 2 7 was released in 2010 and it stuck on a particular version of the Microsoft compiler which was recently current at the time and it's it's not supported anymore on Microsoft made a specific release of that for open-source just for us so that people can pass the extensions because in the past what would happen is that Bob survive and be released and would be depend on a particular version of Microsoft's empowered tools and windows were no longer support it would be very hard about extensions for that version pi 1 so the version that migrant we shipped on with 3 5 is the 1st version of Microsoft's compiler where they claim that they will actually be backwards compatible with future compiler releases so you'll be up the compiler extension for python 3 5 with future versions of the Microsoft C compiler toolkit so actually an exciting feature that we updated the version of the compiler for 3 5 also in general I think it's best practices beyond the current version the compiler anyway so yes I gather it's a pain point but I had no idea about this but that would be that would also be a good question perceived our who unfortunately is not here the the hours really these single guy driving the Windows development are mesocortical these days like is the 1st and that's going to cost OK thank you but the pope is language
getting less accessible for beginners um with recent releases of I worry
about that yes so so this is interesting but I used to have a blog versus the eyes have a podcast I haven't touched the couple years called Radio Free Python and I interviewed Raymond in Raymond does a lot of training in survival on their impact I should say and where he'll go to some institution where they 1 use Python train people who never use Python before get come up to speed and he said that was a big pain point for him between Python 2 to Python 3 of Python to like the 1st day the have by the end of a cable have people opening files and passing them in processing and loss of sorts of things whereas in Python 3 he had to teach them about unit code 1st smoke you most what encounter that and had understand the the point where you're encoding inner Frankenstein bytes in the spring small that these what he said was with Python 3 unit code is nowadays 0 knowledge and so in order to program in Python 3 you really have to understand know code where is it was a kind of an optional thing before now I see the view that is a good thing but it is also and all have year of conceptual load for the starting Python programmer of were adding more and more syntax I mean it's not like that were were were not the D language by any stretch but but there are increasingly more sin taxes that are unfamiliar to you may say well what is active in the African Region documentation is universe and construction before I remember once I was positively baffled by seeing for else I never seen it before and I was like what is this even do and I figured out that said when did they had this and I went back and looked in like it was in the 1st version Python so it was very clever but I've never seen it before and it's so every time you have 1 of the syntactic constructions and no one's ever seen before that's where things get a little funny so but what I would say is that In general the language is not changing very much from version version we had very little new syntax I think in 3 5 we added to the Act signed for a matrix multiply operator which would only isn't even use this you buy them with some of the types use it but I think there was maybe 1 of the syntactic change I can implement basic weight alright that's that happened right at the end and that all but to stuff and I don't even understand right now so I yes I worry about it but I think that in general the languages already so complete and so the old and feature rich it's kind of hard to find new features the 1 and 2 it anyway and so tight pants type hints yes what about type and say that there is
conceptual artist for beginners in 12 and my dont on that is that type pending has been there history that out so it's only now that were starting to use it but has actually been there for a while that yeah yeah I just want to clarify about unit called so green I think he teaches mostly in North America and North America's mostly English School for english speaking users maybe there's some conceptual and the ball unit called they have this and it's a new concept for them and for the just work with later 1 encoding but for the rest of the world especially good change which will simplify the lot of the stuff you don't see a lot of unitholders you don't have to false for specific projects guidelines like in general that have to do you call themselves to ways and and to in order to avoid having unit there's so it does simplify a lot of things in environment actually maybe it is a little bit harder to teach people about the most important concept actually understand and who spent less time to bugging you buy them called later about new
syntax a lot of this index is also like if you don't need a single weight you just don't use it as a beginner you don't into mobile precinct away at all you just people through for so world stuff like that it's it's it's it's not the issue as for the directions we himself said that this is kind of an experimental provisional feature but we won't be on updating standard library yet but will still hold those so does require some additional minutes index so many doesn't will see but again it's it's it's standard and advanced features for a large software developers for large large projects and again it simplifies the movement a lot of work against the risk is that beginners might
encounter this stuff from 2nd place and they into it and then it's like this is this is like the right and that at the point that we
had in the standard library and the center library is supposed to be a place to go and read good Python source code so if you tell the years although only the Python library and they're going to have to understand what happening any an at the very least they know how to ignore it properly but by I there is somebody piped up and said install that idea but I'm on the fence about it what we says is that kind of thing Google and Facebook both had their own independent projects to add static type it into Python and it became very obvious this was something that large coding houses needed you should have some experience in that column are there are you familiar with the large colony house that might take some advantages tightening if it existed yes yes yes so it's not it's not that there is a need for it is just that I the guy often his garage coding up something easy we develop this project is the type and the and the the help but there are definitely institutions where it can be very helpful so I I really can't say no to tightening and I hope that the rest of you will least learned to love it the way that the list of all rest of looking at going on hopefully thank you
well I don't see any concern do don't get to go home early homo there's a kind of thank you for a microphone around by the way in the world of and suppression how is see I think co-development funded and are you happy with the situation 2000 court evolvement is essentially
not funded but there are a lot of people contribute their spare time to it on there are a handful of people who paid to work on a full-time very rare but the 1 name comes immediately to mind is Thomas staffed by other doesn't work on C Python itself but he's the guy is keeping PI PI running time and he's also doing a lot of work in packages are you there is aware of the sum is paid full time to work on the platform like a really on unsupervised of the working
on OpenStack Networking and can't about equitable In fact the rate that gives me times to
walk on the bottom so it's part of my talk diameter it it's not my job but for time but also to run so your question if we are up yields the situation I'm not appeal duration because uh and many you which company use on and and they expect that the search when you have some money too to following the and I would be very happy to see more of them and the proposed state to it's
so what we have lot every year the department yes
we have the Python language summits where all the implementers of C Python model information and people from the core projects come and join together exchange stories and do like extremely and use the next year and 1 of the ideas that we had been enough of a language summit so officially it we should do you again what we did like even before my time before drawing this about government to dominate and have the mn way once a year like kind of a meeting error as Sprint where we get to the other 1 location and uh just had gone Stava than even to the implantation of code but robbery exchange ideas again and on and coding level and implantation level and will looking into that well and were actually we are having a small sprints in September I can be held in California and was invited only very small but Medak sponsored so I like tells of being paid for things that but in general the most people were doing Python corticomotor are donating their time to a Guido very famously got to take his own projects when he went to Google and I think it's kind of true is a tropics as well but he prefer spend about presented Python development 50 % doing like real projects for the community working for the he says it's sort of constant stay grounded most people don't have that luxury most people or not with a velocity and yet it is sort of surprising that so few people are paying for pattern core evolve to progress and so many people are interested in it you know it's story little red hen but I don't know how to change the situation particularly around the PSF has a pretty decent size war chest but it's got a couple million bucks guess and it hasn't spending the money very much for this specific on Python portable and it's been spending the money you know running on and then sponsoring like sprints and meet ups but not portable for the most part so that there's kind of idea to try and knowledge that PSF back into putting a little bit more money into cortical and stuff
yeah let so we got but on the other hand creation of reverse that was the future of items in terms of the features in terms of well we're going nowhere what time the ideas that you shared between you and well you well removed the go beyond that I
really have no idea what so the the the the general answer this question is work what are the future of C Python is whatever people add to see 5 and this is not again be flat I maybe long ago there was a master plan for C Python that will happen is that was like 1 at this known 1 at that about that it's been 25 years we have all the stuff the 1 that so but there are people have ideas about how to enhance the Python we have this whole have process as if you wanna see the the immediate future C Python like the near-term future money and maybe a year 2 I would say a reader the perhaps that are open but beyond that nobody has any idea I mean the individual developers how ideas of things they want Agassi Python I have ideas for things I wanna do not necessarily visible to the user of like internal implementation details the things like the there other things as well not really user-visible but fundamentally python is changed by the core developers in the court of opposite proposed a changes in make changes they're the ones where staring at so we could individually answer what were interested in working on revenue into in the future but there's no the Grand Master Plan and 2 years later most
of the new features operable the
core developers but actually if any 1 of you can suggest new features 1st of all you should google if a post adjustment for additional by the ideas of mailing list archives and maybe it was proposed for the nation created and see why this idea was rejected usually there is a very good reason for it but if it wasn't our proposed then you going those about the only by the US and leave or developers find that they can actually implement it will be implemented so maybe need to change something that Python them and custom proposal but what does a pretty standard thing to do all the deadlines cultivated there are lots of steps through through so I'd say if you have an exciting idea just going proposal combined ideas but always letters so there is no way of global agenda for Python toward direction should move for each on the Wilbur has a their own and the ball that I can tell you about my about what they actually want to and by some of the basics of effect of time I want to have asynchronous generators to make a point on the part of it Lauren but that's a that's a very exciting new future and think about their own lots lots of technical details on the water and the whole the might not work for us so we still have to figure out there but I hold to have a that for that many in the months of mother the thing that we are kind of focusing right now in 436 his performance so for instance a huge watch what emerged about 2 months ago that optimizes call or cold spot and called it and then processed by the sea wall which boosts performance anywhere from 0 to of 15 per cent of so is quite important I also have a couple of lectures of the Dutch sea and political processing and they can actually boost performance from again 0 to 18 to 20 per cent of but those purchaser kind huge this that have to spend a lot of time to actually make sure that they are correct and that they don't import performance in a negative way and this is what the picture is actually working right now he's redesigning the wife and benchmarks with adding more benchmarks and making sure that the benchmarks collects thoughts and doesn't correctly that should ensure that new changes in supply from the don't current forms of so you have a lot of things are affecting issue want to read about them you can subscribe to point and they're from just listen really read the wells and then will have pretty good idea what what's what's actually going on the the promise of
future off the bottom is to make sure that no the fumes channels because the legs of language and I don't want to see new Q was and don't want to see new things for for me as a alone which is perfect but if you say and so I turned into a fight and it's much wider than just interpreter community by 10 is a wide community for example if you take the jungle project can go is not part of this you buy it but it's a very potent project for quite some and I hope that many you your project create pop-up enough fury and then will read I had people to migrate to by 2 pi tunnel and make new amazing stuff In today's pp is working very well much much much better than materials ago so we don't have to add new stuff to but preferred to work experiments on new things outside and shows unknown pipe
just as a quick note there is an immediate change in Python
3 6 that 0 no you for using it so that that's called f strings and I think it was a lightning talk about like last nite yeah OK see you sort of strings that it's my i think every fractions about the same the 1st time that's terrible Iraqi actions chemical so hopefully you will enjoy that you 0 the more general comment about any new features to Python to these days we all about agile processes and frostily release cycles fact see but evolvement is more like developing a huge enterprise so there we have a very long release cycles so we'll reasoning was Python everyone of Europe we will maintain Python for always 5 6 years even longer and we need at least 1 version of Python to deprecated new features to the find getting new feature now to Python expected to to maintain the feature Foley's next 6 8 maybe 10 years so n this is joint with we welcome any willing to join the particle but when we need you we more people if a crazy amount of patches and box on Aboutrika but if you join C Python you also be a warning it takes a long to get a future into Python because we don't want that feature creep you want a less features as required to get something working very good example was patented of 6 so when we had the Jason noble was you know before that as simple Jesus and 11 packets and just and all our enemies spend very very long time on getting Jason or even working properly and 6 saying Marie bad regressions and we got the original author remember the package and then decided to work on his own fault most of the time and so the simple days move so it's this is not the same as the G small and the center library and we just won a wide that we and have to maintain a package that it's kind of like a band throwing the some library and then the bend and speaking of the the speed of the ball and by the way 1 change that is happening in the public order problem right now is that we are planning a switch from the to get and specifically it's not the were moving to get it so willing to get half of and that requires us to move again but there's a lot about this apartment coevolving process that is kind of slow and backwards in ancient processes there were designed back in the CBS and subversion days so there's kind of an expectation that things will pick up a little bit about once we switch to get up and that's going to make our workflow what smoother mental be easy to do things like pull requests and I don't expect that that's going to speed up the piece of the change of the language of much but hopefully it's gonna make emerging bug fixes a lot quicker OK I think we've answered that question about as many ways as anybody should do have another
questions please so is there's a hand held up when come I not wrong direction make them that fell and what the might of our 9 o'clock in the if you look at the and I was actually wondering about this study is that checking and various might 5 it is on the development and I know it's not really into the core but is there any plan to indicate that kind of features into the from OK so but rather as I understand it
that no there is no immediate plans to add the static type-checker into c . on the plan is to have a standard for how you express types in C by 1 that's the typing module that's shipping in 3 6 but but the static type checkers are going be written independently that's my Pi and there's another 1 I don't remember that what is called type-checked by type I type of that yeah so there are competing independent hijackers on my pie is the 1 that will is working on but I think he also contributed type now and and to and the idea again the original idea with type information was will add the syntax of language and then let people experiment with that thousand flowers bloom and almost nothing happen with that so we said OK we're going to find 1 going to pick 1 when that's going to be the official 1 in our going all allow you would write a static type-checker so that people can enforce the level that they're comfortable with that we can experiment with and see with the best approaches so right now there are no plans to ship a static type-checker with Python but there are plans to have a standard for how you express the type information in Python and then eventually I think my guess is that within aversion to understand library is going to have required type information although we do it said no that's we're going be a about that but certainly new modules that would be at the stand library would have to have information probably 3 7 minus and the next question would be optimisation based on those things know how
and nuclear has said in so many
words that doesn't expect static type information be used for optimization of yeah I I'm just kind of not seeing it we have of course and expert in optimizing Python and here's your arm has set in so many words that you don't need a static type information and in fact that the 2nd type information would be useless I'm in its current form 2 pi pi because it is not nearly complete enough they need so much more information than static type information as defined in python can express that it you might as well not even bother so I'm not there there are certainly no plans for adding optimizations based on static type information in C but no no plants I'm not aware of anybody assisted working on so
even 7 mainly from the seat of the siphon projet
uh not using any kind of information to generalize minus the C code and actually when you out the question of so little faces smiling over there and maybe I want me come up and of course strongly about all European Union experience with populations so the shaking is that by the if you wanna come up and stand up and if you don't come up and keep sitting down it's fine I already said what he's going to say OK friend and just to detect words that are the same and that's the energy component you don't need the and so on you look after knowing that son and the ground you have to know if it's always positive you have to know the maximum value to to use the most efficient depending on the range of the value and that's just an example but not injured compiler you need very precise on type information much more than just as there the 2 hands down here
school while I'm walking to the longest possible distance and I would like to to of abuse my porous that they're of 2 microphones on I've kind of promise to URI to come back to core developments in Portland and help them all but extinct over and I'd be interested can either a few rule on give me like a timeline or a current state of the infrastructure work the bridge canons were is what Europe is doing currently or I can give you a quick update
yeah so again the plan is to get and get half of currently have the repository has been converted get harder and more recently the Devon ABox repository has been converted I don't know what losses the PEP repositories just static text files that was pretty easy but the there is there's absolutely work happening but there is a more about grand like you know we there's a certain amount of workflow redoing retooling that's going to happen around Python survivors to be the last thing that changes over get and there are a lot of other repositories of interchange 1st and there's a lot of arguments about how the workflows who work and our using a like-named branches and you have the idea the idea so absolutely is happening and there is a mailing list of course the specific for it and is probably 1 of these things work opposed to the wrong list everything yell you know composers are those instead but there is a court of law or workflow mailing list and it is very active but I don't remember I I dimly remember there was something about would really like to get C Python on get out by the end of the year I'm not saying that absolute what they said I may be completely misremembering but that's maybe say which you I'm sorry did they say which
here yet another set of questions probably smart thank you
and you mentioned as strings and going through a
little mental processes initially been polled and then kind of gradual acceptance of many 5 stages but the stages of grief yeah exactly so that I wonder if you take a 3 x i think the angle possible stage but I'm I'm absolutely open to to move I mean and I want to move on to the next session 1 if you take me through
the thinking but what's this is simply that it's just going to save some time how often do you want to insert a local variable formatted into the middle of another string and the answer is pretty often would be nice if the language could just sort of paved the way for that so that there would be a special syntax where that would happen for you automatically and the answer is well yes I could get kind of behind that so but fundamentally at at the strings is going to save you some typing right now I do something horrible horrible like . format underscore map parenthesis local practices Foster locals with but as syllables in the format war format map and just look but some cases but you also said who at 1st I was a
little bit of holds as it evolves if elected system makes in the and and that that come because I'm not sure it's so it's it's for local variables I'm not sure that it pulls
out modules at it's it's uncertainty you guys remember like it's like it supports model variables but not built into something like that I think you can actually use any expression in the string so that's that's why I've actually will save alot of space and a lot of Google type and also a lot of languages have the feature and uses our and the question can and expected from Python to defend the seizure as well so of but I think it's it's it's a well-planned them will discuss way of making something like that and input to your reaction about says that you realize that you're the 1 riding the stress so if you write f this quote marks curly braces that exit that were to operettas close friends as close curly quotes close quote in in program exits enter shocked and I don't know what's going on here and if you're worried about this string coming in from users realize that this is a special string inside of Python it's it's a static strings of surprised on you would have to go through some can portions of words we get a string from the user that could possibly be tainted with these curly braces Systat access and head of automatically run so I would worry about that but under was an
excited duty all the other central I I'm wondering how hopped would be to change they basic Python interpreter in order to run several she Python Java just in the same process I multiple InterVA
simultaneously so but I have 2 answers for you the 1st is that Eric Snow looked into doing this on for a while and he has no stopped so he found it too difficult or something like that and think fundamentally so was is talking about was that you're OK maybe you could talk about it for a minute but my other you talk about Eric's work my answer is that I don't exactly that hard but so inside the Python there are 2 separate structures there's already a pi its state represents all the state the specific to thread and is known Kopite interpre state is always state relevant to a lot of Python interpreter and there are a couple of other random global variables instead of variables and then spread through the source code and we just take a passive cleaning those up and then there is a single global variable that stores the current global state interpreter the coalgebra state and we just need to to tell people to stop using that instead use a macro the pulled out from local storage or something but other languages just have a convex variable that is the your forced to pass and every function you call and we would get away with adding 1 of those so we just have to hide the reference to the current running interpreter inside the thread state or the thread-local thread-local storage or something that something is going be that hard so as part of my colectomy work I'm thinking that may actually like as a sort of a stretch goal hope to try and get multiple interpreters running I think that multiple threads or more exciting and I think multiple interpreters to solve problems for some people as well and so I'm kind of open the way to do it yeah so water is said to to to modify survive and actually figure but right now you can actually have multiple purposes running and for instance of the this was an extension for a bunch it's cold called whiskey about we currently uses multiple into features of the some ugly cold in there it breaks all the time but initially it actually doesn't have a lot of people use them production so it is possible that is not recommended but then they can currently get away with it because they they the 1 extensions the use the the kind that control the they know what they're doing so that's why but it's possible to to fix supplied from completely to make it the future of the optimization 1st used to fix all the c . extensions that we have all their which is a very hard thing to that of and the 2nd issue is that if you just label of multiple interpreter probably won't be much you can just use subprocesses of process of for that because to actually use it efficiently you need an efficient way of exchanging data between multiple interpreters and and this is really from this this is an unsolved problem it did probably could be easier to exchange let's say bytes objects between sub interpreters but if you want to exchange of complex data structures but it's a recurrent problem solved of yeah they had the
right away is that there's a guy
James lesson that James how is it that the pike often guy you really do because no 1 document yeah and so he has this to think and do and there's a couple of flights pacified specified to deal open at a constant load the interpreter our global a shared library in a completely private way where the symbols on shared and you just have your article symbols out of it using the handle that gives you as you can actually load multiple of instances of the Python shared library and have multiple people each other until and knowledge of their own interpreter and you can run multiple 1 simultaneously and it only works on Linux and wanted to other platforms because it's not stand flights to the elephant but it does work after a fashion like demonstrated in lightning talks set with screen thank you that the so just going back
to format strings severance favorite topic on the server to me the reason why I see format strings as sort of why can't get past that disgusting phase is that it sort of seems a little bit incongruent with the rest of Python and not to be too prescriptive but the like the holes in a Python thing that it's adding a little bit more implicity then and maybe you know you should exist like combining both what that is in the format string is to what did local variable is called all these she think that's much of a big deal or in in is as far as it's doing things a little bit more magically problem passing indoor format is is that this is a list of is that it wasn't yet so I have 2
answers for you but the 1st is but remain Hellinger has on a sort of a mantra that he tells people that I very much agree with the with the Python is wheels language he just lets us users and we know likes format strings and therefore they're going a language and wheels letting us use the language recalls Python and we forget to use for instance to the other thing I would say is that if you think that former strings are going be to magical but take a look at how super works where you don't have to pass in the object anymore and there's a lot of really silly stuff going on there and I would say don't read it on a full stomach and so there already a certain amount of magical stuff happening under the covers and Python and at the end of the day I think format strings are gonna make people more productive because it's 1 of these things where now you're not going to have all this boilerplate we're saying . format parentheses locals and that allow which a is ugly also and B is stuff that people are gonna get tired of looking at us like there's going be less code there and this can be very clear what's going on and the implementation details maybe a little yucky but that's what pi bond is pipeline is a language where we take the hit we do all the hard work and all the really nasty work under the covers only gives this wonderful languages very pleasant to use and you have to write less code you knew your problem solved more quickly and you have less code to read is easy to read understand so again at the end of a I really think the promise transfer when I'm looking for 2 3 6 the of Europe was what what was the
1 that of here are a little late so emotional
area of the state I'm opposed to any changes in and when the new paper comes in I tried to fight through avoid any change that's what we do is a proposal to accept anything so as the and I have to they have to accept that it's in and I started to use its training and the of the new button there is generalization which is also a playing a change a huge relates this new features of Python free and then you use some to moving toward to from In fact really much more efficient than before because the good looks more juices occurred groups simple and the and his answer from the real world when I was strongly opposed to any kind of change because for example you can call excitons the of the string of your current important Europe strange things it that's Azerbaijan language must not restrict the use of the fact that the term which you are free to use it as you want you can write a very crappy code but it's up to you and that if you would like to but the days of the Quixote checks the quality of the code you have written does like binding by check up I think some things like that which helps you to take the stinky yeah just concluded quickly when this feature was discussed because of strings uh when they were discussed some of by the that mailing list of the people were asking like why we're adding force of way of of 4 formatting strings and the like what we the set his said that years down the old nobody will use of the filaments everybody will be using strings because you know they are convenient so when you think about new features in the in the Python when we had them just think about big picture what will happen in 10 years are we
done with this way we also have questions but of strengths as long were on the subject at some nice group therapy we should have samples to stage of grief before and after and I'm not 1 question but at strings from which should maybe should it be possible to make them faster to know like the formant call that they are a little
faster Eric Smith was about implementing them and he was but he was like I am going to keep going on and the port of this until this is the fastest way that you can use string interpolation and so it's like but literally I think that there is like a byte code that special and others by could support for it or if he's like using existing by codes but was like no this is faster than everything else it's what assumed to ensure there has been a lot of of greek progressions right now and I think Paulson next
this is not about format strings this all this is about that ideas and it's a Christians pointed out simple Sun made me think of this as a process kind of question think back 2 2 years 10 years where time scale you want to think of a bad decision know something that everyone on the core team thinks in hindsight was the long feature change designed whenever I can get a little postmortem on what went wrong was very process related small in decision making that led to that is a anything you can learn from past mistakes or like Alan and I have a
discussion about this with Guido it up I can actually but In Python 3 . 0 so that when you index into of white string you get an integer back yeah and I really think that it should give you back another byte string kind of like indexing the strings gives you strength spiced indexing by strings gives you by strings and what happened there was and the original idea for how by strings were going to work in Python was 1 way and then over the course of about 18 months kind of changing kept changing he kept changing and cycled around 2 whereby by strings really kind of behave like strings again on and nobody realize that when you index into the mirror she gets right strings back again that would really be convenient and then Python 3 shipped and really changes anymore but I suggested that we know that so for the bond axis pi twice twice we all walked up to me said you know like you get this done within the work maybe will Merchant of C Python will quality Python I said what we change it what we call of informal than they would make Kraken changes like that ranking change the said you know what is everyone's got the 1 thing I said the indexing of I think should give you back things at all that's pretty good maybe we could do that in Python 3 and so it would be like from future import and over a couple of versions in other I'm still kind it makes you a little anxious for use talking about changing something like that in the 3 series but was made with the changes but anyway fundamentally i it's hard to say that there is there's a process change here but I worry too much about like when something bad happens that people say all we need to install a new process and prevent them from are happening again I think it's better to save light weight into sort of handle problems as they come up so I wouldn't try and add a new processor running the sort of thing and fundamentally again and this is sort of a language designed thing and the way languages on works is that you get we introduce a yes or no and there's nothing I want to know about that process as the development of the
of light and is very very
open and anyone is free to join the meaning we have the bike and ideas meaning this tool produce ghosts new ideas and there is a button there remaining is to discuss more concrete ideas which are more mature and in my opinion there is not to many discussion because there are too many people give the opinion and it's sometimes it's really difficult to read on messages like those Umkhonto wasn't and messages so I know from my point of view we have enough for the people who to check that the future we walk in any case only really catch on most of issues that we only is a design of new future and if you would like to find 1 mistaking them by telephone I still for me it would be is immigration from frightened to afford to buy time free but of afraid great languages very very nice is just an immigration this was not really where propelled I have to do that then you can once again I would have had people to mean greater most what is the best year of immigration from 2 to 3 and think of a time machine was totally broken and the governor run universe I joined the practical development team right about well we're working on 5 3 the development name of Python 3 2 and 2 6 and we all have this grand idea that people would write Python to cope with 1 2 is able to migrate the code to Python 3 and it didn't even look forward to about that uh this it possible to write code that works on both version of Python the and In retrospective I 1 point ahead even the idea should be a bit easier to work so uh for the migration and I added during the level of Python to 6 the deep prefix and beauty is its current equals bytes for Python 2 of 6 a but for me but of the idea to give uh the to the 6 program into the 3 programs like indicator of yeah that's really abide strain and Everything use unique codes string and if you find something that's not either be your you want you there that the user has to make a decision about that kind of 4 strain and yeah so you later on we came in we were made aware that a possible to write code that works and both versions l later on we we added features like the you prefix again 3 just to make it easier to uh right only look coach but yeah that's what we think the biggest mistake we ever cortical 1 team did we totally didn't expect the way that the microscope at work the goal of our mistakes were around that version 3 . 0 there you you go neutrino by it's as hard pressed I wouldn't say that 3 that I was a mistake but but it's certainly been much tough process to get everybody up to 3 the more
hands 0 commanders doesn't somebody else want limit of string OK that's more so who would it be possible for Python to detect seizure karate imports I think Python already handles
secure imports to a certain extent if you if you if imports being imports C and C imports say that and something happens it it notices that are matters to me is something the
works uh so the impetus to move that
creates 1st like the model object and then fill them all logic would at tributes during the import and the main issue that's still true with the impetus pretend road but policy actually and a excess any attributes on the so weight the import and then later on accept them so that mostly world but and if you happen to use simple important attributes in the global so the mole then it breaks so easy carefully crafted code way that 1st that imports all the models and then you actually execute to later on after you've done all the important when you say 1 now issues I sold of of well on while ago there's people that sounds funky you things like during the input of the model based on the new thread and spread executing you could do can the decode have like embedded import statements inside the code we use functions like the uh string formatting of the method on daytime did in internal important and that could cause that lots to this makes threading in imports and try give deducible imports tried to defer any kind of code execution after you have fully important you program that good practice so the tools are don't use the recursive numbers and don't use recursive because there's always this is always possible to assure structural model more modules in a way that the don't require this by sometimes it works sometimes doesn't when it doesn't you will see an important in an important there which is kind of hard to decipher sometimes Brett Carol he is playing the lead the will of the voters behind you briefly Kindles about this issue this is not an an easy issue to solve to give you a nice and nicer message going you precisely what's going on what kind of cycle was detected so marginals of opposition leaders of which you come up over the idea how to fix it or if you have an idea about that you can can approach thank you I say
also involves a little bit under the the consenting adults rule
in Python we have a couple of guidelines that aren't necessarily in this and I thought 1 was called consenting adults which is just the idea that Python programmers are adults and we shouldn't type them too much they try to do something that's a little naughty like let them go ahead into the money thing so you have to Mexico imports and important you when you get to work Microsoft out ever doesn't work that's kind of on you so that's the sort of concerning adults rule applied here then moving
on to you're all all half and half him on the more our all on you this tree question for 1 of the and I had this may be
nothing to nothing profound here
but I'm curious about how the collective you will support of effect writing in multiprocessing is that is that is going to be really straightforward transition that all of those interfaces will just work as expected so that if you want you threads that the people so close to stand to interrupt you about the people or flooding in because we're out of time so as going the last question but your question is is the collect me going to affect CAP I was going to affect Python code yeah I was thinking more about the plight the higher-level threatening multiprocessing interfaces so the answer there is that Python today supports multi-threaded code and on I'm I'm not drive on
you can write the direction some or simultaneously you know that today and its Python and its support of the standard library so no numbers interfaces have to change it's just that now instead of running on a single core but you write a program and runs on driver on Python multiple cost C path variance on a single core in the future might run on multiple courses so you already have to write right code news locks and those sorts of things and in the future of this from the course and of the universe that can change again I were time we gotta get off the stage they pressing questions in making us look like we had something to do but this is the end of panel line


  901 ms - page object


AV-Portal 3.9.1 (0da88e96ae8dbbf323d1005dc12c7aa41dfc5a31)