Importance of naming

When introducing new technology, naming is very important.

I remember that it was when the second version of Java was announced.
In most books on Java, explanation on “interface” was very short. The name, “interface”, doesn’t speak for itself and many people didn’t seem to understand what it was for at that time exactly other than Java people at Sun.
I remember the most famous “interface” at that time was “Runnable”. To build a Java applet, it should “inherit” Runnable interface.
Nowadays, because many languages uses Class and Interface with different meaning, it is easy to differentiate. However at that time, interface was, in OOP concept, class. That is why Objective-C uses @interface to define a class.

However, Objective-C uses a name, Protocol to mean ‘interface’ in other languages like Java and C#. By saying protocol, we instantly imagine agreed-upon dialog to communicate. So, the name, protocol, itself says that it doesn’t contain any “properties”, i.e. member variables. ( property is also an unfortunate term. )
Also, when a class accept the ‘protocol’ to implement it, we call that the class “adopts”(Java) or “conforms”(Objective-C) the protocol. Because it “adopts” or “conforms”, we know that protocol is not related to inheritance path. Different classes with different parent or super class can adopt the same “protocol”.

So. the name speaks for itself.

Here is explanation on Interface in C# from MSDN.

“Interfaces describe a group of related functionalities that can belong to any class or struct. You define an interface by using the interface keyword, as shown in the following example.”

Any learner should try to memorize what the interface is, what it is for, how it is different from classes. etc. Then when his memory decays, he needs to open the document again to make sure what interface is.

This is importance of naming for technology.

This is not first time for me to point MS’ naming convention or explanation.
MS is not good at this and has never been as good as Apple.
Java people seem to have the same problem, but look better than MS people.

Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: