COMMENT: Writing computer code isn't that difficult. If it was, we wouldn't have today's fast-growing IT industry that employs millions of people.
But it is hard to write good, efficient and secure code though, especially when you have to do it in multiple programming languages.
This is why developer tools try to walk the fine line between guiding coders away from bug-ridden abysses while retaining the flexibility and creativity that come with programming languages.
Even with great tools and lots of existing examples (yay for open source), working out the right code for your idea can be slow.
Outsourcing some of that effort to machine learning and artificial intelligence could make life much easier for developers, GitHub's senior data scientists Dr Omoju Miller believes.
GitHub is an open source code hosting and distributed version control system that's become very popular in a short period of time with developers. Miller is part of a team working on creating AI/ML support tools for the site.
As an aside, yes, the git in GitHub means what you think it does. Git is a version control system developed by open source superhero Linus Torvalds for the Linux kernel, and the name is a self-reference to his abrasive personality.
Out of git, the web-based GitHub was born 10 years ago. It was recently embraced by Microsoft in an $11.5 billion deal, with thousands of developers waiting to see how it will extend the company.
GitHub's increasingly large sets of code and data are fertile fields for training AI/ML assisted development tools that Miller's team are working on. As a first example of what can be done for developers with AI/ML, Miller demonstrated the open source Semantic Search tool.
This translates from natural language (currently English only) into code in the popular Python programming language.
Instead of expecting users to know Python and search on keywords, they can use terms like "scrape data from a website" and see code that do just that.
It's not like having a ghost in the machine writing programs for you, "we only provide the primitives," Miller said, and basic coding nous is needed to understand what's on the computer screen.
While Semantic Search is only a first step and limited in what it can do, AI/ML driven development tools could cut out a lot of time-consuming minutiae that requires coders to know where to look.
Could AI/ML technologies become so good they make today's specialist programmers redundant? Miller is quite clear that this won't happen any time soon.
"Think of how to build a car. The way we do software development now is to smelt iron ore, and turn it into an axle," Miller explained.
"Why are you smelting iron ore? With Semantic Search, we give you the axle. However, that's not going to turn it into a car. You still need a human, the engineer, to design and assemble the vehicle."
In other words, AI has the potential to make coding more human centred and focused on being creative.
Since software has already eaten into the world and at some point almost every job will have an element of coding, that sounds like a good thing.
• Juha Saarinen attended GitHub Universe as a guest of the company.