The future of programming

On April 29, 2024 Github launched the technical preview of Github Copilot Workspace. I think it will change the way we are going to program in the future.


Thomas Dohmke, the CEO of GitHub, describes the new tool on one of GitHub's blog post.

It's in technical preview at the moment. I applied but for it, but didn't receive access to it yet, so I can only talk about what I read on posts and saw on Youtube videos about it.

The best infotaining video I found, is the one from Fireship: GitHub Copilot just got promoted to Captain . It shows in 4 minutes what it does and how the actual screen shots from the workflow of the technical preview look like. 

Another 6 minutes video titled NEW GitHub Copilot Workspace Demo by the Youtuber Dev Leonardo shows the detailed workflows live in action. The video gives a great practical insight and has a more serious style then the videos from Fireship.

What GitHub Copilot Workspace basically does, is allowing you to create code inside your GitHub web GUI of your repository from a task (probably a GitHub Issue) by just describing what you want to change. GitHub Copilot Workspace will analyse your codebase (and of course using its training data consisting of millions of other repositories) and will propose you code changes for your code base. The proposals are editable along the way as they say.

The big difference to GitHub Copilot (notice the missing word workspace), from a process view is, that Github Copilot accompanies you while programming inside your IDE (the programming tool your building your application), by adding code to the file you are currently working on. But GitHub Copilot Workspace gives you code changes inside your repository, by starting with a task inside the web GUI from your repository and not inside a code file inside your IDE. If it works as I expect it to work, you can describe in natural language what you want to be created/ changed inside your application and GitHub Copilot Workspace suggests you the code changes (several file changes at a time) in form of a pull request, which you then have to review and publish.

That's a whole different coding process, where the developer can more focus what he want's to implement instead of how he actually has to implement it. Of course the developer still needs to review and needs to know what the code is doing, but a lot of times the developer may rely that the code change is good. One one hand this fastens the process and lowers the hurdles for new or more unexperienced developers to get into coding, but on the other hand it might introduce new bugs and security risks, or even a software that causes a major incident (see the previous post about Uncle Martin).

So as predicted by Welsh (see post: AI is the End of Programming), this is one step closer to making the developer at first glance a prompt engineer. 

I personally think this is the future of programming, it will tremendously help the developer to get things done.

Cheers Simon

Sources:

  • Post image taken from the GitHub Post about Copilot Workspace: https://github.blog/2024-04-29-github-copilot-workspace/ , retrieved 2024, May 09
  • Fireship. (2024, May 2). "GitHub Copilot just got promoted to Captain" [Video]. Youtube. https://www.youtube.com/watch?v=S_RorY_FRvo
  • Dev Leonardo. (2024, April 29). "NEW GitHub Copilot Workspace Demo" [Video]. Youtube. https://www.youtube.com/watch?v=FARf9emEPjI

Comments