Skip to content

Instantly share code, notes, and snippets.

@CnrLwlss
Created May 13, 2020 22:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save CnrLwlss/7fb6962468d7776e04093743a44261ba to your computer and use it in GitHub Desktop.
Save CnrLwlss/7fb6962468d7776e04093743a44261ba to your computer and use it in GitHub Desktop.
Scientific programming

Why Julia?

  • Scientific programming language
  • Open source
  • Package management
  • Supports functional programming
  • Designed to take advantage of computers with multiple CPUs

Why R?

  • Statistical programming language
  • Open source
  • Good package management (CRAN, BioconductoR)
  • Supports functional programming
  • Some R code compact, easy to read and maintain

Why not R?

  • Not well designed or easy to learn
  • Vectorisation: sacrificed performance of for loops, not always implemented (sapply, lapply etc.)
  • Package management excellent, but split (CRAN vs. BioconductoR)
  • Conflicting and contrasting coding styles (base R vs. tidyverse)
  • Uses multiple CPUs in completely different ways on Linux vs. Windows

Why Python?

  • General purpose computing language
  • Open source
  • Exceptionally clear code, easy to learn
  • Excellent package management (PIP)
  • Partially supports functional programming

Why not Python?

  • Scientific computing capability solely from other packages (numpy, pandas, scipy): a different language
  • Not well designed for computing with multiple CPUs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment