Time to try the Julia programming language? Python challenger's new debugger fixes major complaint

Shortcomings in the data science-focused language are being addressed with the release of a "fully-featured debugger".

The best programming languages to learn in 2019: Top coding skills that pay you the most These are the languages that are in the highest demand and offer the highest salaries.

Julia is a programming language with grand ambitions that recently hit its landmark 1.0 release.

But Julia's tools for finding bugs in code hadn't kept pace with the rest of the language and were still missing features.

Those shortcomings are now being addressed with the release of a "fully-featured debugger for Julia".

The Julia programming language is designed to combine the speed of C with the usability of Python, the dynamism of Ruby, the mathematical prowess of MatLab, and the statistical chops of R - with the creators going as far as to describe it as a language for developers "who want it all". In the seven years since its launch, it's found favor as a language for building machine-learning models and running supercomputer simulations — although some developers are also using it for general-purpose tasks.

The new debugger allows users to inspect code and how it works, and addresses some shortcomings of Julia's existing Gallium.jl debugger.

SEE: Hiring kit: Python developer (Tech Pro Research)

New features include the ability to step into functions and manually walking through code while inspecting its state, as well as setting breakpoints and trap errors to allow users to determine what went wrong at specific points in the code.

Users can also also interactively update and replace existing code when using the debugger to allow bugs to be fixed in place.

The new debugger is available in the Julia IDE Juno, which the Julia team says bundles "all these features together in an easy-to-use graphical interface".

As well as running within Juno, the new debugger's interpreter can also be hooked up to other front-ends and used with other code inspection tools. These include Rebugger, which provides a REPL text UI, and Debugger, which offers a traditional step/next/continue command-line interface.

Key to making the new debugger work and allowing developers to step through code is the new version of JuliaInterpreter, which the Julia team say can work at roughly 50x its original speed, while still being limited by the performance overhead that comes with running all code in an interpreter.

Talking about future plans for the debugger, Keno Fischer, co-founder of Julia Computing, an organization set up by the language's creators, said "we'll start with a stable, usable system and gradually make it faster and add features".

Julia language co-creator Stefan Karpinski, said the team intended to borrow tech from existing Julia tools to create a debugger that is both reliable and fast.

"In the future, the plan is to steal tech from Gallium and MagneticReadHead and use them to create a hybrid interpreted/compiled debugger that is as reliable as Debugger.jl is now but which can run code fast enough to debug even compute-intensive workloads effectively," he said.

Julia climbed two places to 34 in this year's RedMonk Progamming Rankings, and its steady growth was highlighted as an indicator it may be on the cusp of more widespread adoption.

Also see