Shared publicly  - 
 
What do you want me to discuss at PyCon's keynote?

I'm starting to think about my annual PyCon keynote. I don't want it to be just a feel-good motivational speech (I'm no good at those), nor a dry "state of the Python union" talk (I'm bored with those), but I'd like to hear what Python users care about. Post your questions as comments here, or vote on others' questions using your +1 button.

If you don't have a G+ account, you can mail questions to guido@python.org-- I will then copy them here anonymously for voting, unless you ask me not to.
62
25
Sakti Dwi Cahyono's profile photoKevin Kubasik's profile photoGadhia Ravi's profile photoDave Carlson's profile photo
87 comments
 
We have seen lots of new linux-based devices appear in the last several years (Kindle, Chumby, Android, Roku) and many more appearing (rasberry pi, smart tvs, in-car systems). Most of these systems, though built on open source technologies, don't seem to be making use of Python. How can the Python community make inroads into these types of devices? (The Nokia N900, while not a wide commercial success, is a great example of how Python can open up development on devices. It was initially designed around C/GTK programming and later around C++/Qt programming, but developers successfully built a large number of apps in either framework using Python.)
 
But +Richard Merren, Raspberry Pi's standard language is Python.

I always wanted to make a version of the (reflashed to run Linux) Compaq iPAQ in which everything was written in Python, and call it the PyPAQ. Had fun imagining it, but it was too much work for too small a user base.
 
Your least favorite things about Python. Both the "comes with the territory" and the "[god help us] stuff we'd fix in Python4".
 
Niklaus Wirth designed eight programming languages in his lifetime--Rob Pike, four, Dennis Ritchie, three. What will your next programming language be like?
 
Guido, two proposals:
-how to manage the release using GAE
-how to test GAE applications (I have issues testing GAE on my computer, then to test the system on the cloud)
 
