The IT Certification Resource Center

Featured Deal

Get CompTIA, Cisco, or Microsoft training courses free for a week.
Learn More ❯

Hello Julia: New Data Science Programming Language Shows Promise Despite Flaws

Dude programs computerBecause its primary usage is in data science, Julia was designed with data parallelism and distributed computation. In other words, cluster computing is fairly straightforward in Julia, an intended feature rather than an afterthought. For the discerning data scientist, the ability to quickly implement cluster computing will be invaluable.

 

Julia’s multiple dispatch (which, like many of the language’s features, borrows heavily from Lisp) simplifies the coding process. It also features macros that are described by the official site as “Lisp-like.” Another feature that simplifies programming is that the language supports both built-in and user-defined typing with equal vigor.

 

There are more features that I haven’t mentioned here. The main page has a quick list of the developers’ favorite features, which you can check out here.

 

DRAWBACKS

 

Let’s be clear; the goal of Julia is not to compromise between the function of R and the speed of C; rather, it wants to combine them (and also the best features from Matlab, Python, Lisp, Ruby, and virtually all other languages). It seems to be doing remarkably well at its Herculean task, but it’s not perfect.

 

As with most new languages, it struggles with the usual adoption problems. Luckily for the fledgling contender, Julia has a healthy and committed community. Even so, it’s been criticized for its lack of libraries, and many programmers aren’t willing to switch simply because they can’t afford to abandon their old code.

 

Additionally, Julia has been accused of having a high number of core bugs, and just this April the business intelligence startup Staffjoy announced via blog post that it would have to abandon Julia, citing lack of testing capability and stability issues as its motivation. Responding to the criticism, Julia Computing admitted in an interview with VentureBeat.com that much of it was warranted, but also said Julia has improved immensely since then.

 

“Many of the criticisms ... were quite legitimate,” they said. Still, the future is bright: “We’ve improved our testing of both packages and the language itself massively since then ... on the whole, we think that Julia is remarkably reliable and stable for such a young language.”

 

FUTURE

 

Every new programming language faces an uphill battle right from inception, and the trickiest part of that climb is leaving the niche, early-adopter audience and proving itself as a viable mainstream tool. Julia has reached this step. She has a lot going for her: She’s not replicating the niche of any other language, she has a dedicated community and defined leadership, and she’s remarkably well-designed.

 

Ultimately, the success or failure of this language depends on its ability to leave behind the bugs and instability of adolescence and take on the reliability of adulthood. Hopefully, the idealistic team that put Julia together can compromise enough to allow that to happen.

 

Currently, Julia has no viable certifications, though we can look to Julia Computing for these in the future. For more information on Big Data certifications, you can check out our previous breakdowns of the best certifications here and here.

 

Happy coding!

 

 

David TelfordABOUT THE AUTHOR

David Telford is a short-attention-span renaissance man and university student. His current project is the card game MatchTags, which you can find on Facebook and Kickstarter.