I often use the Stack data structure in both Java and C++. This is a standard data structure, very common in implementing many algorithms.
My question is (and the thing that drives me crazy) why does C++ use “top” as a function-name that returns the top-most element value without removing it, and Java uses “peek” as it’s method name?
I know there is no standard for data structures, but hasn’t computer science come far enough along that there should be a standard? Or am I just too much of a novice to know about a standard…
Do those of you that are professional programmers write your own data-structure libraries that adhere to a common interface across languages? That seems like the best thing to do, in my mind. I write code in C++, Java, Python, C, Perl, and PHP. I just don’t see any other way but to write a custom interface for all of these languages. I like “peek”, but is there any standard I should be aiming for?
Writing a custom interface just to make method names the same would be a colossal waste of time. What exactly would be the point? You wouldn’t be able to easily copy-and-paste most code between the languages you’ve mentioned even with such a feature.
Personally, I don’t like the name of the STL vector method push_back(). I would prefer if it were just called add(), for one thing it’d be less typing. It never occurred to me that I might change it, however. Doing so would just make my code less portable and less readable for others. Now, I suppose this could be done fairly easily with a pre-processor macro, but even that would be a waste of time in my mind.