Conversation

Keeping an eye on cognitive budget is how Rust was done, and I think it's entirely appropriate. A language is a brain-computer interface, and if the brain part doesn't interface well, the project fails. (Also note: we _tried_ 1st class modules and _our_ brains couldn't do it.)
1
49
((Today, of course, I would try again: more people have worked both on the tech itself and on making it accessible in the meantime. I'm hopeful modular implicits or something 1MLish works out, too.))
1
8
(((By "accessible" here I mean accessibility to the implementors. If you're doing research tech transfer, as we were, it's often the case that the implementors -- dumb old systems hackers -- aren't as good at a thing as academia. Can't implement something we don't understand.)))
1
9
I feel like we did ok shipping only about 5 years late, and on our 3rd runtime and 4th type system. The key was always to save people trapped in C++-world, not be a research testbed. Dependent types can wait for the next language :P
2
19
(This is my persistent nag that nobody wants to hear: that I kinda wish people would stop adding new stuff in, or at least approach an asymptote; it's plenty complex as it is, and there's always the risk of losing the thread of the thing.)
6
15