3 programming languages you need to know about
From Reddit threads to roundtable events, debating the merits of programming languages is not a new phenomenon.
And while much of the recent discourse has centered around AI’s impact and whether or not generative AI will do away with the need for proficiency in programming languages altogether, continuous learning continues to be key.
With that in mind, we’re highlighting three languages that programmers need to have on their radar.
Tech jobs hiring this week
Swift
According to Ted Kremenek, Apple director of languages and runtimes, programmers should be looking to Swift instead of programming stalwart C++.
“Swift’s safety, speed and approachability, combined with built-in C and C++ interoperability, mean Swift is the best choice to succeed C++,” Kremenek said.
Although Swift isn’t new (it was introduced by Apple Inc in 2014), its latest iteration, Swift 6, is due for release later this year, and will feature several improvements including safer and easier programming though full data race safety by default, which will prevent code from reading and writing to the same memory at the same time.
“Swift 6 eliminates these kinds of bugs by diagnosing them at compile time,” Kremenek added.
In fact, many many developers may not immediately notice the improvements as new features will be enabled by default.
It has also been built with performance at the forefront of its evolution and according to Apple, Swift 6 will be 8.4 times faster than Python.
Additionally, its robust type system and more secure code will decrease the likelihood of vulnerabilities and crashes, while its error handling model (using try-catch blocks) will enhance code reliability by reinforcing error handling practices.
Finch
Designed to support both flexible control flow and diverse data structures, Finch is a new programming language created by a research team from MIT.
Not to be confused with another identically-named language, Finch offers a metamorphosis in how programmers can engage in structured array programming.
“Finch facilitates a programming model which resolves the challenges of computing over structured arrays by combining control flow and data structures into a common representation where they can be co-optimized,” say its creators.
Sources concur that, “One of Finch’s key innovations lies in its support for a rich, structured array programming language. By offering familiar constructs like for-loops, if-conditions, and early breaks over structured data, Finch elevates the productivity level to that of dense arrays. This allows programmers to work with complex data structures without sacrificing expressive power or efficiency”.
And although Finch is still in its infancy, its technical advantages in areas such as control flow integration means it can be used for implementations across database management, image and signal processing, machine learning and data science, or to create graph algorithms.
Additionally, Finch offers more complex array structures than ever before.
“We are the first to extend level-by-level hierarchical descriptions to capture banded, triangular, run-length-encoded or sparse datasets, and any combination thereof,” say its authors.
3 jobs to apply for now
Zig
If you’re looking to get up to speed on a programming language that could boost your earning potential, add Zig to the list.
According to the latest Stack Overflow survey, it has unfolded as one of the best-paying programming languages for developers to know in 2024, with Zig developers commanding salaries of $103,000 per year on average.
Lead developer and president of the Zig Software Foundation, Andrew Kelley, outlines Zig as a “general purpose programming language and toolchain for maintaining robust, optimal and reusable software”.
Ideal for those who value speed and size, the low-level language is also being touted as an heir to C.
“The problem with the preprocessor is that it turns one language into two languages that don’t know about each other. Regardless of the flaws, C programmers find [themselves] using the preprocessor because it provides necessary features, such as conditional compilation, a constant that can be used for array sizes, and generics. Zig plans to provide better alternatives to solve these problems,” adds Kelley.