Numerical analysis software for Linux | Data mining and machine learning software | Free statistical software | Numerical libraries | Numerical linear algebra

Julia (programming language)

Julia is a high-level, dynamic programming language. Its features are well suited for numerical analysis and computational science. Distinctive aspects of Julia's design include a type system with parametric polymorphism in a dynamic programming language; with multiple dispatch as its core programming paradigm. Julia supports concurrent, (composable) parallel and distributed computing (with or without using MPI or the built-in corresponding to "OpenMP-style" threads), and direct calling of C and Fortran libraries without glue code. Julia uses a just-in-time (JIT) compiler that is referred to as "just-ahead-of-time" (JAOT) in the Julia community, as Julia compiles all code (by default) to machine code before running it. Julia is garbage-collected, uses eager evaluation, and includes efficient libraries for floating-point calculations, linear algebra, random number generation, and regular expression matching. Many libraries are available, including some (e.g., for fast Fourier transforms) that were previously bundled with Julia and are now separate. Several development tools support coding in Julia, such as integrated development environments (e.g. for Microsoft's Visual Studio Code, an extension is available providing debugging and linting support); with integrated tools, e.g. a profiler (and flame graph support available for the built-in one), debugger, and the Rebugger.jl package "supports repeated-execution debugging" and more. Julia works with other languages, calling C has special support, and with use of extra packages, e.g. for working with Python, R, Rust, C++, SQL and to work with or even to compile to JavaScript. Julia can be compiled to binary executables using a package for it supporting all Julia features. Small binary executables can also be made using a different package but then the Julia runtime isn't included in the executable, e.g. down to 9 KB (then without e.g. the garbage collector since it's part of Julia's runtime, i.e. with similar limited capabilities to the C language), for computers or even microcontrollers with 2 KB of RAM. By default, Julia code depends on the Julia runtime to support all Julia features, e.g. threading, but some (non-idiomatic, to smaller or larger degree) Julia code can be compiled to small executables (with limited Julia capabilities). In both cases no source code needs to be distributed. (Wikipedia).

Julia (programming language)
Video thumbnail

Project 1 Section 2 Part 1

Setting up Julia (using Juliabox.org) to import our dataset and start our data analysis.

From playlist The Julia Computer Language

Video thumbnail

Lesson 01_01 Introducing Julia

Download the notebook files as they are added at: http://www.juanklopper.com/computer-programming/ In the first part of this introductory lesson I take a quick look at Julia. Julia is a computer language for technical (mathematical) computing. It is easy to learn, with simple syntax, ye

From playlist The Julia Computer Language

Video thumbnail

Lesson 06_04 Characters

Julia has a special type for single characters.

From playlist The Julia Computer Language

Video thumbnail

Using Distributions in Julia

In this lecture I delve a little deeper into the Distributions package used in Julia.

From playlist The Julia Computer Language

Video thumbnail

Project 1 Section 2 Part 5

Starting to take a closer look at our data using some descriptive statistics.

From playlist The Julia Computer Language

Video thumbnail

Project 1 Section 2 Part 4

In this section I change all the coded values back to the actual values, just to clear things up when doing the analysis.

From playlist The Julia Computer Language

Video thumbnail

Lesson 04_01 Introduction to Julia functions

One of the most useful aspects of Julia is the ability to create functions and more so, in the multiple dispatch format that functions take. In this introduction we will take a look at what's coming up in this lesson.

From playlist The Julia Computer Language

Video thumbnail

Lesson 05_07 Dictionaries

With dictionaries we create both a set of elements and specify a key for each. We can reference these keys instead of the usual indices wes used in arrays.

From playlist The Julia Computer Language

Video thumbnail

Lesson 04_05 Functions with a variable number of arguments

In this section we take a look at creating functions that can take a different number of arguments each time it is called.

From playlist The Julia Computer Language

Video thumbnail

Algorithm Archive Updates! Woo 3!

Lots of discussion today about the future of the AAA. We began implenting Julia code as the default language. We'll see how this goes. -- Watch live at https://www.twitch.tv/simuleios

From playlist Algorithm-archive

Video thumbnail

Best practice from Julia: Impact through efficient research code

