AI–Assisted Programming
Better Planning, Coding, Testing, and Deployment
Paperback Engels 2024 1e druk 9781098164560Samenvatting
Get practical advice on how to leverage AI development tools for all stages of code creation, including requirements, planning, design, coding, debugging, testing, and documentation. With this book, beginners and experienced developers alike will learn how to use a wide range of tools, from general-purpose LLMs (ChatGPT, Gemini, and Claude) to code-specific systems (GitHub Copilot, Tabnine, Cursor, and Amazon CodeWhisperer).
You'll also learn about more specialized generative AI tools for tasks such as text-to-image creation.
Author Tom Taulli provides a methodology for modular programming that aligns effectively with the way prompts create AI-generated code. This guide also describes the best ways of using general purpose LLMs to learn a programming language, explain code, or convert code from one language to another.
This book examines:
- The core capabilities of AI-based development tools
- Pros, cons, and use cases of popular systems such as GitHub Copilot and Amazon CodeWhisperer
- Ways to use ChatGPT, Gemini, Claude, and other generic LLMs for coding
- Using AI development tools for the software development lifecycle, including requirements, planning, coding, debugging, and testing
- Prompt engineering for development
- Using AI-assisted programming for tedious tasks like creating regular expressions, starter code, object-oriented programming classes, and GitHub Actions
- How to use AI-based low-code and no-code tools, such as to create professional UIs
Specificaties
Lezersrecensies
Inhoudsopgave
What’s Covered
How This Book Is Different
Who Should Read This Book
Conventions Used in This Book
Using Code Examples
O’Reilly Online Learning
How to Contact Us
Acknowledgments
1. New World for Developers
Evolution and Revolution
Generative AI
The Benefits
Minimizing Search
Your Advisor
IDE Integration
Reflecting Your Codebase
Code Integrity
AI-Powered Documentation Generator
Modernization
Drawbacks
Hallucinations
Intellectual Property
Privacy
Security
Training Data
Bias
A New Way for Developers
Career
10x Developer?
Skills of the Developer
Conclusion
2. How AI Coding Technology Works
Key Features
Code Suggestions and Context-Aware Completions Versus Smart Code Completion
Compilers Versus AI-Assisted Programming Tools
Levels of Capability
Generative AI and Large Language Models (LLMs)
Evolution
The Transformer Model
OpenAI Playground
Evaluating LLMs
Types of LLMs
Evaluation of AI-Assisted Programming Tools
Conclusion
3. Prompt Engineering
Art and Science
Challenges
The Prompt
Context
Instructions
Summarization
Text Classification
Recommendation
Translation
Input of Content
Format
Best Practices
Be Specific
Acronyms and Technical Terms
Zero- and Few-Shot Learning
Leading Words
Chain of Thought (CoT) Prompting
Leading Questions
Ask for Examples and Analogies
Reducing Hallucinations
Security and Privacy
Autonomous AI Agents
Conclusion
4. GitHub Copilot
GitHub Copilot
Pricing and Versions
Use Case: Programming Hardware
Use Case: Shopify
Use Case: Accenture
Security
Getting Started
Codespaces and Visual Studio Code
Suggestions
Comments
Chat
Inline Chat
Open Tabs
Command-Line Interface
Copilot Partner Program
Conclusion
5. Other AI-Assisted Programming Tools
Amazon’s CodeWhisperer
Google’s Duet AI for Developers
Tabnine
Replit
CodeGPT
Cody
CodeWP
Warp
Bito AI
Cursor
Code Llama
Other Open Source Models
StableCode
AlphaCode
PolyCoder
CodeT5
Enterprise Software Companies
Conclusion
6. ChatGPT and Other General-Purpose LLMs
ChatGPT
GPT-4
Navigating ChatGPT
Mobile App
Custom Instructions
Browse with Bing
Tedious Tasks
Regular Expressions
Starter Code
GitHub README
Cross-Browser Compatibility
Bash Commands
GitHub Actions
Plugins
The Codecademy Plugin
The AskYourDatabase Plugin
Recombinant AI Plugin
GPTs
Gemini
Applications
Gemini for Coding
Claude
Conclusion
7. Ideas, Planning, and Requirements
Brainstorming
Market Research
Market Trends
Total Addressable Market
Competition
Requirements
Product Requirements Document
Software Requirements Specification
Interviews
Whiteboarding
Tone
Approaches to Project Planning
Test-Driven Development (TDD)
Planning Web Design
Conclusion
8. Coding
Reality Check
Judgment Calls
Learning
Comments
Modular Programming
Starting a Project
Autofill
Refactoring
Ninja Code
Extract Method
Decomposing Conditionals
Renaming
Dead Code
Functions
Object-Oriented Programing
Frameworks and Libraries
Data
Frontend Development
CSS
Creating Graphics
AI Tools
APIs
Conclusion
9. Debugging, Testing, and Deployment
Debugging
Documentation
Code Review
Unit Tests
Pull Requests
Deployment
User Feedback
The Launch
Conclusion
10. Takeaways
The Learning Curve Is Steep
There Are Major Benefits
But There Are Drawbacks
Prompt Engineering Is an Art and Science
Beyond Programming
AI Won’t Take Your Job
Conclusion
Index
About the Author
Rubrieken
- advisering
- algemeen management
- coaching en trainen
- communicatie en media
- economie
- financieel management
- inkoop en logistiek
- internet en social media
- it-management / ict
- juridisch
- leiderschap
- marketing
- mens en maatschappij
- non-profit
- ondernemen
- organisatiekunde
- personal finance
- personeelsmanagement
- persoonlijke effectiviteit
- projectmanagement
- psychologie
- reclame en verkoop
- strategisch management
- verandermanagement
- werk en loopbaan