5 ms·
No. C# and Objective-C (And I assume similar languages too) can have public accessors which are not used like function. No need to add ()'s everywhere.
by cstuder 15y ago
No.
C# and Objective-C (And I assume similar languages too) can have public accessors which are not used like function. No need to add ()'s everywhere.
- InclinedPlane 15y agoThe way current C# does accessors / properties is just about perfect, I wish more languages would adopt it.
- masklinn 15y ago> The way current C# does accessors / properties is just about perfect As far as I'm concerned it's quite far from it, because C# still allows public fields, properties and fields are incompatible, properties and methods are separate and Microsoft specifies different naming conventions for fields on one hand and properties & methods on the other. Perfection is Smalltalk's way of doing it. And in a syntactic line closer to ALGOL, Ruby is about as good as it gets: no public fields, "properties" are normal methods (setters have a little bit of syntactic sugar, but not much) and auto-generating a bunch of getters, setters or both is a class-level method call.
- de90 15y agoWhat is wrong with different naming conventions for fields vs. properties, and methods? It makes it immediately obvious what is what at a glance. *Honest question - I first learned programming with C#, and so those conventions seem 'correct' to me.
- masklinn 15y ago> What is wrong with different naming conventions for fields vs. properties, and methods? It makes it immediately obvious what is what at a glance. Which is precisely one of the problems of properties in C#, it makes fields and properties look and feel extremely different from the outside which violates the uniform access principle. As I noted, ideally C# should not have public fields in the first place.
- adgar 15y agoYou say "No." so defiantly, but the reality for Java - which is what everybody else was talking about in this thread and the article - the answer is quite often "Yes."
- jarrett 15y agoI should have been more clear--I was referring to Java, which seems to be what the OP was talking about.