Julia — Pluto.jl notebooks
Experimenting with Julia and Pluto notebooks.
Julia
The Julia programming language aims to create an unprecedented combination of ease-of-use, power, and efficiency in a single language. Julia is an open source project with over 1,000 contributors. In addition to the above, some advantages of Julia over comparable systems include:
- Free and open source (MIT licensed)
- User-defined types are as fast and compact as built-ins
- No need to vectorize code for performance; devectorized code is fast
- Designed for parallelism and distributed computation
- Lightweight "green" threading (coroutines)
- Unobtrusive yet powerful type system
- Elegant and extensible conversions and promotions for numeric and other types
- Efficient support for Unicode, including but not limited to UTF-8
- Call C functions directly (no wrappers or special APIs needed)
- Powerful shell-like capabilities for managing other processes
- Lisp-like macros and other metaprogramming facilities
Installing Julia — juliaup
Pluto
Pluto — simple reactive notebooks for Julia. Writing a notebook is not just about writing the final document — Pluto empowers the experiments and discoveries that are essential to getting there.
Explore models and share results in a notebook that is reactive - when changing a function or variable, Pluto automatically updates all affected - cells; lightweight - Pluto is written in pure Julia and is easy to install; simple - no hidden workspace state; friendly UI.
Install Pluto on your own computer
Example
Based on the Reddit post 45° really does max range — example Jupyter notebook using Julia — Kinematics Fundamentals with Julia.
- HTML preview: Kinematics/kinematics_fundamentals.html
- Julia notebook file (for download): Kinematics/kinematics_fundamentals.jl
You can use a Julia REPL to start Pluto, as follows:
1# Once to install Pluto
2import Pkg; Pkg.add("Pluto")
3
4# To start Pluto server and browser session.
5import Pluto; Pluto.run()
Open the downloaded Julia kinematics_fundamentals.jl file in the web browser session.
Screendump