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).
- 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.
|New to Linux? Read our Linux for Starters series. We start right at the basics and teach you everything you need to know to get started with Linux.|
|The largest compilation of the best free and open source software in the universe. Each article is supplied with a legendary ratings chart helping you make informed decisions.|
|Hundreds of in-depth reviews offering our unbiased and expert opinion on software. We offer helpful and impartial information.|
|Alternatives to Google's Products and Services examines your options to migrate from the Google ecosystem with open source Linux alternatives.|
|Alternatives to Microsoft's Products and Services recommends open source Linux software.|
|Alternatives to Adobe Cloud looks at free and open source alternatives to products available from Adobe Cloud's subscription service.|
|Alternatives to Apple recommends free and open source alternatives to Apple's proprietary world.|
|Alternatives to Corel surveys alternatives to Corel's range of graphics processing products and other software applications.|
|Getting Started with Docker helps you master Docker, a set of platform as a service products that delivers software in packages called containers.|
|Essential Linux system tools focuses on small, indispensable utilities, useful for system administrators as well as regular users.|
|Linux utilities to maximise your productivity. Small, indispensable tools, useful for anyone running a Linux machine.|
|Home computers became commonplace in the 1980s. Emulate home computers including the Commodore 64, Amiga, Atari ST, ZX81, Amstrad CPC, and ZX Spectrum.|
|Now and Then examines how promising open source software fared over the years. It can be a bumpy ride.|
|Linux at Home looks at a range of home activities where Linux can play its part, making the most of our time at home, keeping active and engaged.|
|Linux Candy reveals the lighter side of Linux. Have some fun and escape from the daily drudgery.|
|Best Free Android Apps. We showcase free Android apps that are definitely worth downloading. There's a strict eligibility criteria for inclusion in this series.|
|These best free books accelerate your learning of every programming language. Learn a new language today!|
|These free tutorials offer the perfect tonic to our free programming books series.|
|Stars and Stripes is an occasional series looking at the impact of Linux in the USA.|