5 ms·
Julia will really take off when some of the libraries and toolkits available on MATLAB get ported to it. From what I've heard, very few people genuinely like MA
by quanticle 12y ago
Julia will really take off when some of the libraries and toolkits available on MATLAB get ported to it. From what I've heard, very few people genuinely like MATLAB. It's just that MATLAB has toolkits with optimized functions for almost everything under the sun, so if you need to get results quickly, you're better off sucking it up and using a MATLAB toolkit that does half the work for you than reimplementing everything from scratch in a less insane language.
AFAIK, this is why Python has caught on so quickly in numerical computing circles. NumPy isn't up to the level of MATLAB's toolkits in terms of having functions for specialized applications, but it is a comprehensive numerical computation library with fast C implementations of a wide range of common functions.
That's the core lesson that I think the article misses. What matters isn't the language itself. What matters is the collection of libraries available for that language. Research and scientific computing is not like typical software development. In "normal" software development, the maintenance costs of a particular piece of code will easily swamp the cost of writing the code, so it makes sense to write the code in a more maintainable language. But for a research project, once the paper is written, it's fair to say that the code will never be looked at again. The situation is changing, slowly, as things like software carpentry and more data-driven research projects spread modern software engineering principles into the research computation community. But, by and large, research computing is still defined by one-off projects where the speed of initial implementation (which directly affects the time to publication) matters a lot more than the long-term maintainability of the codebase. It's this tradeoff, which is radically different from commercial software, that explains the persistence of FORTRAN and MATLAB in scientific computing.
- bayesianhorse 12y agoI don't know if you are confusing NumPy with the entire "scientific python stack", or you just don't know anything beyond numpy, but in terms of implementing all the specialized toolkits available for matlab, Python is a lot closer to that than Julia...
- jey 12y agoJulia has a sophisticated and performant mechanism for calling C libraries. It ships with common packages like SuiteSparse already built into the standard library's sparse matrix types. I do agree that Julia isn't ready for prime time "cookbook" style uses, and is more useful to those writing computational routines.