5 ms·
My impression is that you aim to produce a perfectly clean and elegant – perhaps in order to avoid a Python-3-type scenario. However, if that is what you are
by tmalsburg2 11y ago
My impression is that you aim to produce a perfectly clean and elegant – perhaps in order to avoid a Python-3-type scenario. However, if that is what you are doing, I am afraid that Julia could become the GNU Hurd or programming languages. Most languages, at least those that have practical relevance, have design flaws. Heck, R is one giant mess of design flaws, and yet it is actually amazingly useful. Another example would be Perl. I think design flaws can be a sign that the creators of these languages are reasonable people who are capable of making pragmatic decisions (instead of just academic decisions). I’m clearly not an expert and I’m not up-to-date with what is going on in Julia but as a potential user I have the impression that we’re not moving closer to a point where Julia is ready for production use, and I’m worried that Julia will lose momentum while R is growing stronger and deeper roots. Personally, I really like Julia and would prefer if it would replace R but over time this is becoming less and less likely. The world is full with examples showing that inferior technologies can become dominant just because they had a head start. I think this article is relevant here: http://paulgraham.com/startuplessons.html http://paulgraham.com/startuplessons.html
- twic 11y agoOn the other hand, Rust spent a long time undergoing tumultuous upheaval, considerably more radical than this, i think, and yet it did eventually stabilise and produce a 1.0.
- steveklabnik 11y agoOh yeah. Rust was really four different programming languages over a roughly eight year period. Always the same focus, but radically different ways of accomplishing it.
- Xcelerate 11y agoPersonally, I would much rather see Julia undergo serious upheavals in an attempt to make an elegant language that works really well for scientific/HPC computing. Too many languages get trapped trying to provide backwards compatibility for everything and you end up with a lot of unintuitive cruft and quirks. If you want a language for "getting stuff done", use Python. But I find that I get a lot done with Julia in spite of constant change (in fact, I don't use Python at all).
- grayclhn 11y agoWhether Julia replaces R has more to do with how R evolves over the next 5 years than Julia IMO. As far as "production use" I think that depends on whether what you're doing is well served by the existing libraries or not.
- tmalsburg2 11y agoR as a language is not evolving at all and that is not a problem because the strength of the R system is its incredibly rich ecosystem. Julia cannot evolve a similar ecosystem as long as it doesn't provide stable foundations and for this reason it is completely uninteresting for most of the audience despite its superior design.
- grayclhn 11y agoYes and no; base R is extremely stable, but if you need to install dplyr, maggrittr, ggplot2, Rcpp and knitr/rmarkdown to reproduce a large fraction of the work that's been done in the last few years that seems somewhat equivalent to language evolution. But with rough edges, because some of the nice workflows that this opens up (say piping) are not necessarily in line with the way R wants to deal with objects. In my experience, Julia is uninteresting to most statisticians because of the lack of mature libraries and because R is already good enough for most of the stuff they want to do. I don't think that relatively small language changes like the one discussed in the original issue are even on their radar, and I doubt that these changes are driving away people that would otherwise be maintaining packages.