Umm... the style guide for Julia says *to* use underscore for longer names, 
*not* camelcase:


   - modules and type names use capitalization and camel case:module 
   SparseMatrix, immutable UnitRange.
   - functions are lowercase (maximum() 
   <http://docs.julialang.org/en/release-0.3/stdlib/collections/#Base.maximum>
   , convert() 
   <http://docs.julialang.org/en/release-0.3/stdlib/base/#Base.convert>) 
   and, when readable, with multiple words squashed together (isequal() 
   <http://docs.julialang.org/en/release-0.3/stdlib/base/#Base.isequal>, 
   haskey() 
   <http://docs.julialang.org/en/release-0.3/stdlib/collections/#Base.haskey>). 
   When necessary, use underscores as word separators. Underscores are also 
   used to indicate a combination of concepts (remotecall_fetch() 
   
<http://docs.julialang.org/en/release-0.3/stdlib/parallel/#Base.remotecall_fetch>
 as 
   a more efficient implementation of remotecall(fetch(...))) or as 
   modifiers (sum_kbn() 
   <http://docs.julialang.org/en/release-0.3/stdlib/arrays/#Base.sum_kbn>).
   - conciseness is valued, but avoid abbreviation (indexin() 
   <http://docs.julialang.org/en/release-0.3/stdlib/collections/#Base.indexin> 
rather 
   thanindxin()) as it becomes difficult to remember whether and how 
   particular words are abbreviated.

Personally, I think the Julia style guide gets it right... also, there have 
even been studies that show that words separated by _ are easier to read 
(>20% faster to read!) than words with no spaces and camel cased...

Scott

On Saturday, April 25, 2015 at 6:43:44 AM UTC-4, François Fayard wrote:
>
> Hi,
>
> I would like to talk about naming convention. I think it's fine to have 
> short names in a langage with few keywords such as C (memcpy), but a 
> langage such as Julia that wants to be also high level with a huge standard 
> library needs convention because the langage might become very large. I 
> find the convention used by Mathematica the best ever made. Nothing is 
> shortened except a few exceptions and consistent use of CamlCase. On the 
> other hand, Matlab is probably one of the worst thing that happen in terms 
> of naming: no consistency at all! I suspect that Cleve Moler who started 
> Matlab not used LAPACK but also the Fortran 77 naming convention which was 
> only there only for technical reasons ;-)
>
> I've seen that the naming convention for function in Julia looks like the 
> same as in Python: everything must be lowercase, and don't use underscore. 
> Let's look at different naming conventions, the first one being the one 
> used by Julia.
>
> 1) daysinmonth()
> 2) daysInMonth()
> 3) days_in_month()
>
> I find the first one the most difficult to read. I tend to prefer the last 
> one, but the second one is also easy to read. The fact that Julia uses the 
> first one and the fact that many names are shortened, makes reading code 
> with functions you've never seen a pain. For instance reading a name 
> "iso..." my mind does not understand if we at talking about a function that 
> returns a Bool ("is" suggests that) or something that has been standardised 
> (ISO). Using the second naming convention would make things easier. Also it 
> would prevent people using underscores as we have in the standard library 
> without any clear reason.
>
> I don't find any disadvantage for the second naming convention over the 
> first one. So why do people use the first one?
>
>
>
>
>
>
>
>

Reply via email to