Widespread use of generative AI (genAI) technology is helping developers document applications better, according to a GitHub analysis that also found many developers using AI to learn obscure programming languages that genAI platforms understand natively.
The GitHub Innovation Graph for the last quarter of 2023 saw a surge in the number of GitHub users pushing projects written in COBOL, a decades-old programming language that is widely used on the mainframe systems favoured by banking, finance, engineering and other computation-based industries.
Other esoteric languages – including the 1980s-era ABAP SAP reporting language, user interface focused Elm, and fault-tolerant Erlang language that debuted in 1986 – are also experiencing a resurgence among a GitHub user base that includes just under 1.5 million Australian developers, who manage over 3.3 million code GitHub repositories.
ChatGPT, Bard, and other genAI tools are generally well versed in a range of legacy programming languages, which allows developers to learn the languages by simply describing a function and specifying the language they want it written in.
Even as those languages mark a resurgence – a trend that GitHub has correlated with strong support for its Advent of Code programming challenges, which it believes many developers use as a way of learning a new language – the act of software documentation has steadily risen up GitHub’s list of most frequently pushed updates, climbing from a rank of 22 at the end of 2022 to 15 at the end of last year.
Given that this rise corresponds with the explosion in use of genAI tools during 2023, GitHub blogger Kevin Xu surmised that developers are using the platforms to not only check the code they write, but to automatically document it as well.
“While we recognize that it’s not a panacea,” he said, “perhaps generative AI technologies are helping to reduce the friction around writing documentation to enable maintainers and contributors to update project documentation more widely and frequently.”
Documentation quality has become even more important as developers lean on genAI tools to automatically write code that studies have shown may not always be of the highest quality, and therefore may not be readily understandable or fixable by humans.
Yet genAI isn’t the only culprit here: many analyses blame poor documentation quality on the rise of continuous software development (CSD), in which developers – particularly those building cloud platforms where incremental updates can be rolled out on a daily basis – steadily iterate their software to add new features, fix security issues, tweak functionality, and so on.
The quality of documentation in these environments is often “poor”, a pre-ChatGPT meta analysis found in identifying challenges including documentation that is hard to understand, wasteful, out of sync with the software, and ignored in favour of sheer volume of code produced.
“Knowledge-preserving documentation that stands on its own requires a certain level of formalism and needs to be created for the purpose of describing something unambiguously,” the authors noted.
“Such documentation is very rarely created in CSD projects [and] do not contribute to solving the traditional problems related to knowledge loss and missing information during maintenance activities.”
Which programming languages should you learn?
Given the ubiquity of GitHub – which is used by over 83,000 Australian organisations as they build software alone or in collaboration with users in places like the US, UK, and Germany – GitHub’s regular analysis offers valuable insight into the changing fortunes of the dozens of programming languages since the pandemic began.
And while JavaScript has long topped GitHub’s programming languages leaderboard, the last year of AI has also seen a resurgence in the use of Python – which was tenth-ranked in 2022 but is now widely held to be the best programming language for developing AI applications – and big jumps in references to topics including the likes of nextjs, tailwindcss, cli, postgresql, open source, and security related projects.
The global index also noted growth in the use of AI-relevant languages like the computational science focused Julia, while top 20 programming languages among Oceania developers has largely stayed the same even as niche platforms like Nix, Rust, HCL, GLSL, Cude, and PLpgSQL chalked up steady growth.
Learning such languages as a side project – with or without the aid of genAI – may well be helpful for in particular applications or industry requirements, but the consistency at the top of Github’s local development languages leaderboard suggests that there’s still a place for the oldies but goodies that were dominating development even before ChatGPT reared its head.