The document compares GitHub Copilot, Amazon CodeWhisperer, and ChatGPT for Java developers. It provides an overview of each tool, compares their programming language support, IDE support, and pricing. It demonstrates their abilities for general tasks, simple functions, more complex algorithms, JUnit testing, and Spring Boot web development. It concludes that while the tools provide helpful suggestions, developers are still needed to ensure correctness and efficiency. GitHub Copilot and ChatGPT benefit from OpenAI, while Amazon CodeWhisperer needs quality improvements for Java but may leverage AWS services.
5. Agenda
• Introduction to GitHub Copilot, AWS CodeWhisperer and
ChatGPT
• Comparison
• IDE Support and Pricing
• General tasks
• Simple functions
• More complex algorithms
• JUnit Testing
• Web Development (with Spring Boot)
• AWS Development (optional)
66. GitHub Copilot X Overview
GPT-4 Powered Chat
https://github.com/features/preview/copilot-x
67. GitHub Copilot X Overview
AI generated PR-Requests %
Automate automated testing
https://github.com/features/preview/copilot-x
68. Conclusions GitHub
• GitHub Copilot provides lots of meaningful suggestions
• Low number of compilation and algorithmic errors (most are easy
to correct)
• Only small steps required to complete the task or correct the errors
• Access to OpenAI technologies make it very promising
• Bringing GPT-4 capabilities like Chat as Copilot X is a huge step
forward
• GPT-4 has only knowledge as of September 2021
https://twitter.com/karpathy/status/1608895189078380544
70. Conclusions AWS CodeWhisperer
• AWS CodeWhisperer UX and suggestion quality needs to be
improved drastically (currently in Preview)
• Many Alt+C on several levels required to get some result
• Especially during the import suggestions
• Many imports statements required in advance in order to get
more or less correct suggestions
• Some compilation and algorithmic errors (most are easy to
correct)
• Drastically improved the quality of the suggestions between
preview and GA
71. Conclusions AWS CodeWhisperer
• Working with AWS Services should become the USP
• Glue together AWS Serverless Services (API Gateway, Lambda,
DynamoDB, SQS, EventBridge)
• Generate Infrastructure-as-a-Code (SAM, CDK) for it
• Integration with Amazon CodeGuru should become out of the
box feature
• My expectation: no CodeWhisperer code completion suggestion
shouldn’t violate best practices highlighted by CodeGuru
• Code Security Scans as an add-on feature
72. Conclusions ChatGPT
• Many suggestions are right or can be fixed quickly
• Sometimes missing pieces that need to be additionally requested
• Sometimes ChatGPT forgets the previous context
• Not all the suggestions are correct though
• Not existing classes or methods are suggested esp. with GPT-3.5
• Each new try with the same “command” may suggest totally different
(correct and sometimes wrong) solution
• ChatGPT-4 is a huge improvement over 3.5 for developers
• GPT-4 has only knowledge as of September 2021
73. Additional benefits of ChatGPT and
CodePilot X GPT-4 powered Chat
• Can explain the existing code
• Can provide suggestions for improving the existing code
• Can search for bugs in the existing code and try to fix it
• Can document the existing code
• Can more easily generate automated tests
• Capable of generating the whole application (Code, Maven/Gradle
dependency file, Deployment (IaaC))
74. Conclusions
• Lot of room the general improvements for the code completion tools
• Suggestion quality, UI/UX
• Developers who effectively use the AI tools will increase their
development speed and productivity
• Your profound expertise is still required to supervise the tool (correctness,
efficiency)
• Main target group -> senior developers
• GitHub Copilot and ChatGPT both powered by OpenAI APIs, so the
improvements and synergies are expected in both
• Already happened with the preview release of the Copilot X based on GPT-4
• Quality of Amazon CodeWhisperer should be improved (at least for Java)
75. Final Thoughts
• Code completion alone are not enough
• need full cycle support: dependency management, code, configuration,
deployment (cloud -> IaaC), testing, observability (logging, monitoring, alerting),
debugging applications.
• Context and environment understanding are crucial (and currently constrained)
• Microsoft will bring products for the conversational programming into the
Azure Cloud
• Copilot Suite (base on GPT-4) is everywhere in the Microsoft world: MS Office,
Bing, Azure Cloud
• Azure OpenAI service (currently limited) is already there.
76. Final Thoughts
• Put Amazon/AWS and Google as a Cloud Provider on pressure to answer
• Amazon partner and Hugging Face partner to make AI more accessible
• Amazon announced Bedrock
• Google answered with Bard
77. Announcing New Tools for Building with
Generative AI on AWS
https://aws.amazon.com/blogs/machine-learning/announcing-new-tools-for-building-with-generative-ai-on-aws/