Learning Julia Workshop

Jul 12, 2024

Learning Julia Workshop

Introduction

  • Presenters: Kyla and Yulia, both PhD students in linguistics at the University of Freiburg, Germany.
  • Objective: To teach and learn the basics of Julia together.

Goals for the Workshop

  1. Introduce the presenters and participants.
  2. Discuss the Julia programming language and its benefits.
  3. Provide initial setup instructions (installation and environments).
  4. Go over basic Julia operations and tools.
  5. Schedule for future sessions and topics.

Future Workshop Dates

  • March 17th
  • April 14th
  • May 12th (Note: These dates are subject to change but are already scheduled on the Meetup page.)

About Kyla and Yulia

  • Located in the southwest corner of Germany, close to France and Switzerland.
  • Organizers of RLadies events in Freiburg focused on R programming.
  • Recently started learning Julia and keen to use it for academic research, particularly in data modeling.
  • Previous experience with R and Python.

Julia as a Programming Language

  • General-purpose programming language suitable for diverse applications, especially popular in data science.
  • Key Features:
    • Built for data science and machine learning.
    • Free and open-source, with most materials available on GitHub.
    • Readable syntax similar to Python but with faster performance, often better than languages like C.
    • Strong emphasis on reproducibility and complex model handling.
    • Easy integration with other programming languages (e.g., R, Python).
  • Community: Encouraged to use non-gendered pronouns for Julia (i.e., refer to it as "the Julia language").

Julia Performance Benchmarks

  • Julia shows superior performance compared to R and Python, particularly in data science applications.
  • Benchmarks available on the Julia website illustrating its speed advantages over other languages.

Getting Started with Julia

  1. Installation:
    • Visit julialang.org -> Downloads.
    • Choose your operating system (Windows, macOS, Linux).
    • Follow the instructions for your system (add Julia to PATH recommended for Windows).
  2. Running Julia Console (REPL):
    • Provides a command line interface for evaluating Julia commands.
    • Useful for quick tests, simple mathematical operations, and basic code execution.
    • Includes a built-in help section (?) for exploring functions.
  3. Package Manager:
    • Enter using ] in the REPL.
    • Allows adding, updating, and managing packages.
    • Install the essential package Pluto using add Pluto.

Package Management and Using Pluto

  • Pluto Notebook: Ideal for interactive and reproducible research.
    • Import using import Pluto.
    • Start a session with Pluto.run().
    • Different coding environments: Pluto, VSCode, and others.
  • Pluto Interface:
    • Splits code into cells that are individually run and evaluated.
    • Markdown for text and comments (md" ").
    • Recalculates dependencies and variables automatically.

Features of Pluto Notebooks

  • Use of markdown for documentation and commenting (`md