Sorry, only Python questions, no questions about Google (even if I am on that product's engineering team).
 
I assume you've been contacted by a number of developers around the world doing varied things, would you be able to provide an overview of the diverse applications of Python that you've heard about over the years? Which ones were particularly surprising/interesting/unexpected?

Additionally: I'm sure you have a good feeling for the sort of contexts, applications, environments, devices etc that are currently growing in popularity for Python, it might be interesting to hear about the breakdown and the various future directions that are currently being hinted.
 
What areas do you think the community should be focusing on (code or otherwise) to improve the "state of Python"?
 
If you don't want it to be merely motivational or merely boring "state-of-the-python" informational, then what's left? Maybe controversy and angst? Therefore I suggest some topics:

• whether the Python 3 adventure turned out to be a huge mistake and you regret the way you did it, or not, and whether Python 3 will gain mass usage sooner than Perl 6,
• why Python is better than Ruby,
• why Python is better than the modern crop of functional languages like Haskell, Scala, and Clojure,
• what's going to happen to Python when you die, retire, or give in to the Dark Side -- specifically, not motivationally; i.e. name a chosen BFDL successor or succession process or Cabal or something,
• what if all languages that don't compile to JavaScript become irrelevant on the client-side over the next 10 years -- will Python become a server-side-only language or will it learn to compile to JavaScript?

• Think of some topics that are even better flame-bait than these.

[edited to add:]

• The most important projects in the world of Python that are underpowered or completely non-existent.
 
+Guido van Rossum, tell us what you would never write in Python. I mean we all know Python is the best thing since sliced bread lists, but there has to be something you wouldn't use Python for.
 
Python's ecosystem is continuously evolving. Today, what resources should new developer use to get familiar with the language? Python 2 or 3? Which modules are the best for any given task? We want to hear your opinion on this. (Also, where do you see things going in the future?)
 
It would be great to hear your thoughts on the future of "generics" in Python (a la PEP 3124).
Eric Snow
+
5
2
3
2
 
Python has a history of incorporating good ideas from other languages. What are some of the good/intersting ideas there that would be worth pursuing?
 
What do you think are the best packages (or better still, the best-kept secrets) on PyPI? What libraries, tools, scripts could you not live without when you write Python code?

I like to hear about "neat little things" - tiny little modules that do one thing, but do it really well.
 
I am still "stuck" using Python 2.x because certain libraries I need have not been brought along. You could encourage people like me to get off my dead _ and do something to change that: give money, write stuff, test stuff, submit bugs to the library developers, and so on.

Oh. I guess I just did that. Never mind me. I'm just a recovering whiner.
 
I think it should be about translation of the python bytecode to other bytecode like the .NET CRL, the Java bytecode, and other languages. If python could be translated (cross-compiled) into more powerful JIT languages that would be really cool. xmvlmv (http://xmlvm.org/) kind of does this but it's not even up to a release yet. Also, integrating python in other languages like C# should be talked about, and the use of python to provide more simplistic code amongst the more complicated syntax of C languages. Really it's like if python was the css amongst the webpage while the meat of the page (HTML) is written in C++ (this is an analogy), code becomes much richer and perhaps even more robust. Sure, compiling it becomes an ordeal (enter the bytecode cross-compiling) but local integration (c++, c#, python all in one file) of languages is an awesome concept all around I think.


Like +Richard Merren was saying
"How can the Python community make inroads into these types of [mobile] devices?"

Richard raises a good question; how do we make it so python can become more popular and useful on mobile platforms where other languages have taken over. Since android uses Java, and iOS uses ObjC, cross-compiling the bytecode and local integration of the languages could give python a springboard into use on those device systems.
 
I'd love to see some discussion on getting people to move on from old Python releases. People still running 2.4 in production? That's crazy.
 
I'd like to hear about the expanding role of programming in society, and how Python can rise, and is rising, to the occasion. Scientific computing and education are solid examples, but I bet there's more with which I'm less familiar, and more areas where Python does not yet have a presence but could.
 
What is the future of Python in a world dominated by cloud computing and web services? Python on App Engine is obviously a good start...

[Disclaimer: I work for Google too]
 
I dream for PyPy to replace CPython as the "standard" Python implementation. Maybe you could make an announcement? :)
 
Out of memory message with 16GB of memory? How to reduce memory footprint in big projects.
 
Running a program from 3 hours to then find you forgot to convert a number to string.
 
I'd like to hear more about using python for building enterprise architectures and how do you see python's future regarding this
 
Threads, coroutines, tasklets, eventlets, greenlets, callbacks... There is too much approaches for asynchronous programming and as an average programmer I am lost in all these choices... What is your opinion on the most pythonic way of handling concurrency?
 
Stage some sort of debate between yourself and someone who can adopt a contrary position and defend it - maybe Dave Beazley?
 
+Andrew McNabb I recently discovered PyPy and made some of my research code go from a week to run to a couple hours without changing a single line of code. I realize there are a few hurdles (like Python 3 support) for PyPy to jump, but I too would love to see PyPy replace CPython as the standard Python implementation.
Sümer Cip
+
19
20
19
 
Your thoughts about the other Python implementations current/future status. Especially PyPy.
 
My top concern with Python:

While Python 3 is better in theory, Python 2 is what is used in practice, what has a huge number of libraries available, what has the web serving frameworks available. In the long run, libraries and tools trump theoretical niceties. I believe that going to Python 3 will be a huge mistake, causing fragmentation and disuse for the whole Python.

So, for me the best keynote would be one that reaffirms that the installed base of tools, web frameworks, libraries is the most important thing, and that the effort once devoted to Python 3 will be redirected to building better libraries for media (PIL is old, libraries for sound / animation / video / ... are not very good).

After all, why spend so much energy on unicode, and none on media? Text is far from the only communication method.
 
How channels (Alef, Limbo, #golang) will become first-class objects in Python with new language syntax. ;-)
 
A Python3000 that we were really dreaming of. I know that Tim Peters secretly knows. Hint... It has to do with an unresolved disagreement that arose over the division operator.... And THAT has to do with the need to incorporate event-driven programming. (Do I always talk this cryptically? [VPython] No, only with machine-mediated communication.)
 
Python3 goes to the future. Python2 is dead. Please, force team to migrate to python 3, enumerate py3k supported libraries and tell about py3k killer feather.
 
Please talk about your personal projects (as long as they are Python-related), either job-related (if you can) or spare-time projects.
 
Aw, man. You can't talk about Google? Is talking about Python on Android totally out, then? I've been curious if there's any movement towards supporting that, even as a library that exports Java code, since day one :(
 
I can see three main areas where Python is employed today: academia/hard sciences (numpy, scipy etc), web (django etc) and sysadmin (anaconda, raspberry pi etc). I'd be curious to know which one you see as more fundamental to the future of Python, and why. You could also elaborate whether it would make sense to build hardware specifically optimized to run Python bytecode (like Sun/Oracle does with Java), and if yes, which applications you'd envision for such devices.
 
I'd like to hear what things you've run across in the last year that really fascinated you.
 
Here's a working title, "Mutable vs Immutable: Features or Flaws?"
 
Facilities you'd like to see added to the standard library. (ex: I'd love a modern event loop in the stdlib so other modules like async HTTP client libraries could depend on it being universally available).
 
Definitely concurrency, and in particular how it pertains to I/O. Generators are great for CPU bound concurrency but don't currently work well for I/O. There are several great suggestions above to a similar effect.
 
Please do not select what to talk about based on +1 votes, as there is clearly a bias for posts near the top.

That being said, I think the two big topics that keep coming up in this thread are:

- PyPy
- Migration to newer Python releases (especially 2.x to 3.x).

Thanks, and looking forward to your talk.
 
Talk about performance. And I don't mean "just take whatever is too slow and rewrite it in C" but actual Python interpreter/VM performance. If you're interested in it, outline your ideas for improving things in the default CPython world. If you don't care, explain why you don't care.
 
Discuss the benefits of csh scripting. ;)
 
