4 ms·
Every project grows until it becomes too complex and hence unmanageably buggy. Some languages/static analyzers/linters/architectures/frameworks let a project be
by jdm2212 7y ago
Every project grows until it becomes too complex and hence unmanageably buggy. Some languages/static analyzers/linters/architectures/frameworks let a project become bigger and more complex before becoming unmanageably buggy.
So if you look at two projects, and both have a bunch of bugs, that doesn't tell you much. You have to know bugs-per-unit-complexity, which is pretty damn close to unmeasurable.
It's telling, though, that the companies managing the world's most complex systems run them in C++, Java, and TypeScript. And more recently, Go and Rust.
With much finance research, if the results were real, the researchers would be making billions on Wall Street rather than be academics. So, too, with software research. If the results were real, the researchers could become gazillionaires advising FAANG instead of being academics.
- westoncb 7y agoThis is something I come back to repeatedly when attempting to evaluate claims about certain technologies (e.g. programming languages) being extravagantly effective: people's sentiments about how great some technology is often seems out of proportion to what their gains were through using it. Of course that's difficult to evaluate. But if their gains were in proportion, I think you'd see these crazy spikes like what you're saying about these researchers becoming gazillionaires. And it just doesn't seem to happen. Which is not to say there's no difference—but 1) the improvements seem to be by smaller factors than what engineers believe 2) they don't seem to generalize as much as is often claimed: afaict, a significant aspect of the gains has to do with reducing impedance mismatch between problem domain and language (but advocates will typically adopt a stance that the language is just intrinsically superior). I would be very interested to hear counter-examples if people have them (I know the PG/Viaweb/Lisp story).
- jdm2212 7y agoI think the folks really fascinated with which language is intrinsically superior are missing out on the fact that the language itself is <10% of the software development process. There's tooling, architecture, libraries, monitoring, etc. The language's feature set or verbosity is rarely the bottleneck. I'm skeptical that the PG/Viaweb/Lisp story generalizes at all to non-geniuses. Like, sure, if you gave Paul Graham raw assembly he could probably do some pretty impressive stuff even so. Doesn't mean anyone else can. He's a genius. So is Robert Morris.