I øvingsopplegget bruker vi Julia som programmeringsspråk. Her har vi samlet noen ressurser som kan hjelpe deg å sette opp det du trenger for å kjøre Julia-kode lokalt (altså utenfor INGInious), hvis du ønser det.

Trinn 1: Installasjon

Du kan laste ned og installere Julia manuelt, men det greieste er å bruke et pakkesystem som gjør det for deg. Nedenfor følger instruksjoner for Windows og macOS, men de offisielle nettsidene har også instruksjoner for andre plattformer, og instruksjoner for mer manuell installasjon.

Windows

På Windows kan du bruke pakkesystemet Chocolatey. Følg instruksjonene, eller gjør følgende: Start opp et admin-shell ved å høyreklikke på Start-menyen og velge Command Prompt (Admin) eller Windows PowerShell (Admin), avhengig av hvilken av delene du finner i menyen din. Du skal så utføre én av de neste to kommandoene.

Hvis du valgte Command Prompt (Admin), utfør følgende kommando:

@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

Hvis du valgte Windows PowerShell (Admin), utfør følgende kommando:

Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

Deretter (enten du bruker Command Prompt eller PowerShell) utfører du følgende kommando for å installere Julia:

choco install julia --confirm

Deretter skal du kunne starte Julia slik:

julia

Du havner da i interaktiv modus (REPL).

macOS

I macOS kan du bruke pakkesystemet Homebrew. Start først opp Terminal-appen. (Du kan f.eks. taste cmd-space, skrive terminal, og deretter trykke enter.) Bruk deretter følgende kommando for å installere Homebrew:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Når installasjonen er ferdig kan du bruke følgende kommando for å installere Julia:

brew cask install julia

Deretter skal du kunne starte Julia slik:

julia

Du havner da i interaktiv modus (REPL).

Trinn 2: Programmering

For å skrive kode, trenger du en teksteditor. Det er mange å velge mellom, for eksempel:

Velg den du er mest komfortabel med. Det er mange av disse som har støtte for f.eks. syntaksutheving for Julia, men det er ikke noe du må ha. Det viktigste er at du kan redigere rene tekstfiler.

Om du har kode i en fil som heter eksempel.jl så kan du forflytte deg til samme katalog i terminalen (med cd-kommandoen) og deretter bruke julia-kommandoen for å kjøre den:

julia eksempel.jl


Mer om Julia

Julia har som mål å være lett å bruke, ha god innebygd matematikknotasjon og likevel kjøre raskt. For å si det med Jeffrey M. Perkel i Nature:

Researchers often find themselves coding algorithms in one programming language, only to have to rewrite them in a faster one. An up-and-coming language could be the answer. […]

Launched in 2012, Julia is an open-source language that combines the interactivity and syntax of ‘scripting’ languages, such as Python, Matlab and R, with the speed of ‘compiled’ languages such as Fortran and C.

Julia er allerede i utstrakt bruk innen mange tekniske anvendelser; vi tror det egner seg godt for en som skal lære seg algoritmer og datastrukturer, og det bør virke relativt kjent for alle som har brukt f.eks. Python eller Matlab.

De som vil, kan ta et dypdykk i dette språket (se f.eks. punktet om Julia-miljøet lenger nede) og oppdage mye interessant og gøy, men det er ikke nødvendig for å ta dette faget. Vi prøver å vise den viktigste syntaksen etterhvert som du trenger det i øvingene.

Grunnleggende info

  • Julias nettside kan du laste ned Julia (om du vil installere manuelt) og finne den offisielle dokumentasjonen. Dokumentasjonen er god og ofte nyttig når man lurer på hvordan noe fungerer. Se spesielt toppen av siden Getting started der for informasjon om hvordan den interaktive modusen (REPL) fungerer, og hvordan man kjører en Julia-fil. Den interaktive modusen er veldig nyttig for å finne ut hvordan Julia fungerer.

  • Du vil ofte ha nytte av å teste kode, forandre litt på den, teste den igjen og så videre. En svakhet ved Julia (som det jobbes iherdig med…) er at det kan ta lang tid å utføre kode for første gang, siden den kompileres i kulissene. Om det irriterer deg, kan du ta en titt på Revise.jl, som nærmest fjerner dette problemet, så lenge du kjører koden din fra REPL-en.

Det er også mange som liker programmeringsmiljøet Juno. Vi har tidligere anbefalt dette, men har opplevd at flere studenter har hatt tekniske problemer med det, spesielt på Windows. Enkelte har også problemer med Julia-utvidelsen til VSCode. Test dem gjerne ut; om du får dem til å fungere, så får du mye nyttig funksjonalitet. Hvis ikke, så kan du jo prøve en av de andre løsningene beskrevet over.

Guider og lignende

Forhåpentligvis skal du kunne lære det meste av det du trenger direkte fra øvingene. Om det er ting du mener burde stå der, men som mangler, så si ifra! (Det gjelder også om det er ting du mener burde stå på denne siden.) Men om du vil lære mer, så finnes det en mengde ressurser å ta av.

Hvordan gjør man [sånn og sånn] i Julia?

  • Prøv deg litt fram! Når man lurer på hvordan noe fungerer i Julia, er det ofte veldig nyttig å prøve og feile litt i interaktiv modus (REPL) i kommandolinjen eller i Juno. Se punktet lenger oppe om installasjon av Juno.

  • I den interaktive modusen (REPL) kan du skrive «?» fulgt av navnet på f.eks. en funksjon for å se relevant dokumentasjon. Dette er nyttig når du vet navnet på en funksjon, men ikke hvordan den kan brukes.

  • Den offisielle dokumentasjonen er et nyttig oppslagsverk. Se link til Julias nettside lenger oppe.

  • Dersom du ikke finner ut av det, anbefaler vi at du spør om hjelp.

  • For spesielt interesserte: Julia-miljøet er aktivt og vennlig og er samlet flere steder på nettet, blant annet på Discourse, Slack og GitHub.

Jupyter

Et alternativ for de mer eventyrlystne kan være å se på Jupyter, som er et samarbeidsprosjekt mellom Julia-, Python- og R-miljøene (derav navnet). Jupyter gir deg mulighet til å lage interaktive dokumenter med både tekst, formler, GUI-elementer og kode. Du kan prøve det på nett, men om du skal bruke det mer aktivt, så må du kjøre det lokalt. Heldigvis er det veldig enkelt!

Om du starter Julia (så du i interaktiv modus, REPL) kan du installere Jupyter som følger – trykk ] for å komme inn i pakke-installasjons-modus:

pkg> add IJulia

Trykk så Ctrl-C for å komme ut av pakke-installasjons-modus igjen, og utfør følgende:

julia> using IJulia
julia> jupyterlab()
install Jupyter via Conda, y/n? [y]: y

Du bør så få opp JupyterLab i en nettleser.