Top paying coding language's creator demands it add a C++ trick
Go, an open source programming language developed by Google, has a cult following in financial services. Developed in 2009, this relatively new language has been adopted by many fintechs, including Monzo and Checkout.com. It's known for being a top paying programming language and this week, its creator has looked to another top paying language in finance, C++, for inspiration as to what features need to be added.
Russ Cox, distinguished engineer at Google and tech lead for the Go language, wrote on a blog post recently about his desire to see coroutines in Go. This technique, which was invented back in 1958, has been a cult favorite for C++ engineers in finance (particularly algorithmic trading) in recent years.
Loosely, coroutines can be defined as the process of generalizing subroutines in order to prevent context switching. Rather than having to go all the way back to run a separate routine, it allows them to run in parallel and save a significant amount of time as a result.
Saying "we need a coroutine package for Go," Cox believes the language's next best thing, goroutines, are "often close enough," but not always. Attempts at replicating them using goroutines are "constrained by the communication pattern to act indistinguishably from coroutines." In his experimentations, Cox was able to get the switch from one routine to another down by 37%.
Despite its adoration, it's not really supported in C++, not fully at least. C++20 implemented support in just a few compilers. Other languages like Lua have had it for some time but, with the fast approaching C++23 set to include full library support, the technique has been adopted by C++ engineers as one of its own. Can we expect Go to follow suit?
Have a confidential story, tip, or comment you’d like to share? Contact: +44 7537 182250 (SMS, Whatsapp or voicemail). Telegram: @SarahButcher. Click here to fill in our anonymous form, or email email@example.com. Signal also available
Bear with us if you leave a comment at the bottom of this article: all our comments are moderated by human beings. Sometimes these humans might be asleep, or away from their desks, so it may take a while for your comment to appear. Eventually it will – unless it’s offensive or libelous (in which case it won’t.)