3 ms·
If one wanted to learn Julia, where is the best place to start? I looked at https://julialang.org/learning/books/ https://julialang.org/learning/books/ For new
by clumsysmurf 4y ago
If one wanted to learn Julia, where is the best place to start? I looked at https://julialang.org/learning/books/ https://julialang.org/learning/books/
For new programming language XXX I look for a book like the "K&R for XXX". I see some older ones from Packt, but nothing like the official Rust Book, for example. There is "Think Julia" (OReilly) but its older.
- mxkopy 4y agoThe way I learn new languages nowadays is 1. Look at example 'Hello world' code 2. Attempt a problem on Project Euler 3. Look at docs/source code to get what I'm missing 4. Repeat Julia docs are good for step 3. I don't think there are many super technical books like the one you're looking for, since Julia doesn't really have an industry that would produce them, and since the core is still being developed and all that.
- agucova 4y agoFor experienced programmers, I usually recommend: 0. Watching this [0] Fireship video to get the “big picture” on the language. 1. Reading the “Noteworthy Differences from other Languages” [1] section of the manual, if your language is on the list. 2. Then, if you're hurried, read Learn Julia in Y Minutes [2], or otherwise read the official manual [3] in order, skipping sections you're not interested in. In case you're interested in scientific computing specifically, you can start from Chris Rackauckas' course on Parallel Computing and Scientific Machine Learning [4]. And if you don't have a straightforward application to test Julia on while learning, I would recommend doing the exercises available in Exercism [5], which are well-made and provide access to awesome mentors. As for books, Think Julia is pretty good imho, even if it's a little bit outdated. [0]: https://www.youtube.com/watch?v=JYs_94znYy0 https://www.youtube.com/watch?v=JYs_94znYy0 [1]: https://docs.julialang.org/en/v1/manual/noteworthy-differences/#Noteworthy-differences-from-MATLAB https://docs.julialang.org/en/v1/manual/noteworthy-differenc... [2]: https://learnxinyminutes.com/docs/julia/ https://learnxinyminutes.com/docs/julia/ [3]: https://docs.julialang.org/en/v1/manual/getting-started/ https://docs.julialang.org/en/v1/manual/getting-started/ [4]: https://www.youtube.com/watch?v=-lJK92bEKow&list=PLCAl7tjCwWyGjdzOOnlbGnVNZk0kB8VSa&index=2 https://www.youtube.com/watch?v=-lJK92bEKow&list=PLCAl7tjCwW... [5]: https://exercism.org/tracks/julia https://exercism.org/tracks/julia
- socialdemocrat 4y agoSome shameless self-promotion here: https://www.manning.com/books/julia-as-a-second-language https://www.manning.com/books/julia-as-a-second-language It is not exactly a K&R style book but I did write it to appeal more to regular programmers than academics. The Julia world is very dominated by researchers which is reflected in how it is often presented. It isn’t meant to show directly applicable code examples but focus more on things which could be fun and interesting to implement: such as simulate rockets.
- ChrisRackauckas 4y agoI'm hoping the new SciML docs can become a good enough source for beginners looking to do scientific computing (https://docs.sciml.ai/Overview/stable/ https://docs.sciml.ai/Overview/stable/). It's not there yet, we literally started redirecting links to the new docs on Monday so that's how new it is, it's already moving in the direction of having a lot of materials for new users (in scientific computing specifically, this is not and will not be a general Julia resource) before ever hitting deeper features. Though if someone wants to dive deep into the language, I'd plug my own SciML course notes: https://book.sciml.ai/ https://book.sciml.ai/, which again is not for general usage but scientific computing but does show a lot about good programming styles (see https://book.sciml.ai/notes/02-Optimizing_Serial_Code/ https://book.sciml.ai/notes/02-Optimizing_Serial_Code/).
- sundarurfriend 4y agoI like to start off hands-on, and I found this appendix [1] a quick way to dive into the language. It's not comprehensive, but a great pragmatic gateway into the language for the experienced and impatient programmer. [1] https://algorithmsbook.com/files/appendix-g.pdf https://algorithmsbook.com/files/appendix-g.pdf