Julia 101

Lesson 1: Introduction

Logo of Julia Programming Language
  • Multiple dispatch: providing ability to define function behavior across many combinations of argument types
  • Dynamic type system: types for documentation, optimization, and dispatch
  • Performance approaching that of statically-typed languages like C
  • A built-in package manager
  • Lisp-like macros and other metaprogramming facilities
  • Call C functions directly: no wrappers or special APIs
  • Ability to interface with other languages, e.g. Python with PyCall, R with RCall, and Java/Scala with JavaCall
  • Powerful shell-like abilities to manage other processes
  • Designed for parallel and distributed computing
  • Coroutines: lightweight green threading
  • User-defined types are as fast and compact as built-ins
  • Automatic generation of efficient, specialized code for different argument types
  • Elegant and extensible conversions and promotions for numeric and other types
  • Efficient support for Unicode, including but not limited to UTF-8

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
MUHAMMAD SALMAN KABIR

Electrical Engineer | Signal Processing & Machine Learning Enthusiast