Returning programmer asking for advice

I think the answer here depends somewhat on what type of new user we are talking about.

For myself, when I want to see what a language can do I want to write some numerical code for a “standard problem” completely from scratch. This will indicate to me whether the language will actually be usable when I’m writing complex code for real applications. This approach is basically what led me to Julia in the first place: as you can imagine, I was always extremely uncomfortable with Python. If this is what trying out a language means to you, by all means I encourage you to download a nightly and dive headfirst into 0.7, and I also dare say, you are in for quite a treat with Julia. Then, when you need to use packages you can take a step back and write 0.7 compatible 0.6 code (if necessary) as @ScottPJones suggested.

Alternatively, a lot of people just don’t care about whether you can write things “from scratch” or even modify existing code and there’s nothing wrong with taking this approach, it’s just a different use case. Anyway, if that’s you, then I wholeheartedly agree with @ChrisRackauckas that you should start with 0.6 and wait a few months after the release of 0.7 for the ecosystem to catch up.


I program in Fortran, R, Octave, awk, etc, since 1997. I find very difficult to learn a language in an unstable environmental where you can’t thoroughly test. I am smoothly learning Julia using version 0.6, almost without using packages, and I wait version 1.0 to take it more seriously. After all, what is difficult to understand in programming languages is not the syntax (that may change) but the notions and internal architecture (for instance multiple dispatch), and that does not change much.

You may be missing a lot of great stuff (depending on the problem domain you are working on, of course). Packages are an integral part of the Julia experience, many of them are mature and high-quality. Also, reading their code and contributing to them is the best way to learn Julia.

I am not sure what this means. I understand that, for example, in a production environment one may want to be cautious before investing in a new language, but the v0.6 release is pretty solid. The majority of changes in v0.7 (and v1.0) are not bug fixes, but new features.


good to see you here