The challenge of bringing projects from research to real world impact is spinning out of control. Ideas need to reach clusters and super-computers for large scale data; be deployed to the cloud for real-time analysis, and be built on by other industrial and academic projects. Adhoc soluti

From playlist Turing Seminars

Video thumbnail

The journey to Julia 1.0: The "Ju" in Jupyter

The journey to Julia 1.0: The "Ju" in Jupyter Viral Shah (Julia Computing), Jane Herriman (Julia Computing), Stefan Karpinski (Julia Computing, Inc.) Julia has seen over 2M downloads since its inception and v1.0 is expected to be released soon. It is used in areas as diverse as machine le

From playlist JupyterCon in New York 2018

Video thumbnail

DSI | Julia, The Power of Language by Alan Edelman

Abstract: The Julia language has become well known for its combination of performance and ease-of-use. We argue the real power of language is the ability to have impact. In this talk we will assume no or little familiarity with the Julia language, and describe why Julia is not just anoth

From playlist DSI Virtual Seminar Series

Video thumbnail

DSI | Julia, The Power of Language by Alan Edelman

Abstract: The Julia language has become well known for its combination of performance and ease-of-use. We argue the real power of language is the ability to have impact. In this talk we will assume no or little familiarity with the Julia language, and describe why Julia is not just anoth

From playlist DSI Virtual Seminar Series

Video thumbnail

Julia in 100 Seconds

Julia is a dynamic general purpose programming language popular for scientific computing and big data analytics. It is extremely fast thanks to its use of a JIT compiler and allows developers to write concise, yet powerful code. #compsci #programming #100SecondsOfCode 🔗 Resources Julia

From playlist 100 Seconds of Code

Video thumbnail

What's New in ExternalEvaluate

The ExternalEvaluate framework lets you evaluate code from a number of external languages and environments such as Python, Ruby and Java directly in your Wolfram session. This talk will focus on the latest additions, with particular attention to the recently added SQL, shell and Julia comp

From playlist Wolfram Technology Conference 2022

Video thumbnail

Making Fractal People

Working on the Fractal Animation Engine! https://www.leioslabs.com/Fae.jl/dev/ Discord: https://discord.gg/QctJhUA Github: https://github.com/leios Music: https://www.joshwoodward.com/

From playlist Streams

Video thumbnail

23. High Performance in Dynamic Languages

MIT 6.172 Performance Engineering of Software Systems, Fall 2018 Instructor: Steven Johnson View the complete course: https://ocw.mit.edu/6-172F18 YouTube Playlist: https://www.youtube.com/playlist?list=PLUl4u3cNGP63VIBQVWguXxZZi0566y7Wf Professor Steven Johnson talks about a new dynamic

From playlist MIT 6.172 Performance Engineering of Software Systems, Fall 2018

Video thumbnail

Algorithm Archive Updates! Woo!

I figure we can start posting my streams again, Algorithm Archive here: https://leios.gitbooks.io/algorithm-archive/content/ -- Watch live at https://www.twitch.tv/simuleios

From playlist Algorithm-archive

Video thumbnail

Lesson 04_02 Single expression functions

The first syntax for creating a function is the single expression function. It looks a lot like a mathematical function.

From playlist The Julia Computer Language

Related pages

CUDA | Metaprogramming | Parametric polymorphism | MATLAB | Computational science | Linear algebra | Comparison of statistical packages | Lint (software) | Nominal type system | Hertz | 8-bit computing | Lua (programming language) | Zero-based numbering | Random number generation | LaTeX | Inline expansion | Abstract syntax tree | Unit of measurement | LLVM | Inheritance (object-oriented programming) | Floating-point arithmetic | Cube root | Subtyping | 64-bit computing | Hygienic macro | Regular expression | Garbage collection (computer science) | OpenCL | Multiple dispatch | Java virtual machine | Type system | JuMP | Infix notation | Differentiable programming | ROCm | R (programming language) | Strong and weak typing | Comparison of numerical-analysis software | Wolfram Mathematica | Fast Fourier transform | Dalvik (software) | Specification language | Numerical analysis | Iteration | Time series | Polymorphism (computer science) | Square root | IEEE 754-1985 | PyTorch | Wolfram Language