3 ms·
> That is a conversation with who you work with. You don’t use all the tools in the garage but are really happy they are there when you need them. When a langu
by seanwilson 8y ago
> That is a conversation with who you work with. You don’t use all the tools in the garage but are really happy they are there when you need them.
When a language contains lots of ways to shoot yourself in the foot, it's just not realistic to expect that those features aren't going to be misused when potentially millions of programmers might be coding in it. Even getting agreement of how to use features within a small team can be difficult, and you're always going to have to use external libraries developed by others that don't follow your coding standards.
The language design should make it easy to do the right thing and difficult to do the wrong thing in my opinion. When the language isn't designed this way, it's always an uphill struggle where the coding community has to devise and enforce their own standards.
- beached_whale 8y agoOften, not always, the other side of that shooting in foot is a very useful tool for another purpose. And it is unattainable to code review other libraries, put the hard stop at the API boundary. But yeah, that can force your hand in some decisions too... It's complicated I am of the mind that any language that is useful for general purpose or at least outside of small niche areas will provide many ways to shoot yourself in the foot. C++ does have a lot of them, but it also has a lot of tools.