I've been going to PyCon since 2005. It was good to be back even if the conference was smaller than normal. Python is in a great place. It still has some warts and issues (mainly from the time it was originally developed) but it has a huge community, wonderful libraries, a steady stream of students learning it in college, a large demand from corporations for anyone who knows the language, and it is used in many domains.
The announcement of PyScript has the potential to be a game changer for many as it removes one big sticking point. Getting started and environment setup can be a pain. Hitting a URL and jumping into coding from the get go is especially big for corporate trainers like me who tend the spend the first hour or so of a class making sure everyone's environment is set up correctly.
Hi Matt, speaking of PyCon, thanks for your talk on Qtile many years ago. It remains one of the funniest lightning talks I've seen, and also influenced my talk style to some degree.
Ha ha. Thanks. I've had a comment similar to that a few times. That was probably the most nervous I've ever been for a talk even though it was the shortest talk I've ever given.
The author mentions my talk in the list of ones to watch ("Open Source on Easy Mode"), but the actual presentation did not go well due to technical difficulties. I made the brave mistake of bringing only my iPad to present with, and apparently it was refusing to output 1080p, which resulted in squashed output of my slides in their A/V system. And delays while trying to fix it meant I had to give my talk on a compressed timescale. I had to talk even faster than expected, and still needed to elide some bits at the end. Lessons learned, I guess!
I'm planning to re-record the talk on my own at some point soon, but until then, all of my slides and examples, and the full script for the talk, are available on my github repo. Hopefully there's something useful there for everyone:
This is why I always present using a bare PDF with no animations. Anything else is too risky imo. A talk is already scary enough without having to worry about tech issues
For anyone who hasn’t attended PyCon I’ll offer this anecdote.
This was my 10th year attending. In my first year I meticulously planned all the talks I’ve as going to attend. I later learned this was a giant mistake.
As the years went on I spent less time in the talks and more time in other areas… Talking to people in the exhibition hall (what hard problems are you guys solving? How do you manage the business side of open source?) The “Hallway track”. Joining groups of people for random excursions.
This year I went all in on open spaces. They are the most unique part of PyCon. I don’t know how to phrase it other than “what topic are you interested in but haven’t yet heard about? Do an open space on that and people will show up.”
PyCon is truly about the people. All of those “I came for the language and stayed for the community” comments are 100% and it’s hard to get this point across if you haven’t experienced it.
Can’t blame it on the organisers. In general keynotes don’t provide details beforehand, and I suspect they are as surprised about this as you are (maybe except some insiders that wouldn’t spoil anyway).
Python is still the language that I use to teach others simple programming concepts (basic control flow, branching, I/O), and also for automating simple tasks that aren't handled well by shell/sed. I even use it as a simple calculator.
I don't use python for "real" programming and haven't for a long time. But I still can't imagine being without it. What would I use instead?
Ruby is a nice language, but not great for teaching in my opinion. And if I'm rusty it's just slightly harder to use for a one-off script (perl is even worse here).
I'm interested in why Python is such a good teaching language.
IMO I find that indents are supremely useful and visually appealing to the novice. They just look fantastic to people without decades of parentheses muscle memory.
But my pet theory is that explicit typing is really key to newer programmers. It just helps show them what is happening. I remember, Python took me awhile the first time.
I think Python’s tendency to look like pseudo code is a big reason. It’s less intimidating than archaic incantations like “int foo = 1;” or “for (x; y; z) { … }”. While familiar to us, everybody has seen a colon followed by an indented list of things, and everybody has seen “x = 1” at some point.
PyScript is built on top of Pyodide! But it's probably the first well-supported way to build frontend apps with it. I imagine the fact that Anaconda is backing PyScript means that there will be increased investment into Pyodide as well.
AFAIK, this is the first time that CPython could be directly compiled for WASM (with no patches IIRC), and PyScript adds a number of components for better integrating Python with the DOM, importing extra modules at runtime, as well as a dedicated py-script HTML tag.
But I've personally never used either, so maybe I'm missing something too?
As a general question for anyone using python as the primary programming language at your job: what do you use it for?
A while back I did an analysis of language use across job listings and engineering blogs (for places that weren't hiring). What I found was that many of the job listings for python were actually for more systems/devops roles over other more traditional SE roles (Software Engineer, Distributed Systems Engineer, etc)
Having used python as my primary programming language at work for the past decade I would say that the biggest use is within anything related to machine learning, scientific computing and data analysis. It is also huge within the GIS and Geodata space and everything connected to that.
On the web backend space its pretty good, but if there wasn't a secondary reason to choose python (ie my web app needs to do a thing python has a really good library for or I already have a bunch of python code I want to reuse), I would take a look at other languages as well before deciding. I might end up going with python, but only because I know python really well.
I've also worked on a large, complex desktop GUI application written mostly in python and not sure I would pick python for that use case again.
All that being said, I'm sticking with python as my go to language since it's the only language that I just know will have first class support for any problem domain I happen to stumble into.
Data science and ML - exploratory analysis, experimentation, ML in production, and the occasional non-ML REST API - all of it is in Python in our case.
I use it for building various tools and Ansible plugins in operations. Mainly requests for talking to REST APIs, json for json, aiohttp and asyncio for parallelism, pyparsing for parsing, argparse for sane CLIs. Python is installed everywhere and most people understand it enough to clone a repo, edit what needs changing and ./go in a pinch.
HEre in the UK, it is becoming the standard for test and automation, especially in the embedded/hardware domain. I have seen quite a few Django jobs here, but dont know how popular Python is for webdev in the UK (as it looks like Javascript still rules here)
> The recordings for all recorded sessions are being processed and edited in order to upload them to the PyCon US YouTube Channel. We expect the recordings to be available in the next week or so.
The announcement of PyScript has the potential to be a game changer for many as it removes one big sticking point. Getting started and environment setup can be a pain. Hitting a URL and jumping into coding from the get go is especially big for corporate trainers like me who tend the spend the first hour or so of a class making sure everyone's environment is set up correctly.