I don't care about type inference. My IDE does a good job. And I like static typing.
Type inference works with static typing. And, even if the IDE automatically produces boilerplate code, who wants to read and maintain *that*? I prefer high signal:noise ratios for source code.
First we got told that writing person.name = "John" is bad. Bad, bad, bad. I never understood why.
The problem is with public fields; not with public properties. Properties allow you to enforce class invariants; fields do not.
So you get pleasure not from the repetition of patterns in Beethoven's Fifth, but from the interplay and differences.
Too bad you weren't giving this talk. The guy that gave it reduced this point to the mere repetition providing the beauty (and also was confused on his claim of pattern-freeness: there were in fact several recognizable patterns in the piece).
And it should be the law: If you use the word `paradigm' without knowing what the dictionary says it means, you go to jail. No exceptions. -- David Jones