Julia Programming Language: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
m (Text replacement - "]]↵*" to "]]. *") |
||
(20 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
A [[Julia Programming Language]] is a [[high-level programming language|high-level]], [[high-performance programming language|high-performance]] [[dynamic programming language|dynamic programming language]] for [[technical computing]] developed | A [[Julia Programming Language]] is a [[high-level programming language|high-level]], [[high-performance programming language|high-performance]] [[dynamic programming language|dynamic programming language]] for [[technical computing]] developed and stewarded by Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and other contributors. | ||
* <B>Context:</B> | * <B>Context:</B> | ||
** It can be used as a [[Data Analysis Language]]. | ** It can (typically) be used to define [[Julia Code]] (such as [[Julia program]] or a [[Julia library]]) with [[Julia statement]]s (for [[Julia variable]]s, [[Julia data structure]]s, and [[Julia conditional statement]]s) that can be interpreted by a [[Julia Interpreter]]. | ||
** It can (typically) be an [[Interpreted Programming Language]]. | |||
** It can (typically) include [[Python Standard Librari]]es. | |||
** It can (often) be used as a [[Data Analysis Language]]. | |||
** It can be parsed by a [[Julia Parser]] (e.g. in a [[Julia implementation]]). | |||
** It can support several [[Julia Built-in Data Type]]s. | |||
** … | |||
* <B>Example(s):</B> | |||
** [[Julia v0.2.1]]. | |||
* <B>Counter-Example(s):</B> | * <B>Counter-Example(s):</B> | ||
** [[Python Language]]. | ** [[Python Language]]. | ||
** [[MATLAB Language]]. | ** [[MATLAB Language]]. | ||
** [[Scheme Language]]. | |||
** [[R Language]]. | ** [[R Language]]. | ||
* <B | * <B>See:</B> [[Perl]], [[Fortran]], [[Octave]], [[Mathematica]], [[IJulia]], [[Scientific Computing]], [[Foreign Function Interface]]. | ||
---- | ---- | ||
---- | ---- | ||
===2012=== | == References == | ||
=== 2014 === | |||
* (Wikipedia, 2014) ⇒ http://en.wikipedia.org/wiki/Julia_(programming_language) Retrieved:2014-8-2. | |||
** '''Julia</B> is a [[high-level programming language|high-level]] [[dynamic programming language]] designed to address the requirements of high-performance numerical and [[scientific computing]] while also being effective for general purpose programming. Unusual aspects of Julia's design include having a type system with [[parametric polymorphism|parametric types]] in a fully [[dynamic programming language]] and adopting [[multiple dispatch]] as its core [[programming paradigm]]. It allows for [[parallel computing|parallel]] and [[distributed computing]]; and [[foreign function interface|direct calling]] of [[C (programming language)|C]] and [[Fortran]] libraries without glue code. Julia includes efficient libraries for [[floating point]], [[linear algebra]], [[random number generation]], [[fast Fourier transform]]s, and [[regular expression]] matching. Julia's core is implemented in [[C (programming language)|C]] and [[C++]], its parser in [[Scheme (programming language)|Scheme]], and the [[LLVM]] compiler framework is used for [[just-in-time compilation|just-in-time]] generation of machine code for x86(-64) with it almost working on [[ARM architecture|ARM]] (build failure). <ref> [https://github.com/JuliaLang/julia/pull/7662] </ref> <ref> [https://github.com/JuliaLang/julia/issues/3134 Port to ARM #3134] </ref> The standard library is implemented in Julia itself, using [[Node.js|Node.js's libuv]] library for efficient, [[cross-platform]] [[Input/output|I/O]]. The most notable aspect of Julia's implementation is its speed, which is often within a factor of two relative to fully optimized C code. Development of Julia began in 2009 and an [[Open-source software|open-source]] version was publicized in February 2012. | |||
<references/> | |||
=== 2012 === | |||
* http://julialang.org/ | * http://julialang.org/ | ||
** QUOTE: Julia is a [[high-level programming language|high-level]], [[high-performance programming language|high-performance]] [[dynamic programming language|dynamic programming language]] for [[technical computing]], with syntax that is familiar to users of other technical computing environments. It provides a sophisticated compiler, distributed parallel execution, numerical accuracy, and an extensive mathematical function library. The library, mostly written in Julia itself, also integrates mature, best-of-breed C and | ** QUOTE: Julia is a [[high-level programming language|high-level]], [[high-performance programming language|high-performance]] [[dynamic programming language|dynamic programming language]] for [[technical computing]], with syntax that is familiar to users of other technical computing environments. It provides a sophisticated compiler, distributed parallel execution, numerical accuracy, and an extensive mathematical function library. The library, mostly written in Julia itself, also integrates mature, best-of-breed C and [[Fortran]] [[libraries for linear algebra]], [[random number generation]], FFTs, and string processing | ||
<BR> | <BR> | ||
* http://strata.oreilly.com/2012/10/matlab-r-julia-languages-for-data-analysis.html | * http://strata.oreilly.com/2012/10/matlab-r-julia-languages-for-data-analysis.html | ||
** Julia’s weakness, however, is its libraries. R has CRAN, certainly the most impressive collection of statistical libraries available anywhere. MATLAB also has a wide range of toolboxes available, for a price. Julia also lacks a rich development environment, like RStudio, and has only rudimentary support for plotting, which is a pretty critical part of most exploratory data analysis. | ** Julia’s weakness, however, is its libraries. R has CRAN, certainly the most impressive collection of statistical libraries available anywhere. MATLAB also has a wide range of toolboxes available, for a price. Julia also lacks a rich development environment, like RStudio, and has only rudimentary support for plotting, which is a pretty critical part of most exploratory data analysis. | ||
---- | ---- | ||
__NOTOC__ | __NOTOC__ | ||
[[Category:Concept]] | [[Category:Concept]] |
Latest revision as of 17:52, 4 October 2023
A Julia Programming Language is a high-level, high-performance dynamic programming language for technical computing developed and stewarded by Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and other contributors.
- Context:
- It can (typically) be used to define Julia Code (such as Julia program or a Julia library) with Julia statements (for Julia variables, Julia data structures, and Julia conditional statements) that can be interpreted by a Julia Interpreter.
- It can (typically) be an Interpreted Programming Language.
- It can (typically) include Python Standard Libraries.
- It can (often) be used as a Data Analysis Language.
- It can be parsed by a Julia Parser (e.g. in a Julia implementation).
- It can support several Julia Built-in Data Types.
- …
- Example(s):
- Counter-Example(s):
- See: Perl, Fortran, Octave, Mathematica, IJulia, Scientific Computing, Foreign Function Interface.
References
2014
- (Wikipedia, 2014) ⇒ http://en.wikipedia.org/wiki/Julia_(programming_language) Retrieved:2014-8-2.
- Julia is a high-level dynamic programming language designed to address the requirements of high-performance numerical and scientific computing while also being effective for general purpose programming. Unusual aspects of Julia's design include having a type system with parametric types in a fully dynamic programming language and adopting multiple dispatch as its core programming paradigm. It allows for parallel and distributed computing; and direct calling of C and Fortran libraries without glue code. Julia includes efficient libraries for floating point, linear algebra, random number generation, fast Fourier transforms, and regular expression matching. Julia's core is implemented in C and C++, its parser in Scheme, and the LLVM compiler framework is used for just-in-time generation of machine code for x86(-64) with it almost working on ARM (build failure). [1] [2] The standard library is implemented in Julia itself, using Node.js's libuv library for efficient, cross-platform I/O. The most notable aspect of Julia's implementation is its speed, which is often within a factor of two relative to fully optimized C code. Development of Julia began in 2009 and an open-source version was publicized in February 2012.
2012
- http://julialang.org/
- QUOTE: Julia is a high-level, high-performance dynamic programming language for technical computing, with syntax that is familiar to users of other technical computing environments. It provides a sophisticated compiler, distributed parallel execution, numerical accuracy, and an extensive mathematical function library. The library, mostly written in Julia itself, also integrates mature, best-of-breed C and Fortran libraries for linear algebra, random number generation, FFTs, and string processing
- http://strata.oreilly.com/2012/10/matlab-r-julia-languages-for-data-analysis.html
- Julia’s weakness, however, is its libraries. R has CRAN, certainly the most impressive collection of statistical libraries available anywhere. MATLAB also has a wide range of toolboxes available, for a price. Julia also lacks a rich development environment, like RStudio, and has only rudimentary support for plotting, which is a pretty critical part of most exploratory data analysis.