> Julia has a lot of really incredible packages already. It's mindblowing how quick Julia went from "new technical computing language" to "general purpose, performant language with a ton of useful packages readily available and they actually work". Leveraging the technical computing open source community turns out to work really well!
Yep, it turns out that a lot of scientists are great programmers :)
Regarding packaging, I completely agree that Pkg2 is a mess; there's a Julep (RFC) out for Pkg3 and it opens with a sobering list of the problems with Pkg2's design, and continues with a new design which is already in the works:
The Julep is a rough cut of what Pkg3 will look like (see issues on that repo for some modifications), but I'm actively working on an implementation. For example, yesterday, I was working on a script to translate the current METADATA repository to a Pkg3 registry file.
I'm not sure what "make it to a stable 0.x release" means – every 0.x release is stable and usable, we're just not 100% happy with the language design and APIs yet – at least not satisfied enough to commit to supporting them for the next decade. But that's coming soon... Julia 1.0 will be released this summer (2017), which I announced during the talk I gave at JuliaCon last summer:
The 0.6 release has slipped by 1.5 months, but it also includes more features, so it doesn't actually push the 1.0 release schedule back. During this release cycle, we realized that a number of changes we want in 1.0 need to be at least partly in place in 0.6 so there's a smooth upgrade path to 1.0 that doesn't break people's code without deprecation warnings. We decided that it was worth letting this release slip a bit in order to have a clear path forward to 1.0. Once 0.6 is out, I will post a 1.0 release timeline.
Yep, it turns out that a lot of scientists are great programmers :)
Regarding packaging, I completely agree that Pkg2 is a mess; there's a Julep (RFC) out for Pkg3 and it opens with a sobering list of the problems with Pkg2's design, and continues with a new design which is already in the works:
https://github.com/JuliaLang/Juleps/blob/master/Pkg3.md
The Julep is a rough cut of what Pkg3 will look like (see issues on that repo for some modifications), but I'm actively working on an implementation. For example, yesterday, I was working on a script to translate the current METADATA repository to a Pkg3 registry file.
I'm not sure what "make it to a stable 0.x release" means – every 0.x release is stable and usable, we're just not 100% happy with the language design and APIs yet – at least not satisfied enough to commit to supporting them for the next decade. But that's coming soon... Julia 1.0 will be released this summer (2017), which I announced during the talk I gave at JuliaCon last summer:
https://www.youtube.com/watch?v=5gXMpbY1kJY
That outline of features is on track, as is the release date. There is also a detailed 0.6 release timeline on Discourse:
https://discourse.julialang.org/t/0-6-release-timeline/836
The 0.6 release has slipped by 1.5 months, but it also includes more features, so it doesn't actually push the 1.0 release schedule back. During this release cycle, we realized that a number of changes we want in 1.0 need to be at least partly in place in 0.6 so there's a smooth upgrade path to 1.0 that doesn't break people's code without deprecation warnings. We decided that it was worth letting this release slip a bit in order to have a clear path forward to 1.0. Once 0.6 is out, I will post a 1.0 release timeline.