I hope since the last issue of Updates in the CS World, you’ve acquired some additional capital courtesy of Gamestop, AMC, and/or Dogecoin. Far away from the Wall Street excitement, our dear Gophers (fans of the Golang programming language), have been raving for their own reasons. After nearly 10 years of communal spit-balling and kicking tires, Ian Lance Taylor, a Go developer at Google, has filed an official language proposal (https://golang.org/issue/43651) to aid generic programming by adding type parameters.
So, how is Golang going about adding generics? Syntax-wise, the new type parameter proposal doesn’t change much. In the future when declaring a function, you’ll simply put your type parameters and their constraints in square brackets between the function’s name and its parameters. This syntax change is entirely backwards compatible. Shiny! Contain your excitement if you can, as Golang is far from the first language to attempt to “bolt-on” generics after the language has matured, and the track record isn’t a pretty sight. Both Java and C# still having some growing pains due to their adoption of generics; Compile-time impacts and retrofitting generics onto the standard library are nothing to sneeze at.
If you’re interested in trying out generics in Golang early, you might try out the online generic playground (https://go2goplay.golang.org). Stay tuned for the next issue, where we touch on spaCy v3.0, a natural language processing library for Python.