Using D and std.ndslice as a Numpy Replacement
Does D have code for: plotting, optimization, probability distributions, machine learning, Fourier transformations, masked arrays, finanial calculations, structured arrays (read a CSV from disk, get named columns based on the header), SVD, QR and Cholesky decomposition, eigens, least squares, Levenberg Marquardt, matrix inverse and pseudoinverses, integration, Runge Kutta, interpolation, bsplines, fft convolves, multidimensional images, KDTrees, symbolic equation solvers, merge&#x2F;join of data sets, etc.?<p>Because I use almost all of these <i>every single day</i> (I don&#x27;t do multidimensional images or b-splines much at all). Are those all in standard libraries, fully documented, backed by 60 year old, fully debugge code (LAPACK, etc), that I reliably email to anyone across the world and they can immediately run and modify my code because it is such a standard? I honestly don&#x27;t know, but I&#x27;m guessing not.<p>I use Python&#x2F;Numpy&#x2F;Scipy&#x2F;Pandas&#x2F;Matplotlib because everyone else in the world knows and uses them; they are a standard. Yes, my np.mean() might be slower than your map(). I almost always don&#x27;t care. That misses the forest for the trees.<p>The article might be a good argument for why library writers might consider building out D&#x27;s standard library to support numerical computation, I dunno. But no one is going to use D for serious number crunching without that infrastructure in place. People moved from Fortran and Matlab to Python not because it is fast, but for the environment. These language tricks are cute and all (I like D well enough, don&#x27;t get me wrong), but it ain&#x27;t why we are using Python.<p>At this point, if I were to switch languages to something without a lot of adoption I&#x27;d lean towards Julia. It also have a modern language design, but it is written from the ground up for numerical computation. I can&#x27;t think of any reason I&#x27;d ever reach for D.