Tak já mám na to docela jasný názor. O co v těch getterech/setterech vlastně jde? Mít tam mermomocí volání metody? Ne, jde o to mít možnost pověsit na čtení/změnu proměnné nějakou akci bez toho, aby se musel předělávat zbytek programu. Proto se tam rovnou prskne metoda, i když ve většině případů bude naprosto triviální.
Když tyhle triviální metody vygeneruje IDE, tak je sice nemusíš psát, ale musíš je číst, protože prostě sou součástí kódu. To mi vadí.
Naopak nemám problém, když se getter-setter používá jako obyčejné proměnné (tedy property). Někteří programátoři chtějí být falešnými pány situace a vidět, kdy se fakt jenom čte proměnná a kdy se fakt volá metoda, chtějí rozlišovat "levné" čtení a "drahé" volání metody. Ale to je jen takové nutkání, v Javě přece normálně používáš gettery a spoléháš na to, že jejich provedení je rychlé, ale ono nemusí.
Takže nejlíp to má IMO Ruby. U každé členské proměnné se uvede, jestli se pro ni má generovat getter/setter, tím, že se uvede do seznamu attr_reader nebo attr_accessor. Takže tam není žádný vygenerovaný balast. No a když potřebuješ netriviální g-s, tak si ho tam prostě připíšeš. To řešení v C# je takové polovičaté.
V Pythonu g-s zadrátované nejsou, ale díky dynamičnosti jazyka jdou vytvářet automaticky, tekže lze dosáhnout stejné efektnosti jako u Ruby.

