MITB Banner

Interview – Viral Shah, Co-creator of Julia

Share

viralJulia 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, 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.

In addition, the Julia developer community is contributing a number of external packages through Julia’s built-in package manager at a rapid pace. Julia programs are organized around multiple dispatch; by defining functions and overloading them for different combinations of argument types, which can also be user-defined.

In an interview with Analytics India Magazine, Julia co-creator Viral Shah speaks about how Julia is relevant to the analytics community.

[dropcap style=”1″ size=”2″]AIM[/dropcap]Analytics India Magazine: Why Julia? What are the gaps that you saw in current hosts of languages that you planned to address through Julia?

[dropcap style=”1″ size=”2″]VS[/dropcap]Viral Shah: Along with my colleagues Jeff Bezanson, Stefan Karpinski, Prof Alan Edelman, I started working on Julia to scratch an itch, being users of similar language ourselves. We wanted a language that did not trade-off performance for productivity, and instead provided both, high performance and high productivity.

The motivation for creating Julia is captured well in our first blog post:

http://julialang.org/blog/2012/02/why-we-created-julia/

AIM: Do you think that Julia would be able to replace the more popular R? What are your reasons for the same?

VS: R is an amazing open source language, with a large library and a large user base. I do not like to think in terms of replacing one tool with another, but rather having one more high quality tool at hand to address use cases that existing tools do not address. Julia’s focus on performance, expressivity, it’s metaprogramming capabilities, parallelism from the beginning, and interoperability with C/Fortran are a few of the things that programmers find appealing. As a result, in the first 6 months since Julia has had a package manager, over 150 packages have been contributed by the community.

http://docs.julialang.org/en/latest/packages/packagelist/

The attractiveness of Julia to the R community is summed up well by the fact that some of the most read R blog posts in 2012 were about Julia:

http://www.r-statistics.com/2012/01/top-20-r-posts-of-2011-and-some-r-bloggers-statistics/

http://r-bloggers.com/julia-i-love-you/

http://r-bloggers.com/an-r-programmer-looks-at-julia/

http://www.r-bloggers.com/the-best-statistical-programming-language-is-…javascript/?javascript/

AIM: What level of adoption do you see currently for Julia as a preferred tool in the analytics industry?

VS: Julia is currently seeing adoption in the world of scientific computing. However, upcoming data scientists need to use many of the same tools in the analytics industry. The community is currently working on tools such as integrating with Amazon Web Services, and being able to work with datasets from Hadoop File System (HDFS), which is becoming the de-facto standard for users of big data. As these projects become more robust, I feel that Julia will see adoption in the analytics industry.

https://github.com/tanmaykm/HDFS.jl

https://github.com/amitmurthy/AWSLib.jl

Interestingly, the authors of both these packages, Amit Murthy and Tanmay Mohapatra, are both based in Bangalore.

AIM: How easy or difficult do you think it is for an R user to migrate to Julia as a preferred tool in terms of usability?

VS: A number of well known R developers are now also contributing to Julia. Packages such as Distributions and DataFrames provide capabilities in Julia that R users are familiar with.

https://github.com/HarlanH/DataFrames.jl

https://github.com/JuliaStats/Distributions.jl

In addition, with a number of machine learning and optimization becoming quickly available in Julia, programmers are likely to find that the ability to rapidly prototype, and deploy the same code in production without rewriting in C/C++/Java is quite attractive.

https://github.com/johnmyleswhite/Clustering.jl

https://github.com/johnmyleswhite/DimensionalityReduction.jl

https://github.com/stevengj/NLopt.jl

https://github.com/johnmyleswhite/Optim.jl

AIM: What is the way forward for Julia?

VS: The way forward for Julia is to first and foremost work towards a 1.0 release, which will have stable APIs and long term support. In addition, we already have a great community and would like to build upon it further.

Specifically, I would like to see it in use in more universities – especially since it can save educational institutions large amounts of licensing fees from use of commercial software. Also, when students are trained on open source software, they learn skills that are not hostage to a particular company or product, and can stay with them through their professional careers.

AIM: What are some of the other cool stuff that you are working on or plan to start in future?

VS: Currently, I remain largely focused on making Julia the best it can be. I am also the author of a tool for conservation – Circuitscape, and I will most likely be porting that to Julia too, given its computational demands:

http://www.circuitscape.org

AIM: Anything else you wish to add?

VS: Being based in Bangalore myself, and having done all my work on Julia from Bangalore, I would love to see more contributions to Julia and open source projects in general from India. Recently, the folks at Hasgeek held a Julia Hacknight, where I came across a number of wonderful young folks who I expect will take up Julia.

http://hacknight.in/thejulialang/julia-hacknight#/participants

I hope we will see more engineering colleges and research institutions in India take up Julia and contribute to it, and I am happy to help out in any way I can.

[divider top=”1″]

[spoiler title=”Biography of Viral Shah” open=”0″ style=”2″]

Viral B Shah is the co-creator of the Julia Language. He has previously designed the policies and the technology behind the Aadhaar-based payments systems for Government payments and the e-KYC platform and worked as a senior scientist at Interactive Supercomputing.

Viral hold a PhD in Computer Science from University of California, Santa Barbara. [/spoiler]

Below is the two part video tutorial on Julia by Viral-

[media url=”http://www.youtube.com/watch?v=PuAIaDRDDQA” width=”600″ height=”400″]

[media url=”http://www.youtube.com/watch?v=djvH5xkmNf0″ width=”600″ height=”400″]

Share
Picture of Bhasker Gupta

Bhasker Gupta

Bhasker is a techie turned media entrepreneur. Bhasker started AIM in 2012, out of a desire to speak about emerging technologies and their commercial, social and cultural impact. Earlier, Bhasker worked as Vice President at Goldman Sachs. He is a B.Tech from the Indian Institute of Technology, Varanasi and an MBA from the Indian Institute of Management, Lucknow.
Related Posts

CORPORATE TRAINING PROGRAMS ON GENERATIVE AI

Generative AI Skilling for Enterprises

Our customized corporate training program on Generative AI provides a unique opportunity to empower, retain, and advance your talent.

Upcoming Large format Conference

May 30 and 31, 2024 | 📍 Bangalore, India

Download the easiest way to
stay informed

Subscribe to The Belamy: Our Weekly Newsletter

Biggest AI stories, delivered to your inbox every week.

AI Courses & Careers

Become a Certified Generative AI Engineer

AI Forum for India

Our Discord Community for AI Ecosystem, In collaboration with NVIDIA. 

Flagship Events

Rising 2024 | DE&I in Tech Summit

April 4 and 5, 2024 | 📍 Hilton Convention Center, Manyata Tech Park, Bangalore

MachineCon GCC Summit 2024

June 28 2024 | 📍Bangalore, India

MachineCon USA 2024

26 July 2024 | 583 Park Avenue, New York

Cypher India 2024

September 25-27, 2024 | 📍Bangalore, India

Cypher USA 2024

Nov 21-22 2024 | 📍Santa Clara Convention Center, California, USA

Data Engineering Summit 2024

May 30 and 31, 2024 | 📍 Bangalore, India

Subscribe to Our Newsletter

The Belamy, our weekly Newsletter is a rage. Just enter your email below.