Julia: Fast as Fortran, easy as Python

Tech-Speak

The Future of Scientific Computing

Julia was designed with the scientific and technical numericist in mind. I've only had space to scratch the surface of what this young language offers to the programmer who requires the generation of highly efficient code but would also like to take advantage of the sophisticated abstractions offered by modern, high-level dynamic languages.

To this end, Julia incorporates a complete metaprogramming system, including powerful, Lisp-like macros, an elaborate type system, the ability to examine generated machine instructions, and more. Its facilities for parallel and distributed computing, which are part of its standard library, are unmatched in their ease of use, allowing you to take advantage of multiple cores on a single machine, supercomputing clusters, or a heterogeneous network of computers with almost no additional code. For more information on these topics, the extensive online manual [7] is a good place to start, although after the first few chapters, its explanations can become far too terse. Fortunately, the Julia community page [8] contains a good list of resources for help and information.

Julia is a free software success story developed in the open, on GitHub, with more than 700 contributors, many of whom are the scientists and engineers who use the language in their research. It is in use at hundreds of universities and companies and, especially after its 1.0 release, is experiencing rapid adoption [9] by a community of enthusiastic users.

Julia may represent the holy grail of a language that does not compromise in performance, while demanding no more of the programmer than a dynamic scripting language and offering the sophisticated user the fruits of academic computer science. Julia may represent what was once thought impossible: a language that is as easy as Python but as fast as Fortran.

Infos

  1. "Scientific computing's future" by Lee Phillips, Ars Technica , May 7, 2014, http://arstechnica.com/science/2014/05/scientific-computings-future-can-any-coding-language-top-a-1950s-behemoth/ (accessed October 10, 2018)
  2. NumPy: http://www.numpy.org/ (accessed October 19, 2018)
  3. Bezanson, J., A. Edelman, S. Karpinski, and V. B. Shah. Julia: A fresh approach to numerical computing. SIAM Review 2015;59(1):65-98. doi:10.1137/141000671
  4. The Julia programming language: http://julialang.org/ (accessed October 19, 2018)
  5. Julia micro-benchmarks: https://julialang.org/benchmarks/ (accessed October 19, 2018)
  6. Julia Observer: https://juliaobserver.com/ (accessed 20 10, 2018)
  7. Julia 1.0 documentation: https://docs.julialang.org/en/v1.0/ (accessed March 18, 2019)
  8. Julia community page: https://julialang.org/community/
  9. "Possible python rival?" by Liam Tung, ZDNet , August 16, 2018: https://www.zdnet.com/google-amp/article/possible-python-rival-programming-language-julia-is-winning-over-developers/ (accessed October 20, 2018)

The Author

Dr. Lee Phillips is a theoretical physicist and writer who has worked on projects for the US Navy, NASA, and US Department of Energy on laser fusion, fluid flow, plasma physics, and scientific computation. He has written numerous popular science and computing articles and technical publications and is engaged in science education and outreach.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy ADMIN Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus
Subscribe to our ADMIN Newsletters
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs



Support Our Work

ADMIN content is made possible with support from readers like you. Please consider contributing when you've found an article to be beneficial.

Learn More”>
	</a>

<hr>		    
			</div>
		    		</div>

		<div class=