HN2new | past | comments | ask | show | jobs | submitlogin

I think it's hard to overstate how important this is.

Consider the number of bolt-in solutions there are to get decent performance in python: numexpr, weave, pysco (dead), the emerging island of NumPyPy, theano, the brilliant/crazy chimera language cython, and now perhaps numba.

The multi-modal nature of development affects libraries (too few devs needing too many hammers) and even the very sustainability of the ecosystem -- as evidenced by myriad numpy-discussion threads in the past year [0][0.1] about core implementation issues with 100-150+ messages, but about three people [1] of those who have the requisite interest, C chops, Python and CPython API understanding, and time to do work in the NumPy core. As a result the core has been mostly stuck in a local maximum for years now.

Contrast Julia: Arrays are written in the language itself [2]. Folks practically off-the-street with single-digit weeks of Jl experience are implementing non-trivial array datatypes [3][4]. Julia appears to have the flexibility to allow the kind of fine-tuned optimizations that are seen in the guts of a BLAS library [5] while simultaneously facilitating carefree, throw-away data exploration scripts by MATLAB refugees.

If anything, I fear that Julia may be susceptible to the LISP curse if extreme care is not taken to ensure the interoperability that is needed to build an ecosystem. (The Python straitjacket is a blessing in this respect). On the other hand, maybe this time github will help balance the equation...

[0] http://thread.gmane.org/gmane.comp.python.numeric.general/44...

[0.1] http://thread.gmane.org/gmane.comp.python.numeric.general/48...

[1] http://thread.gmane.org/gmane.comp.python.numeric.general/49...

[2] https://github.com/JuliaLang/julia/blob/master/base/array.jl

[3] https://groups.google.com/d/topic/julia-dev/YYRa6Iveevg/disc...

[4] https://groups.google.com/d/topic/julia-dev/x3xFSa8iCog/disc...

[5] https://groups.google.com/d/msg/julia-dev/vETgqnpesDk/OuZaB7...



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: