4 ms·
The bigger the team the more restrictions you want in a language. C++ is lovely when you are working alone, but as the team grows people start having very conf
by Klockan 10y ago
The bigger the team the more restrictions you want in a language.
C++ is lovely when you are working alone, but as the team grows people start having very conflicting opinions on what parts of the language should be used. The only way to handle this is to restrict everyone to a subset of C++ and forbid everything else, otherwise it will be impossible to navigate the codebase.
Innocent looking things like try/catch becomes a nightmare when not everyone has taken that into consideration when they clean up resources. Either you have to enforce proper cleanup around every function call or you have to forbid everyone from throwing exceptions, there is no middle ground here.
- minipci1321 10y agoI agree that the problematic of big teams of heterogeneous skills is not the same as the small teams of skilled people (some fields simply won't tolerate anything else), but the rest of your message stills sounds the same to me -- somehow the __language__ needs to be "restricted" because some (few?) __people__ on the team abused it?
- pjmlp 10y agoDoes anyone know everything about Python 3.5, language and libraries, including evolution issues when having to handle old code? What about style guides to forbid people to use generators, metaclasses or other advanced features? Just to pick a language most people think it is easier than C++.
- witty_username 10y agoAre generators really an advanced feature? I've used them pretty often (instead of returning a list) and they're pretty simple.
- pjmlp 10y agoFor many types of programmers that would be happy with something like C or Go, most likely yes, given that they already allow for some interesting patterns. Also because they changed a bit, in the early days you could not pass arguments back to them. However, when I wrote generators I was actually thinking about comprehensions.
- witty_username 10y agoI think comprehensions are less advanced (they're a specialized case of iterators) and very commonly used. > Also because they changed a bit, in the early days you could not pass arguments back to them. Sending arguments is certainly advanced.