Coding

Julia – dynamic programming language for technical computing

Julia is a high-level, high-performance, open source, flexible, dynamic programming language for technical computing. It is multi-paradigm, combining features of imperative, functional, and object-oriented programming. Julia’s hash syntax is familiar to users of other technical computing environments especially MATLAB.

Julia offers a sophisticated compiler, distributed parallel execution, numerical accuracy, and an extensive mathematical function library.

The library, largely written in Julia itself, also integrates mature, best-of-breed C and Fortran libraries for linear algebra, random number generation, signal processing, and string processing.

Additionally, the Julia developer community is contributing a number of external packages through Julia’s built-in package manager. Julia programs are organized around defining functions, and overloading them for different combinations of argument types (which can also be user-defined).

Features include:

  • Components:
    • Syntax layer.
    • Symbolic language and corresponding data structures for representing certain kinds of types.
    • Implementation of generic functions and dynamic multiple dispatch.
    • Compiler intrinsic functions for accessing the object model.
    • Compiler intrinsic functions for native arithmetic, bit string operations, and calling native (C or Fortran) functions.
    • mechanism for binding top-level names.
  • High-level, Python-like syntax.
  • Dynamic types (with type hinting).
  • Expressive – a rich language of types for constructing and describing objects.
  • Fast – approaches the speed of statically-compiled languages like C.
  • Optional typing.
  • User-defined types are as fast and compact as built-ins.
  • Define function behavior across many combinations of argument types via multiple dispatch.
  • Lightweight “green” threading (coroutines).
  • Efficient support for Unicode, including but not limited to UTF-8.
  • Call C functions directly (no wrappers or special APIs needed).
  • Powerful shell-like capabilities for managing other processes.
  • Lisp-like macros and other metaprogramming facilities.
  • Good range of libraries for common scientific and engineering computing tasks.

Website: julialang.org
Support: Documentation
Developer: Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and other contributors
License: MIT License

Return to New Programming Languages


Explore Linux

Best Free and Open Source Software - A huge collection of recommended free and open source software covering every major category.
In-depth Linux Software Reviews - Detailed assessments of Linux software covering features, usability and overall quality.

The Big List of Active Linux Distros - An extensive collection of actively developed Linux distributions.
Open Source Alternatives - Alternatives to software and services from Google, Microsoft, Apple, Adobe, IBM, Autodesk, Oracle and others.
Essential Linux System Tools - Indispensable utilities for monitoring, maintaining and managing Linux systems.
Linux Productivity Tools - Useful utilities for improving productivity and streamlining everyday tasks.
Alternatives to Popular CLI Tools - Modern alternatives to familiar command-line utilities supplied with Linux systems.
Awesome Free Linux Game Tools - Tools, utilities and companion software that improve gaming on Linux.
Machine Learning on Linux - Machine learning and deep learning software, self-hosted applications and practical tools.
Saving Money with Linux - Practical ways to reduce electricity consumption and lower computing costs with Linux.
Linux Candy - Fun, entertaining and sometimes delightfully quirky software from the lighter side of Linux.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted