1. Julia uses base-1 indexing.
2. Julia uses an "end" keyword everywhere, which is imho too verbose (and the corresponding "begin" is missing so it's inconsistent).
1. Julia uses base-1 indexing.
2. Julia uses an "end" keyword everywhere, which is imho too verbose (and the corresponding "begin" is missing so it's inconsistent).
1. Base-1 indexing is more natural and less verbose. My suspicion is that base-0 indexing grew out of language implementers wanting to reduce their mental overhead rather than a first-principles approach. AKA machine code leaking out to the higher level languages.
2. You have to have some way of structuring syntax. Whether you have "end", ")" or "}". It is not inconsistent to start with something else, like a function signature with the corresponding keyword. Again Julia opts for natural readability.
Both of these complaints are rather superficial anyways. Julia is a marvelous piece of tech and has an interesting story to tell about type inference, multiple dispatch, performance, data-structures, general Lisp-yness and the merits of tailoring a language for a purpose/domain (and its users) in contrast to trying to adhere to paradigms and programmer culture (cults?).
> 2. Julia uses an "end" keyword everywhere, which is imho too verbose (and the corresponding "begin" is missing so it's inconsistent).
This is an absolutely childish approach to comparing or selecting programming languages.
In my eyes, it says a lot about the maturity of software development as a discipline that a big chunk of our debates are at this level.
We should discuss about quality, breadth and depth of standard libraries, quality of implementation of the most common interpreters/compilers, etc.
I don't want to fault you personally, OP, I think this approach is quite widespread, unfortunately, one could say that it's part of our software development culture at this point.
Why would (even simple) aesthetic choices in syntax not matter, if they're such a big part of the experience?
julia> (1:3)[begin+1:end]
2:3
it exists julia> begin for i = 1:3
println(i)
end end
1
2
3
/s