Naming: Remove all underscores to matter what?

Another option would be to:

  1. First see if the functionality can be put in an easy to use API with using multiple dispatch and/or keyword arguments, without performance penalty. (The changes in master seem to be shaping up nicely to help out with that)
  2. Otherwise use underscores to provide longer, readable names (sparse_ones instead of spones, for example). (Hopefully, in most cases No. 1 could make this rarely necessary).
  3. Create packages that provide legacy names (Matlabisms such as cumsum, cumprod etc. come to mind), so that legacy names don’t pollute the Base namespace. That would help resolve the problem you identified about the language feeling inconsistent. (It already feels inconsistent, this could improve things).