upvote
Pick something slightly esoteric (eg Haskell) and the quality of public code is very high, because you only have enthusiasts writing it. Choose something taught in schools (Python) and you are going to find 10,000 traveling salesmen homework problems and Django todo applications.

Not sure how you thread the needle on the quality vs quantity dynamic.

reply
Your point is a good one: Exotic, difficult languages attract enthusiasts with deeper skills than a median developer.

Haskell also has a confounding issue: Because of its focus on research and experimentation, standard best practices don't exist like they do in languages optimized for real-world use. Because there are few community guidelines, engineering practices vary widely, and unfortunately at the same time, Haskell's public codebase resources are small.

To see this playing out, check out Haskell discussions about choosing a SQL library, effect system, monad transformer stack, or web framework. The answers are all over the map because that diversity is baked into Haskell's culture and practice.

reply
>Pick something slightly esoteric (eg Haskell) and the quality of public code is very high, because you only have enthusiasts writing it.

that and the language supports (enforces) good decision making; static typing w/ inference and a functional style as a first class concept.

which then rolls into the same result : higher quality code available.

reply
Quantity, it seems is a quality in itself.
reply
As much as I love Python, JavaScript (including TypeScript) is probably more popular.
reply
That and JS code is more readily available in the source of tons of webpages, not hidden away in some backend
reply
Wouldn't most frontend JS in Web page sources be minified?
reply
The logic is still there, it's not meant as obfuscation. Also plenty of sites don't minify cause that involves a whole toolchain.
reply
There is definitely a relationship. But I personally believe that once the training corpus reaches a certain scale, the returns exhibit diminishing marginal effects, to the point that multiplying the data volume cannot surpass something essential inherent in language design. (Asked an LLM to help me with the translation, so forgive my expression)
reply
there is a relationship there, but there is also a relationship to the safety of the language and the guard rails in place.

it's a lot harder to experience an agent telling you with certainty that something incomplete is totally finished if there is a comprehensive test suite, a hard failing compiler, a strict type system, etc.

LLMs like to produce a lot of JS and python that silently fails in a graceful way -- why is that? because those languages support that kind of a failure.

when using something like go/rust the LLMs are more likely to re-iterate rather than declaring a victory when they get a strict compiler barking in their face, refusing to output.

reply