3 ms·
I've always thought that the ability to communicate to other humans about programs and to be able to synthesize a conceptual understanding from looking at code
by hospadar 4y ago
I've always thought that the ability to communicate to other humans about programs and to be able to synthesize a conceptual understanding from looking at code are highly valuable and sometimes-overlooked in the workplace. Assignments to write a function don't really demonstrate either skill.
Maybe more assignments like:
- "Here is a function that is supposed to generate a fibonacci sequence, but it is not correct, explain why"
- Here is a sort function. What is the name of the algorithm implemented by this sort function?
The reality of any career in CS is going to involve a lot of maintenance/understanding of existing code any systems. Copilot's failure to replace all human programmers isn't because of it's inability to cough up complex code, it's because it can't communicate with the product owner, debug a program amidst a time-sensitive incident, or explain its work.
- dwohnitmok 4y agoThose two questions are definitely within the reach of current AI. Not within 100%, but probably better than 70%.
- emeryberger 4y agoAgreed. I just tried this by writing three sort functions named "some_sort", "another_sort", and "yet_another_sort". I started comments after each with "# The algorithm used in some_sort is known as: " and Copilot correctly completed them in all three cases (bubble, insertion, and merge).