← all rants

Python is still my favorite language

For programming, that is. For speaking, I'd say it's probably Spanish.

I actually think there is a connection there. Both feel cognitively easy to me. Things make sense and you can mostly just say what you mean. They both feel like English, but a little different.

Obviously that is a ridiculous description of Spanish. But it is a pretty reasonable description of python.

If someone took English and forced it to be a little more formal so a computer could understand it, they would end up with something fairly close to python. It is almost to the point where it's a bit difficult to write pseudocode when you know python. You start writing out what the program should do, and halfway through you realize you could probably just run it.

Of course, you can also do all sorts of clever, nontrivial, technically impressive things with it. You can write weird black magic in python too if you're really inclined, and random quirks remind you it isn't English (first one I was ever taught was passing mutables as default args). But most of the time, you can just write what you mean.

Before I started using AI for basically everything, I could read and write python almost as naturally as I could read and write English. There was very little translation happening. I knew what I wanted to do, and I could just type it. I could basically type pandas syntax in my sleep. It saddens me to some extent that this is no longer particularly useful.

Knowing what to do with data still matters, obviously. But being able to type the exact syntax without thinking about it is a bad use of time considering how fast Claude can write it. Something I used to be pretty proud of has basically become obsolete.

But even worse, it makes python no longer as important in my life. A huge part of its appeal, at least to me, is how easy it is to write and read. You come back to some code, look at it, and understand what is happening without having to spend twenty minutes asking yourself what the fuck this thing is.

I was going to say this makes it easier to maintain, but that's only half true. Static types are extremely useful for maintaining a larger system, and bad devs can make python truly capable of doing damage. But there is also the very basic maintenance task of opening a file and understanding what the person who wrote it was trying to do. Python is very good at that. I have never quite found the same feeling in another programming language.

The problem is that it is also slow. Sometimes much, much slower than the alternatives. And when I am having AI write most of the code, how easy a language is for me to write matters a lot less in the decision.

So now I use TypeScript (which I hate) for basically anything web appy, and my main stack is Rust (which I'm learning to respect) and SQL. I do like SQL BTW. Select this from there where whatever is also effectively just formal English. There is something very satisfying about that too.

But python has gone from my daily driver to something I use for quick experiments and code that other people will interact with directly. Places where its readability still gives me a clear reason to choose it. That all makes sense and no regrets. Still, it is a little sad to become fluent in a language, really enjoy using it, and then find yourself with fewer and fewer reasons to write it.

All this long blabla, and still I have to say that whenever I ever open an IDE and start typing code it is always in python, and I think it might always be that way. Favoritism can be ok sometimes.