Is Julia Coming to IBM i Next?
January 11, 2023 Alex Woodie
IBM has brought several popular open source languages to the IBM i operating system over the years, including PHP, Node.js, R, and Python. Now some are speculating that Julia, a high-performance general purpose language that has been widely adopted in data science, may be next.
Julia is a high-level programming language that is applicable to a range of fields, but has mostly been used for technical computing, such as numerical analysis, scientific computing, and data science. Originally developed in 2009 by a group of MIT researchers, the language was designed to be fast and efficient, with a just-in-time (JIT) compiler that generates machine code at runtime (there is also an option to precompile).
With a syntax similar to Python and MATLAB, Julia is easy to learn for programmers familiar with those languages. The language supports distributed computing, and can directly call C and Fortran libraries without glue code. Julia supports a range of built-in data types, including integers, floating-point number, and complex numbers. And there is a large pool of libraries and tools for working with data in the language, which was open sourced back in 2012.
Julia has been widely adopted around the computing community, by governmental agencies as well as corporations. NASA uses Julia for computing spacecraft separation dynamics, while CERN uses it with the Large Hadron Collider. The investment firm BlackRock analyzes time-series data with Julia, while Aviva calculates risk for insurance using the language.
Julia currently ranks number 29 on the TIOBE Index, which tracks the relative popularity of various programming languages. That’s quite a ways behind Python, the number one language, as well as MATLAB, which is sitting in the number 15 spot. But it’s ahead of COBOL at 31 and good old RPG (which, at number 39, appears to be having a good month).
What prospects does Julia have on IBM i? Well, for starters, it’s already running on Power. In December 2021, a group of IBM engineers in Bangalore, India, led by Swati Karmarkar, managed to get Julia 1.6.2 running on an IBM Power Linux box.
The IBM engineers’ initial efforts to get Julia running on a Power8 box failed. “The first time we tried to build Julia on IBM Power, it failed due to errors,” Karmarkar writes in a September 2022 blog on the IBM Community website. “Later, we were able to trace back to low level virtual machine (LLVM) and those were fixed in the subsequent LLVM releases.”
After making several other fixes, Karmarkar and her colleagues got Julia to load on Red Hat Linux and run some tests. It’s currently supported at a “tier-3” level, which is the second-lowest level, and brings no guarantees that it will work. Nevertheless, Julia is running on Power, and the community is ready to take the next step.
Will that be running on IBM i? It has garnered the interest of at least one IBM i professional, who recently submitted a request to the IBM Power Ideas Portal for IBM to officially bring Julia to IBM i.
“I would be very interested by a portage specific to the IBM i machines, with a DB2 for i connector optimized for this environment,” the anonymous poster wrote in his or her request. “The presence of this modern and high-performance language on IBM i, would be a strong sign to attract young talents to the IBM i ecosystem.”
There’s no telling whether IBM will act on this request, or if there is an upwelling of support for getting Julia on IBM i. IBM has already brought two languages commonly used in data science, Python and R, to the platform. Does it need another one? Only time will tell.
RELATED STORIES
Want To Influence IBM i’s Direction? Consider Joining An Advisory Council