Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feedback on Julia Crash Course (draft) #5

Open
Rui-Bebiano opened this issue Mar 2, 2023 · 0 comments
Open

Feedback on Julia Crash Course (draft) #5

Rui-Bebiano opened this issue Mar 2, 2023 · 0 comments

Comments

@Rui-Bebiano
Copy link

Dear authors,

I have just read the draft of your upcoming book. Let me start by congratulate you for the effort, which will undoubtedly be useful, as Julia's popularity is growing faster then do publications and tutorials about it... I wish you are successful in your endeavour.

I have some comments, which I hope may be helpful. I have divided them into (i) general and (ii) localized comments. Note that I didn’t read the feedback provided by other contributors, so I may be repeating something already said – sorry for that.

General comments

  • The book is written in a clear and a "beginner-friendly" style, even funny at some points. But, generally, the language would better be somewhat more objective and formal (while keeping the funny aspect). For instance, replace “I” for “we”, and “my” for “our”, or (better) use passive voice. Also, avoid addressing the reader directly (“you’re”, etc.). It's a matter of style, and it is subjective, but most material about programming is like that.

  • I am new to Julia, and this was my first reading about it. I realised that it is very similar to Python, and all the examples in the book seemingly can be replicated in Python with a similar syntax. It is important to argue that Julia is more than a "cute alternative" to Python. As the book says (and I think the Fig. in pg. 5 is really important), Julia is way faster than Python. Therefore, I'd recommend that the final version of the book contained a more complex example (e.g., a machine learning problem), that showcases the performance of Julia, in comparison with Python.

  • Most hyperlinks don’t seem to be working (examples: Pgs 6,7,14,15,…), and so I was unable to be directed to those external contents.

Localised comments

  1. Pg. v: When teaching others, especially through books, it is good to be as precise as possible with concepts. Instead of saying 'setting up the Julia programming language on your computer,' I suggest using something like 'installing the Julia command-line interface, named “Julia REPL”, on your computer.'. This is in order to distinguish between Julia (a programming language) and its CLI (a software).
  2. Pg. 5: In the figure, the Y-axis should have a label.
  3. Pg. 6: “Julia is one of only 4 languages in the Petaflop club”
  4. Pg. 7: “Our hope is that”
  5. Pg. 8: At the beginning of this section, it would be helpful (especially for beginners) to remind us what the Julia REPL is, before saying what it does.
  6. Pg. 11: In the bottom code remove the “\” before “10”.
  7. Pg. 16: The “Job opportunities” section looks out-of-place in the book, more like a light blog article. You really should re-write it in a more objective tone, or even remove it altogether.
  8. Pg. 20: “Part of what makes the Julia community so special is that many of its members are pushing the frontier of what is possible in their respective fields.”
  9. Pg. 22: “There is truly” … “the places people are struggling when learning Julia”
  10. Pg. 74: On the last code snippet, “st” instead of “stStatus”
  11. Pg. 83: “Here we defined a constructor and used the special keyword new in order to create the object at the end of the function” – I’m puzzled by this. In the code snippet that follows this paragraph there is no keyword “new”. The only “new” there is the prefix in the variable name “new_dog”, but that should not be called a “keyword” (e.g: “print”, “function”, “end” – those are keywords)
  12. Pg 87: Before the code snippet, remove “Copy code”
  13. Pg. 97: You start talking about MadLibs without having introduced it (is it a module?) or giving a general explanation of what it is useful for.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant