When I’m learning a new language I find it best to have a good book handy, especially one with a good reference section. Can anyone recommend such a book for Julia?
If you’re looking for a paper book for reading away from a computer, I think your best bet is Packt Publishing’s offerings:
where I think you can buy printed versions.
I don’t think Leah Hanson’s Learning Julia was ever published. (I’ve never been able to track a copy down, although I’ve seen photographs…).
The thing is that there is a lot of books already on Julia, but not much feedback in terms of which one is good. And on which version is the book based? I mean, perhaps it’s not important and I’m wrong but I wouldn’t want a book based on 0.2.
Ebooks should of course state the versions of any software covered and should ideally be updated when they start becoming obsolete. I’m not sure whether the business models of publishers allow for that kind of extended support. For the price of the Packt ebooks, I wouldn’t expect them to receive regular updates, but perhaps you can find out on their website.
What you mean by “good” is more difficult to answer. A better question is “what do you want to read?” Or “what does the official documentation not provide”? Perhaps you want a carefully graded series of exercises, like the “Learn Python the Hard Way”? Or extended examples of application-oriented examples: “Julia for Signal Processing” or “Julia for Image Processing”. The market for any of these would be far too small for any commercial purpose. But things may change.
I can agree that we can’t expect regular update to books that have a small price.
I also agree on the variability of what “good” means. It’s just that there is not a lot of reviews on these books. I guess they will come someday though! For now, using electronic resources is enough for me, but I would like a nice reference book I could consult.
The online HTML version (and Kindle) of “Julia programming for operations research” is regularly updated. It is not for everyone but it covers some basics of Julia (Chapter 3).
The current version is based on:
- Julia v0.5.0
- JuMP v0.14.1
- Optim v0.6.1
- MathProgBase v0.5.7
Disclaimer: I am the author of the book.
Once you’ve gotten past the initial learning the syntax of Julia (which is pretty easy, if you know C and/or Python) then I would recommend @avik’s book, https://www.packtpub.com/application-development/julia-high-performance.
Since performance is something that frequently draws people to Julia, books like this one, that help teach how to actually get the performance that one wanted out of Julia, can be quite useful.
I was about to open a new thread on books but I’ll do it here instead:
What’s you opinion about the different books on Julia?
I’m looking for some not too verbose or boring but with a good content, including some details on packages such as ParallelAccelerator or new plotting packages such as GR, the best way to optimize your code… and some data analysis.
I was looking forward to seeing Julia in Action, it’s preview looked great but it seems it has been cancelled.
I would like something including Julia 0.6 and maybe information on what we expect about Julia 1.0.
Could you please classify the different books we have in Julia depending on its level or target? (introduction, programming, data analysis…)
I know there is a list
but the different books are just named but not rated nor reviewed nor compared to each other. Amazon doesn’t offer much information either because there are not many buyers.
I’ve seen some in the library but they seem like being made in a hurry.
Here is my list. These are purely personal preferences, I don’t mean to imply that books not listed are not good. The order of the books is by author. All have been published by PACT Publishing.
Balbaert, Sengupta, Sherrington, Julia: High-performance Programming.
Sherrington, Mastering Julia.
Both explain concepts of the language quite well. Obviously, they may be dated in places. I think both were written with 0.4 being the “current” version. Some packages for graphics in vogue today probably have not been even conceived at the time. Some of the syntax changed in the language itself.
I think if you compare any most Julia books to books on R, Julia, C++, etc… you find the books on Julia have very little content.
There are not many exciting Julia books, perhaps not surprising, given how the language has been in flux until recently. I like the idea of a thorough book, but in the end I have always ended up learning languages through the official documentation and other online resources, like forums.
I really recommend the manual, give that a proper try before you reach for a book, and then ask questions on Discourse/Stackoverflow.com or in the chat room.