4 ms·
the funny thing is that everyone, including myself, posited that python would be the winner of the ai coding wars, because of how much training data there is fo
by prodigycorp 5mo ago
the funny thing is that everyone, including myself, posited that python would be the winner of the ai coding wars, because of how much training data there is for it. My experience has been the opposite.
- lexicality 5mo agoa lot of the training data is either for python 2 or just generally very low quality
- stuaxo 5mo agoThe quality issue doesn't seem unique to Python. The versioning issue I've seen across libraries that version change in many languages. I don't tend to hit Python 2 issues using LLMs with it, but I do hit library things (e.g. Pydantic likes to make changes between libraries - or loads of the libraries used a lot by AI companies).
- bigfudge 5mo agoI’ve found recent Claude to be much better in this regard. I think a lot rests on the quality of the harness and the work behind the scenes done to RAG up to date docs or search for docs proactively rather than guessing. I also don’t have issues with quality of Python generated. It takes a bit of nudging to use list comps and generators rather than imperative forms but it tends to mimic code already in context. So if the codebase is ok, it does do better.
- prodigycorp 5mo agoThat could be it. I still see LLMs fail a set of static typing challenges that I created a couple years ago as a benchmark. Google models still fail it. I wonder if the lack of typing in a lot of the training data makes python harder to reason about?
- lsbehe 5mo agoThe tons of python code would be great training data if there was any consistency across the ecosystem. Yet every project I've touched required me to learn it's unique style. Then I'd imagine they practically poisoned half the training set because python2 is subtly different.
- tyre 5mo agoI felt the opposite, because Python isn’t a great language. It won because of Google, fast prototyping, and its ML interop (e.g. pandas, numpy), but as a language it’s always been subpar. Indentation is a horrible decision (there’s a reason no other language went this way), which led to simple concepts like blocks/lambdas having pretty wild constraints (only one line??) Type decoration has been a welcome addition, but too slowly iterated on and the native implementations (mypy) are horribly slow at any meaningful size. Concurrency was never good and its GIL+FFI story has boxed it into a long-term pit of sadness. I’ve used it for years, but I’m happy to see it go. It didn’t win because it was the best language.
- groundzeros2015 5mo agoI’m always baffled when language complaints come down to syntax
- Ringz 5mo agoThat’s exactly how I think, too. But at the same time, I like indentation in Python, because I would logically indent in every other language as well. In fact, I find all those semicolons and similar things at the end of each line completely redundant (why should I repeat myself for something the compiler should do) and I hate them. And that’s despite having experience with Modula and 10 years of C++. But when I look at Rust, I find the syntax simply awful. From an ADHD perspective…
- eager_learner 5mo agofellow ADHD here. Rust feels like 'oh come on you want me to type all that?' I find Raku great, though
- krupan 4mo agoNot ADHD but 100% agree on rusts syntax. It's totally repulsive to me.
- krupan 4mo agoHave you never tried to read someone else's Perl code? Syntax matters. But complaining about indentation is silly. Other languages' compilers don't require it like python does, but the humans using those languages all absolutely require proper indentation. Why not make it part of the language?
- rplnt 5mo agoAI benefits from tools to verify its halucinations. That's much easier in a typed and compiled language. Then have a language that can't be monkey patched at runtime and the confidence increases even more. If you mean "easy to get something out of it" then yeah, it's great.
- nostrebored 4mo ago[dead]
- dkersten 5mo agoTypescript wins in terms of training data IMHO, by which I mean that the training data is large enough that AI does great with TS, and the language is (IMHO) superior to Python in many ways. I personally now use a mixture of Typescript and Rust for most things, including AI coding. Its been working quite well. (AI doesn't handle Rust as well as TS, in that the code isn't quite idiomatic, but it does ok)
- CuriouslyC 5mo agoIt turns out that volume of training data isn't the most important thing. Elixir beats Kotlin and C#, which beat pretty much everything else. Kotlin is probably the sweet spot for most things.
- dkersten 5mo agoNot the most important thing, but it certainly helps.
- eager_learner 5mo ago"sweet spot for most things." care to expand on this a bit? Thanks.
- CuriouslyC 4mo agoKotlin has the combination of JVM ecosystem, overall good performance and agents are good at writing it. I'd argue that it's a better default choice to reach for when working on non-frontend code than Go, though Rust and Python still have use cases.
- eager_learner 4mo agoThanks, that makes sense. I agree.
- eager_learner 5mo agoUpvoted you, because the downvotes from the Python cult are unfair.
- za3faran 5mo agoI wouldn't be surprised if static typing had something to do with it.