Well, from my point of view (data analysis) and in comparison to python,
slicing and array views seems in need of some polishing, but I understand
there are improvements coming. In any case, I think the results are already
quite impressive, for being such a new language. It seems to me Julia
developers follow to some extent a "Worse is better
<http://doc.cat-v.org/programming/worse_is_better>" approach, and I
definitely appreciate it.
Il giorno mercoledì 27 maggio 2015 11:47:28 UTC+2, Tim Holy ha scritto:
>
> I think there's less agreement on whether the difference between A[:,3]
> and
> A[3,:] is good. Julia at least makes it easy to work with dropped trailing
> dimensions by supporting operations like size and indexing with more
> dimensions than the array possesses: with b = A[:,3], you can still say
> size(b,2) and b[4,1].
>
> You also might like "slice", which drops all singleton dimensions,
> trailing or
> not. My best guess is that julia will eventually make A[i,j] syntax for
> slice(A, i, j), at which point the difference between the two will
> disappear.
> But my crystal ball is still a bit murky on that point.
>
> --Tim
>
> On Wednesday, May 27, 2015 12:45:08 AM Andrea Cimatoribus wrote:
> > I see your point, and actually think it's a very good idea. I am more
> > unhappy with the difference between A[:,3] and A[3,:], but I have seen
> > there are reasons for this too, even if I am not very convinced (but no
> > expert to judge either). Is there agreement also on this? There're a ton
> of
> > github discussions, but cannot understand what is the prevailing view,
> in
> > particular for 0.4
> >
> > Il giorno martedì 26 maggio 2015 18:55:19 UTC+2, Tim Holy ha scritto:
> > > The types of the arguments determine the return type. In that sense,
> A[:,
> > > 3]
> > > and A[:, 3:3] are completely different constructs, and the second is
> much
> > > more
> > > like A[:, 3:4] than it is like A[:, 3]. This is no different from the
> rest
> > > of
> > > julia---types matter.
> > >
> > > The flip side is Matlab's behavior, where an algorithm that happens to
> > > return
> > > 3:3 instead of 3:4 can suddenly change the behavior of some later
> > > operation
> > > like squeeze, and then reorder your dimensions on you. This is
> something
> > > that
> > > julia developers are trying to avoid.
> > >
> > > Best,
> > > --Tim
> > >
> > > On Tuesday, May 26, 2015 08:58:47 AM Andrea Cimatoribus wrote:
> > > > I have seen a lot of discussions on this issue, in particular in
> > >
> > > relation
> > >
> > > > to the coming 0.4 release. Since I must admit I got completely lost
> in
> > >
> > > the
> > >
> > > > debate: is there an agreement on this? Since it is such a
> fundamental
> > > > element, which can break more or less any piece of code (and is also
> > >
> > > very
> > >
> > > > much connected to the switch to array views, as far as I
> understood), is
> > >
> > > it
> > >
> > > > possibly wiser to wait for 0.4 for a first test drive of Julia?
> > > > Thanks.
> > > >
> > > > Il giorno giovedì 19 giugno 2014 11:18:10 UTC+2, Carlos Baptista ha
> > >
> > > scritto:
> > > > > If I do this:
> > > > >
> > > > > A = rand(10, 10)
> > > > > x = A[:, 3]
> > > > >
> > > > > then typeof(x) is Array{Float64, 1}. However if I do this:
> > > > >
> > > > > A = rand(10, 10)
> > > > > x = A[:, 3:3]
> > > > >
> > > > > then typeof(x) is Array{Float64, 2}.
> > > > >
> > > > > Is this a bug, or is this behaviour the intention of the
> developers?
> > >
> > > In
> > >
> > > > > case of the latter: why?
>
>