Operator overloading and "for...in" loops are huge space/time savers and help to improve the readability of your code.
However, I would advise to stay away from using generics. In most situations they are time savers on short-term, but they actually hurt the readability of the code and indirectly reduce non-functional quality attributes of the software you are working on. I personally avoid them like a plague.
I don't agree. You can avoid copy-pasting by using refactoring properly, with the common techniques like class inheritance among others. Using generics is mostly a quick and dirty approach to a problem, so that you can quickly achieve something without proper architectural design and ignoring any existing software design patterns that may apply.
I think generics were introduced to Pascal languages for marketing reasons, they were not really necessary. This is a similar issue to exceptions. I also rarely use exceptions myself and consider them unnecessary, similar to Joel Spolsky's opinion (he's co-founder of Stack Overflow).
Bookmarks