# Naming: Remove all underscores to matter what?

**URL:** <https://discourse.julialang.org/t/naming-remove-all-underscores-to-matter-what/8549>\
**Category:** General Usage\
**Created:** [January 23, 2018, 5:52pm UTC](https://discourse.julialang.org/t/naming-remove-all-underscores-to-matter-what/8549 "2018-01-23T17:52:55Z")\
**Posts on this page:** 1\
**Showing post:** 28

<div class="post-metadata">

**Author:** ![ScottPJones](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/scottpjones/32/146_2.png) [@ScottPJones](https://discourse.julialang.org/u/ScottPJones)\
**Post date:** [January 23, 2018, 10:18pm UTC](https://discourse.julialang.org/t/naming-remove-all-underscores-to-matter-what/8549/28 "2018-01-23T22:18:39Z")

</div>

> [@StefanKarpinski](#):
>
> Use underscores except when there’s a strong legacy reason for not doing so. However, this is a pretty subjective judgment call, and leaves the language with a wildly inconsistent experience where – much like English spelling – you have to know the provenance of a name in order to guess how to spell it.

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).

---

_[View the full topic](https://discourse.julialang.org/t/naming-remove-all-underscores-to-matter-what/8549)._
