From e1cd316ed5daafe2bfbbb32f8751faebad817946 Mon Sep 17 00:00:00 2001 From: "Anthony D. Blaom" Date: Thu, 30 May 2024 12:40:17 +1200 Subject: [PATCH] remove reference to FIRST_STEPS.md, now subsumed into INSTALLATION.md --- DEVELOPER_NOTES.md | 2 +- FIRST_STEPS.md | 19 ------------ INSTALLATION.md | 6 ++-- README.md | 72 ++++++++++++++++++++++------------------------ 4 files changed, 37 insertions(+), 62 deletions(-) delete mode 100644 FIRST_STEPS.md diff --git a/DEVELOPER_NOTES.md b/DEVELOPER_NOTES.md index 8be83de..27351b2 100644 --- a/DEVELOPER_NOTES.md +++ b/DEVELOPER_NOTES.md @@ -7,7 +7,7 @@ All tutorials use a common Project.toml/Manifest.toml pair, located at the root level. **IMPORTANT** Always ensure the version of Julia used to generate this pair matches what -is declared in `/FIRST_STEPS.md`. This needs to match `JULIA_VERSION` defined in +is declared in `INSTALLATION.md`. This needs to match `JULIA_VERSION` defined in src/HelloJulia.jl. diff --git a/FIRST_STEPS.md b/FIRST_STEPS.md deleted file mode 100644 index efcdadd..0000000 --- a/FIRST_STEPS.md +++ /dev/null @@ -1,19 +0,0 @@ -# Installing Julia - -Follow these **four** steps to install Julia on your computer: - -1. If you are a Windows user, install [Windows Terminal](https://aka.ms/terminal) and make - sure you know how to open a new terminal process (window), into which you can type - commands. If the link doesn't work, try a different browser. - -2. Follow [these official installation instructions](https://julialang.org/downloads/). - -3. Open a terminal window and type `julia`, and press `RETURN` or `ENTER`. This - launches a command-line interface for interacting with julia called the - [REPL](https://en.wikipedia.org/wiki/Read–eval–print_loop). - -4. *Testing.* At the `julia> ` prompt, type `println("Hello world!")` and press `RETURN` - or `ENTER`. The words "Hello world!" should be repeated back to you. You can quit the - Julia session by typing `exit()` or entering `CONTROL+D`. - -![Julia REPL screen shot](/assets/hello_world.png) diff --git a/INSTALLATION.md b/INSTALLATION.md index f9de7f1..38140b1 100644 --- a/INSTALLATION.md +++ b/INSTALLATION.md @@ -55,10 +55,8 @@ workshop! ## Running the demos and tutorials -!!! Note - - Running notebooks for the first time may involve delays due to - precompilation of newly installed packages. +**Note.** Running notebooks for the first time may involve delays due to precompilation of +newly installed packages. After starting a new Julia session, enter these commands: diff --git a/README.md b/README.md index 00aba84..d98ddd6 100644 --- a/README.md +++ b/README.md @@ -56,11 +56,41 @@ Some random resources for Julia newcomers: Julia](https://juliaai.github.io/DataScienceTutorials.jl/) -## First steps +## Other ways to learn Julia -- [Installing Julia on my computer](/FIRST_STEPS.md) +### If you have little or no prior programming experience -- [HelloJulia demos and tutorials](INSTALLATION.md) +Many people use R, python or MATLAB packages with a minimum of actual +programming knowledge and the same applies to Julia. However, to start +deepening your Julia programming knowledge, you could try some of the +resources at this [Julia org page](https://julialang.org/learning/) +(e.g., [juliaAcademy](https://juliaacademy.com)). I have also heard +that the book [Think +Julia](https://benlauwens.github.io/ThinkJulia.jl/latest/book.html) is +a pretty good ab initio introduction to programming. + + +### If you have moderate to advanced programming experience elsewhere + +If you are already python proficient, check out +[this](https://colab.research.google.com/drive/1G04w8tTl074180DP_Ka9X44r_pndUYxq?usp=sharing#scrollTo=9at61Y3LLJWX) +Colab notebook. + +My strong recommendation would be to read Aaron Christinson's tutorial +[Dispatching Design +Patterns](https://github.com/ninjaaron/dispatching-design-patterns) +which is nicely compressed in his [half-hour +video presentation](https://www.youtube.com/watch?v=n-E-1-A_rZM). + +These [points of +difference](https://docs.julialang.org/en/v1/manual/noteworthy-differences/) +between Julia and other popular languages may also be useful. + +Serious Julia developers will want a copy of [Hands-On Design Patterns +and Best Julia Practices with Julia](https://www.perlego.com/book/1365831/handson-design-patterns-and-best-practices-with-julia-proven-solutions-to-common-problems-in-software-design-for-julia-1x-pdf?utm_source=google&utm_medium=cpc&gclid=CjwKCAjw_L6LBhBbEiwA4c46uv-v5MDWoUCnOsWjAsPQ1OWcownNPPDrKDhhlwNbGG69_zSNFwyM5RoCMgcQAvD_BwE) by Tom Kwong. This is the book +I wished existed when I started. I learned Julia from the +[manual](https://docs.julialang.org/en/v1/) which is, however, +excellent. ## Advanced setup @@ -79,6 +109,7 @@ Once you are familiar with basic interaction using the REPL, you will want to: - Juptyer notebooks (used also for R and python) - follow [these instructions](https://github.com/JuliaLang/IJulia.jl). - [Pluto](https://github.com/fonsp/Pluto.jl) "reactive" notebooks (specific to Julia) + These formats are also provided by the HelloJulia.jl [tutorials](INSTALLATION.md). ## Getting help @@ -99,41 +130,6 @@ channel](https://julialang.org/slack/). Also useful: - `apropos("invert")` seaches for objects with "invert" in the doc string. -## Learning Julia - -### If you have little or no prior programming experience - -Many people use R, python or MATLAB packages with a minimum of actual -programming knowledge and the same applies to Julia. However, to start -deepening your Julia programming knowledge, you could try some of the -resources at this [Julia org page](https://julialang.org/learning/) -(e.g., [juliaAcademy](https://juliaacademy.com)). I have also heard -that the book [Think -Julia](https://benlauwens.github.io/ThinkJulia.jl/latest/book.html) is -a pretty good ab initio introduction to programming. - - -### If you have moderate to advanced programming experience elsewhere - -If you are already python proficient, check out -[this](https://colab.research.google.com/drive/1G04w8tTl074180DP_Ka9X44r_pndUYxq?usp=sharing#scrollTo=9at61Y3LLJWX) -Colab notebook. - -My strong recommendation would be to read Aaron Christinson's tutorial -[Dispatching Design -Patterns](https://github.com/ninjaaron/dispatching-design-patterns) -which is nicely compressed in his [half-hour -video presentation](https://www.youtube.com/watch?v=n-E-1-A_rZM). - -These [points of -difference](https://docs.julialang.org/en/v1/manual/noteworthy-differences/) -between Julia and other popular languages may also be useful. - -Serious Julia developers will want a copy of [Hands-On Design Patterns -and Best Julia Practices with Julia](https://www.perlego.com/book/1365831/handson-design-patterns-and-best-practices-with-julia-proven-solutions-to-common-problems-in-software-design-for-julia-1x-pdf?utm_source=google&utm_medium=cpc&gclid=CjwKCAjw_L6LBhBbEiwA4c46uv-v5MDWoUCnOsWjAsPQ1OWcownNPPDrKDhhlwNbGG69_zSNFwyM5RoCMgcQAvD_BwE) by Tom Kwong. This is the book -I wished existed when I started. I learned Julia from the -[manual](https://docs.julialang.org/en/v1/) which is, however, -excellent. **Acknowledgements.** Some slides used in the presentation for this workshop, and included [here](/slides), are based on material