- C takes a lot more context than a high-level language
- a lot of C code out there is not safe, so the LLM outputs that
- C encodes way less of the programmer's intention, and way more implementation details. So unless the author is extremely good at naming, encapsulating and commenting, the LLM just has less to work with. Not every C code is Sqlite/redis/ffmeg quality.
- the feedback loop is slower, so the LLM has less chance to brute force a decent answer
- there is no npm/pypi equivalent for C on which to train the LLM so the pool for training is less diverse
- the training pool is vastly Linux-oriented, with the linux kernel and distro system libs being very prominent in the training data because C programs on Windows are often proprietary. But most vibe coders are not on Linux, nor into system programming.
Sure, you can vibe code in C. Antirez famously states he gets superb ROI out of it.
But it's likely you'll get even better results with other languages.
Microsoft has this problem with most of its products.
It's not just AI, it's a market fit and quality problem.
They don't need to solve it, however.
Their strategy has been quite clear: make it barely usable so that is passes muster to auditors, integrate it with systems that corporations need, and sell them on the integrations.
Teams and Azure suck?
So what?
Big companies will pay for that, because it's integrated with their ldap, has an audit trail, gives them the ISO-whatever stamp, and lets them worry about something else.
That the users are miserable is almost never the question for the ones signing the checks.
In a world where box-checking is paramount, this approach is a winning strategy.
Tell claude to put the screenshot as an centered image with the body having the starry background on repeat. Then define the links as boxes over each icons with an old little tech trick called an image map.
Notice how the article load_penguins() example starts neatly after all the messy parts of data science are done and stops right before the next pain starts.
It lives in a sterile, idealized world.
Python is a great language for data science in practice because it turns out data science is also:
- gluing a lot of data sources
- cleaning up a ton of terribly shaped data
- validation and error handling
- I/O, networking, and format conversion
- emboarding non-programmers into programming
- wrapping a lot of compiled languages' libs or plugging system
- prototyping stuff and exposing that prototype to some people
- turning prototypes into more permanent projects
And it turns out Python and its ecosystem are good at those while remaining decent at the other things.
There are other languages excellent at some of those, or some of the other things, but rarely good at most. And because humanity is vast, diverse, and constantly renewing, being the second best at those is eventually always winning.
Because whoever you are, you will be annoyed at not having the best experience at task X. But you would be mortified if you had the worst experience at doing task Y and Z. And task X, Y, and Z change depending on who you ask.
And you want to get things done, while days have 24 hours.
As usual, to understand the Python phenomenon, you have to see the whole picture. Not your little corner of the bubble. Not the ideal world in your head either. Life is not a maths problem with a clearly laid out premise and an elegant answer.
That's the same debate about why PHP won the web in 2000 no matter the size of the spaghetti plate, why Windows stayed used for so long despite it being terrible, why people keep using iphones after all the abuses, etc. There is more to it than the use case you have every day. People have needs you don't haven't thought about.
So it's not "let the language war begin". It's, "dude, get more experience, go work with accountants, ngos, govs and logistic chains, go work in china, africa and south america, go from a startup to schools to corporate, satisfy the geeks, the artists and the business people, than we'll talk".
When you squash merge almost everything, only the last messages and messages you let to yourself at checkpoints are important. JJ has it right, a message should be optin, not optout.
Online gambling, most of which is about good ol’ money laundering, and thepiratebay seems to not censor their ads at all, so you may get all kinds of scams and malware spread via ads.
I dunno, but torrenting sites gladly use networks that use malicious redirects, especially on mobile. I also saw ads specifically for gambling companies that were known bad actors, at least to me, given what people were behind them. Won't give you examples, it was years ago. It was like that, you go to a site to get your Linux ISOs, and it's plastered in certain company's ads. Wham, in a month you get investigative articles about that very company's owners and who they are tied to.
It's also of note that on Facebook I don't get many online casino ads, I get mostly reMarkable ads, there was one from Roli when they launched their new instrument, and others were mostly advertising stuff to me that I already bought elsewhere. I think it might be because I had banned the first dozen of such ads, and they stopped coming.
Same. Also I probably get more Russia-sponsored content from Meta than I can see on Rutracker. The internet, lead by big tech, has long passed the point where a banner advertising online gambling could be seen as something outrageous
Not but you can be quite sure somewhere deep inside the TOS there is a line saying their telemetry swallow your soul. If not, it will be added. It's google, that's what they do.
- a lot of C code out there is not safe, so the LLM outputs that
- C encodes way less of the programmer's intention, and way more implementation details. So unless the author is extremely good at naming, encapsulating and commenting, the LLM just has less to work with. Not every C code is Sqlite/redis/ffmeg quality.
- the feedback loop is slower, so the LLM has less chance to brute force a decent answer
- there is no npm/pypi equivalent for C on which to train the LLM so the pool for training is less diverse
- the training pool is vastly Linux-oriented, with the linux kernel and distro system libs being very prominent in the training data because C programs on Windows are often proprietary. But most vibe coders are not on Linux, nor into system programming.
Sure, you can vibe code in C. Antirez famously states he gets superb ROI out of it.
But it's likely you'll get even better results with other languages.