..and now for something completely different. I'm currently taking a graduate course GIS540 Python programming for ESRI ArcGIS10. Final project will involve batch procesing using Python and making a map using LiDAR data.
Anoop K
+
5
6
5
 
Any plans for actor or other concurrency constructs in the language. A space where python is not used widely is infrastructure software which need to scale up a bit. With proper concurrency constructs, softwares like RabbitMQ, CouchDb, chat servers (Erlang) etc could be written in python also. Ofcouse these softwares could be attempted with multiprocessing + eventlet/gevent. But it is neither elegant nor affordable from performance perspective.
 
I develop testing tools with Python. And when dev performance testing tools, I feel the performance of python is big issue. Do we have any plan to improve that significantly?
 
What about looking pypy and how you see the long term future of cpython versus pypy ? Will cpython turn into a reference implementation only (long term of course) whereas performance demanding applications would use pypy ?
 
Python is already hugely popular and successful by almost any measure. What is going to keep Python relevant for the next 20 years? (Not sure that you or I will know or care that long into the future, but... think of the children! :)
 
What about getting universities to teaching programming in Python instead of Java ? Java is too complicated for someone's first language.

What about the future of Python using multicore architectures ?

I also agree with a lot of people who commented on how do we get out of the "I'm stuck in Python 2.x because the libraries I use are only available there".
 
+Michael Burke Raspberry Pi will run Python by default. It's cheap enough for every student to have their own Linux box. And if you totally screw it up, just pop in a replacement SDcard.
 
