Here are my objections to having nrow and ncol:
(1) They restrict the imagination. Because you don’t get used to using size(x, 1) and size(x, 2), you will be slower to understand size(x, 3). The size idiom is strictly superior, because it generalizes to more cases than ad hoc things like nrow or ncol.
(2) They encourage people to think in R’s idioms, which keeps them from learning idiomatic Julia.
(3) They violate a principle I’ve come to think is essential to the long-term health of Julia: there should be at most one way to achieve a simple goal in Julia. Every time there are two ways to do one thing, you bifurcate the community into two groups of users: those who use Idiom A and those who use Idiom B. Gradually, they come to speak more and more different dialects, which harms communication in the group. An even worse problem is that the code paths will come to diverge, so that both of them receive less use and fewer bug fixes. This makes everything in the system brittle.
In the case of simple aliases, this isn’t a big problem. But it’s a bad precedent that I’d like to remove from Julia.
— John