Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Well, I can't claim that that's the case, only that those languages' designers think it is. There are some things we do know, if only anecdotally (maybe there's been some research on the subject – I don't know). We do know that C++ was a real boon when it first garnered wide appeal, but that very quickly large teams began to curtail the use of some of its more advanced features because of that reason. We also know that people have been writing much larger projects in Java (and possibly C#) than in any other language in history, certainly relative to the effort invested (there might have been larger C++ projects). Some of it just seems intuitive (though may not be the actual case). The problem is that it's hard to gather data because the languages adopting this view are the ones that are most popular, which helps them get selected for large projects to begin with. But we might have more data soon. I think JavaScript is the first "magic encouraged" language that will be used in multi MLOC projects. Ruby is more "magical" but doesn't seem to be favored by large teams working on large projects. So we might know more soon.

Personally, though, I think that's the wrong issue. Whatever extra productivity is gained by language magic, we're not talking orders of magnitude here. Usually it's mostly about developer enjoyment, lack of annoying boilerplate etc.. These are annoying issues, but not critical ones. I think the most crucial issue is state management, which can have an order-of-magnitude difference for some projects, as well as a significant effect on performance and scaling.



Most everything you're talking about is explicable by popularity effects. That's why more objective study would be interesting. Alas, I doubt it will happen: serious research on software engineering, as opposed to the thin broth we have now, would require at least an order of magnitude more funding, and no one's likely to provide that.

I'm not sure I like your distinction between developer enjoyment, lack of boilerplate, and state management. To me those things all have to do with good design.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: