This article discusses how a startup company out the U.S. has created a programming language that solves the divide between the fast language of C++ and the functionality of Python. The company is called “Julia Computing”, which is the same name as the language they have created. The language is open source, meaning other startups and large organizations can feel safe to pick Julia as an option without having to worry about financial difficulties. In the wake of Julia, it has been picked up for testing and research by many large groups such as NASA and the Berkeley National Laboratory. It is also being used for aviation safety practices by using collision avoidance systems in aircraft.
I have selected this article because I am interested in the collaboration of new open source projects. It is interesting how computer scientists are striving to create multi-purpose language and return them as open source. This project started in 2009 with a two people from MIT wanted to “simplify” the coding process. One of the developers of the language, Shah, states, “The open source project was started to democratize programming, but to meet market demand for commercial products, we founded Julia Computing,”.
The first public version of the Julia language was actually released in 2012 and had over 100 open-source contributors to help move it along. I thought this was very interesting because it shows the motivation and effort that went into making a language that attempts to combine the strong suit of two of the most popular languages, C++ and Java. This idea of team collaboration resonated with me because many ideas can solutions can be brought to the table by multiple people, which can propel a project forward. I also learned that the Julia was used in the Celeste project in which it classified 188 million stars and galaxies in about 14 minutes and was run off of one of the 10 most powerful supercomputers in the world. I also learned that the process of creating product features for an open source language such as Julia is not as easy as it seems. “Keeping up with demand for new product features and packages is the biggest challenge, says Shah. “It takes anywhere from a few months to a year to create a product, and each product is continually improved to leverage the newest developments and improvements in the Julia open source language and to provide additional features requested by our customers and users.” This comment affected me in that although something may seem like an easy task, there are bound to be other issues that arise that can severely delay the development process. This is important to recognize because expecting the worst can sometimes help you see things that may have otherwise been overlooked.
Julia is consistently being optimized and could soon be efficient enough to challenge the industry giants that are Java and C++. Although Java and C++ are extremely dominant in the current era of computing, with more testing, collaboration, and applications, Julia could find its way to become a programming titan.
From the blog CS@Worcester – Amir Adelinia's Computer Science Blog by aadelinia1 and used with permission of the author. All other rights reserved by the author.