reuven
I meant that every time our programming has taken place further away from the raw hardware, we've created abstractions that allow us to think at a higher level, allowing us to build larger and more complex systems. That also let more people write code.
I believe that programming with AI means no longer thinking in terms of strings, lists, and dicts, even though they're clearly being used by a lower level (assuming that AI is writing Python). This is similar to how we don't think in terms of bits and registers, even though those are still being used at the even-lower level.
I'm starting to think about what abstractions we'll want to create and use at this higher level.
Show HN: In-browser Python/Pandas/Git practice with animated Git simulator
https://practice.lernerpython.com/classroom/540d7ab1a1/
I've created an in-browser Python/Pandas/Git practice environment for my online learning platform and also for my corporate training classes. I'd be happy to discuss how I went about designing this, how I'm using it in my classes, and the architectural decisions I've made.Most interesting, to me, is how much is running in the browser. Thanks to Svelte, Pyodide, isomorphic-git, LightningFS, and...
30 things I've learned from 30 years freelancing
I'm OK with Lisp output, but maybe that just shows how old I am. :-)
I wonder if it's possible (or wise) to have two different compilers for a language -- one that's optimized for such tight loops, and another that does thorough checking, etc. You know, kind of like -O, but at a much deeper level.
Is Python Becoming Pinyin?
Is Python Becoming Pinyin?
We're all VCs now: The skills developers need in the AI era
Pandas 3 Upgrade Playlist
We’re all VCs now:The skills developers need in the AI era
Things I've learned from 30 years as a Python freelancer
I think that we had some great ideas, including guiding instructors in the creation of online classes using the best proven pedagogical tools and theories. You could connect lessons to standards (if you were in a school, or wanted to be associated with one), or could do it free-form, or could use templates of various sorts.
I ended up finishing the PhD, so I can't complain too much! And as I wrote, I was probalby not a good person to run a startup; I'm much happier with my life as a bootstrapped freelancer. But it was hard to realize that I spent a year or so working on this with very little to show for it -- especially knowing that it might have thrived under a more experienced leader.
30 things I've learned from 30 years as a Python freelancer
Show HN: Uv Crash Course
https://lernerpython.com/uv-crash-course/
This is a a free, 12-part practical introduction to uv for people who already know Python and want to (a) know what the fuss is about and (b) how to incorporate uv into their daily routines.
So your points are all valid -- but I'm trying to address pain points people have repeatedly raised, and that I myself experienced, and flatten the learning curve for as many people as possible.
I had some thoughts about how things could improve, but the core developers said that anyone with their own ideas had better think through all of the implications, because packaging is super hairy.
The uv folks basically took that as a challenge, and said, "What if we have one package manager that replaces literally everything else in the packaging ecosystem, hiding the stuff that people find confusing or annoying?" Color me impressed; they really did it.
System-wide package installs are a weird quirk of my own work, since I'm doing very little product development and lots of one-off classes. I'm not at all recommending that "normal" developers do this, and I make sure to say that in all of the courses I teach.
When I shared this post with them, my students said that it clarified things they didn't previously understand, even after reading the documentation. Part of the problem is that the documentation describes lots of options, rather than explicitly encouraging one particular path and model.
So I don't think it's just me; people are excited about uv, but aren't quite sure how to use it. But hey, I could be wrong!
As for your comment about venvs -- I teach them, I demonstrate them, and I use them when I work on programming projects.
I mostly create one-off Jupyter notebooks, which don't (in my opinion) merit their own venvs, because I don't care about locking versions. That said, I'm switching everything such that every class I teach will have not only a GitHub repo, but also a uv project, and thus an implicit venv behind the scenes. I still don't have to worry about package conflicts, but I want to be more in line with community conventions.