First off, I’d like to say I think that I love the detailed approach that @sacha has taken, laying out different goals, different proposals, and the pros/cons for the different possibilities.
I was surprised that it was decided to keep
zeros, though, just for creating
Float64 arrays though, since it’s only 2 characters difference between
zeros(d), and 3 for
When I first came to Julia, I was surprised that the default for
Float64 (not coming from any language that had
zeros), and it seems that
fill is both more consistent and easier to understand for new people coming to Julia, since the type of the elements is explicit (and then one can easily generalize to things like
Another advantage, is that whereas the type is hidden with
zeros, only using
fill would make it easier for things like the very nice new ChangePrecision package to find and modify those literals (currently,
eye have to be special cased)
If the reason for keeping those functions is simply for Matlab compatibility, couldn’t those simply be added to a Matlab compatibility package? Julia is so much better than Matlab or R, it would be sad to see any of the warts of those languages carried over for all time into Julia, IMO.