Why you think (or don't think) that Python would be a great language to learn programming in. I think it is, but I have seen shockingly few examples of people having been taught Python in any formal education (primary, secondary, higher).

Until our AIs come of age (who knows when an AI comes of age anyway?), computer programming is likely to be an increasingly important skill in this society. I think it would be great if people were taught Python as their first computer language; it's easy to get started with but powerful and mature enough to write serious software in.
 
Peripherial issues, libraries, language bindings etc, are important, but they are community effort dependent, so they'll evolve organically.

However, growth of the community itself depends on the union soup with awful state: RunTime, VirtualMachine, GIL, Multi-Thread/process, thread libraries, computation clusters, GPUs, memory integrated multi-cores, pypy, any possible python compiler, llvm, sdcc, x86, arm, embedded relateds, microcontrollers, phones, other buzz words and blah blah. Some are related with python, and some are even unrelated to the python at the first sight. However, looking at the http://www.ohloh.net/languages/compare you'll see C, C++, Java, Python each share approx 10% of the total code commits and 7% of the total active projects on earth. Considering the effect of these languages on the soup, Python lags behind.

Besides; C0x, C++11 standardization, STL, Boost.org, pocoproject.org http://live.gnome.org/Vala, http://live.gnome.org/Genie, http://shed-skin.blogspot.com/, and GO! are doing well. That is, Python had to rethink the its strategy about C stuff. Rather than duplicating the efforts in the C main stream (especially in concurency and libraries) it should cooperate and/or merge in some form (A Pypy, Python<->C/C++ compiler, or any other mix).

A practical layer/language/syntax/platform/library collection/etc (whatever you call it) need over C/C++ is obvious. Now face it: It is the very reason for the existance of Python community. Now, they demand the power of C and concurrency. That is, there is a strong need and inertia for the transformation of "C/C++" into a seamless "C/C++/Python" suite. For this to happen transparency and connectivity with C/C++ had to be improved. Here I'm not talking about an assimilation into C bureacracy. On the contrary, if it can utilize its potential, Python can even dominate that landscape.

If it can not, looking around there is Google's Go. Addresses all wanted paradigms, concurency, performance, native code and some libraries. But again lacks community. (for now!)

And there is little Lua, addressing lightweightness. (Python should be as well.) But lacks a community to support peripherials and libraries, organization..

So we are now here at Python, but not without wrinkles. I'd like to see Python transforming itself into an amorphous C/C++/Python suite. If that happens, the language debate will be over.

So my word is for PyPy on 3000 in the shortest possible time. It should be available with extreme ease to the casual user on the standard distribution. Let's see how things will evolve around it. If Python can get the attention of other toolchain builders (especially http://llvm.org/), things can get quite a lot exiting. Its reflections will inturn transform the Python itself. I guess 4000 is about this..

If Python can not succeed, most will go for GO. And I'd be glad if Vala/Genie would have been a good competition.

So what is the position of Python on this playground?
 
I'd like to know how well suited Python is for business critical applications compared to e.g. C/C++ and Java.
 
seems like concurrency is a "hot" topic to many people (including me) - I'll vote for this too.
 
What is wrong with Python? If you could do it all over, how would you design Python differently today? What would make Python better?
 
Moving to PyPy. Compiling to JVM, CLR etc. to make Python even more widespread/universal.
 
Compare Python to Cobra (Python like/inspired language with built in testing, contracts, static and dynamic binding, etc).
http://cobra-language.com/
http://cobra-language.com/docs/why/
http://cobra-language.com/docs/python/
I really like the features that Cobra has, and would love to see some of them be part of standard python. I use Python with wxPython as the GUI just works (on Macs, Linux and MSW). The .NET/Mono dependency is limiting for GUIs, or probably more to the point guis like wx are not widely used/maintained for .Net/Mono environments.
 
+Brendan Simon I played with Cobra a few years ago and I actually think that it would be great if we had some its features in Python (maybe in PyPy?). I would especially welcome invariants and pre-/post-condition built into the language (inspired by Eiffel and Design by Contract). What I did not like in that language was the removal of colons (which in case of Python AFAIR resulted from a usability study which suggests they are a good thing and make the code more readable/less error prone) and lack of multiple inheritance (the latter probably because of CLR). I was not sure if I liked Cobra's approach to testing but would not mind to have it as an option in PyPy.
G Chang
+
3
4
3
 
I'd like to learn more about python and performance, in comparison to native compiled code. Compared to other languages,how much more would it cost to run a site on python - in terms of # of servers required or power? For every % performance improvement that could be made in the interpreter, how much power might be saved worldwide on python powered sites? What's the current state/future of pypy?
 
What about:
- Python for Embedded and Mobile platforms.
- Python for Davlik VM
- PyPy
 
Instead of talking about super deep minutia, talk about what Python means at a larger level. More schools are replacing Java with Python as their introduction to computer science language. Python has become an important programming language that both beginners and pros use.

Reenforce the spirit of keeping Python powerful, and yet accessible and easy to use. Talk about what Pythonic really means.

...and please don't show a slide that shows the LOC committed to cython over the past 15 years. :)
 
The Possible Proliferation(s) of Python from being just "a scripting language". Concurrency, Multicore, Networking and the Internet of Things!!!
 
As many others pointed out it would be nice to talk about performances once in a while. Python is great, but using it for many gild.com contests I can clearly see and point out its disadvantages (just like memory management and speed of its pure pythonic modules). As already said by other people here Pypy and Cython do work great if you want to increase python performance, but they are not python basically, they're something else.. So why bothering talk about them? What I'd really love to hear instead is a keynote on efficient structures, memory management, how to implement efficient algorithms using modules such as heapq/itertools, when to use map reduce and so on.. Basically insights on how to get the 101% from python to develop faster and cheaper apps.
 
@Luca Giacomel: I am sorry but I have to disagree that PyPy is not Python. It is.
 
+Tomasz Kotarba mm I don't know if I agree. For sure it's "more Python" than Cython, but it's kind of a meta-Python as their headline suggests "PyPy is a fast, compliant alternative implementation of the Python language"
 
@Luca Giacomel: Even their headline quoted by you states that PyPy is Python ("compliant alternative implementation ") - CPython is also an implementation of the Python language (currently most important implementation serving as a reference). As Andrew has already suggested, you should definitely try PyPy and I am sure you will be pleasantly surprised. PyPy (and other implementations but I believe PyPy has the biggest potential) should not be dismissed as they are a very important part of the Python ecosystem.
 
Taking Will Hardy's suggest to the extreme: how 'far' has Python gone... in space, under the ocean, in war, to fight crime, to commit crime!, in healthcare, in carpet cleaning ... and a whole range of completely unexpected places. I would love to see that!
 
I wouldn't mind hearing stuff about how python developers can gain more in-roads into the android platform.
 
Most interesting/helpful/inspiring use of Python you can find/be told about. How python is feeding starving children, solving global warming, cleaning oil off penguins etc etc :P.
 
The future for developing apps for Android, iOS using Python
 
How about discuss your plan to finally get rid of lambdas :)
 
i think it is time to make a plan for community to  switch to python3,
some popular python library will be support python3 in one year,right?. i want hear the news
 
Global Lock, will it stay or go? Is it part of the road ahead for Python?