|
|
@@ -1,19 +1,19 @@
|
|
|
# ๐งฌ Glue Coding
|
|
|
|
|
|
-> **The Holy Grail and Silver Bullet of Software Engineering โ finally here.**
|
|
|
+> **The holy grail and silver bullet of software engineering โ it's finally here.**
|
|
|
|
|
|
---
|
|
|
|
|
|
## ๐ Disruptive Manifesto
|
|
|
|
|
|
-**Glue Coding is not a technology; it's a revolution.**
|
|
|
+**Glue Coding is not a technology, but a revolution.**
|
|
|
|
|
|
It might perfectly solve the three fatal flaws of Vibe Coding:
|
|
|
|
|
|
-| Pain Points of Traditional Vibe Coding | Solutions of Glue Coding |
|
|
|
-| :----------------------------------- | :----------------------- |
|
|
|
-| ๐ญ **AI Hallucinations** - Generating non-existent APIs, incorrect logic | โ
**Zero Hallucinations** - Only uses verified mature code |
|
|
|
-| ๐งฉ **Complexity Explosion** - The larger the project, the more out of control | โ
**Zero Complexity** - Every module is a time-tested wheel |
|
|
|
+| Pain Points of Traditional Vibe Coding | Glue Coding's Solution |
|
|
|
+|:---|:---|
|
|
|
+| ๐ญ **AI Hallucinations** - Generating non-existent APIs, incorrect logic | โ
**Zero Hallucinations** - Only using validated, mature code |
|
|
|
+| ๐งฉ **Complexity Explosion** - The larger the project, the more out of control it becomes | โ
**Zero Complexity** - Every module is a time-tested wheel |
|
|
|
| ๐ **High Barrier to Entry** - Requires deep programming skills to master AI | โ
**Barrier Disappears** - You only need to describe "how to connect" |
|
|
|
|
|
|
---
|
|
|
@@ -32,9 +32,9 @@ Glue Coding: AI connects code, humans review connections
|
|
|
|
|
|
- โ No longer letting AI generate code from scratch (the source of hallucinations)
|
|
|
- โ No longer reinventing the wheel (the source of complexity)
|
|
|
-- โ No longer requiring you to understand every line of code (the source of high barrier)
|
|
|
+- โ No longer requiring you to understand every line of code (the source of high barriers)
|
|
|
|
|
|
-- โ
Only reusing mature, production-verified open-source projects
|
|
|
+- โ
Only reusing mature, production-validated open-source projects
|
|
|
- โ
AI's sole responsibility: understanding your intent and connecting modules
|
|
|
- โ
Your sole responsibility: clearly describing "what is the input, what is the desired output"
|
|
|
|
|
|
@@ -44,12 +44,12 @@ Glue Coding: AI connects code, humans review connections
|
|
|
|
|
|
```
|
|
|
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
|
-โ Your Business Requirements โ
|
|
|
+โ Your Business Needs โ
|
|
|
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
|
โ
|
|
|
โผ
|
|
|
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
|
-โ AI Glue Layer โ
|
|
|
+โ AI Glue Layer โ
|
|
|
โ โ
|
|
|
โ "I understand what you want to do, let me connect these blocks" โ
|
|
|
โ โ
|
|
|
@@ -58,83 +58,83 @@ Glue Coding: AI connects code, humans review connections
|
|
|
โโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโ
|
|
|
โผ โผ โผ
|
|
|
โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ
|
|
|
- โ Mature Module A โ โ Mature Module B โ โ Mature Module C โ
|
|
|
- โ (100k+ โญ) โ โ (Production Verified) โ โ (Official SDK) โ
|
|
|
+ โ Mature Module A โ โ Mature Module B โ โ Mature Module C โ
|
|
|
+ โ (100K+ โญ) โ โ (Production Validated) โ โ (Official SDK) โ
|
|
|
โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ
|
|
|
```
|
|
|
|
|
|
**Entity**: Mature open-source projects, official SDKs, time-tested libraries
|
|
|
**Link**: AI-generated glue code, responsible for data flow and interface adaptation
|
|
|
-**Function**: Your described business goals
|
|
|
+**Function**: Your described business objective
|
|
|
|
|
|
---
|
|
|
|
|
|
-## ๐ฏ Why is this a Silver Bullet?
|
|
|
+## ๐ฏ Why is this the Silver Bullet?
|
|
|
|
|
|
-### 1. Hallucination Issue โ Completely Disappears
|
|
|
+### 1. Hallucination Problem โ Completely Disappears
|
|
|
|
|
|
AI no longer needs to "invent" anything. It only needs to:
|
|
|
- Read Module A's documentation
|
|
|
- Read Module B's documentation
|
|
|
- Write the data transformation from A to B
|
|
|
|
|
|
-**This is what AI excels at, and where it is least likely to make mistakes.**
|
|
|
+**This is what AI excels at, and what is least prone to errors.**
|
|
|
|
|
|
-### 2. Complexity Issue โ Transferred to the Community
|
|
|
+### 2. Complexity Problem โ Transferred to the Community
|
|
|
|
|
|
Behind each module are:
|
|
|
- Thousands of Issue discussions
|
|
|
-- Wisdom of hundreds of contributors
|
|
|
-- Years of refinement in production environments
|
|
|
+- Hundreds of contributors' wisdom
|
|
|
+- Years of production environment refinement
|
|
|
|
|
|
-**You are not managing complexity; you are standing on the shoulders of giants.**
|
|
|
+**You are not managing complexity, you are standing on the shoulders of giants.**
|
|
|
|
|
|
-### 3. Barrier to Entry Issue โ Minimized
|
|
|
+### 3. Barrier to Entry Problem โ Reduced to a Minimum
|
|
|
|
|
|
You don't need to understand:
|
|
|
- Underlying implementation principles
|
|
|
-- Details of best practices
|
|
|
-- Handling of edge cases
|
|
|
+- Best practice details
|
|
|
+- Edge case handling
|
|
|
|
|
|
-You just need to speak plainly:
|
|
|
-> "I want to take Telegram messages, process them with GPT, and save them to PostgreSQL"
|
|
|
+You just need to speak human language:
|
|
|
+> "I want to process Telegram messages with GPT and save them to PostgreSQL"
|
|
|
|
|
|
**AI will help you find the most suitable wheels and then glue them together.**
|
|
|
|
|
|
---
|
|
|
|
|
|
-## ๐ Practical Process
|
|
|
+## ๐ Practical Workflow
|
|
|
|
|
|
```
|
|
|
1. Clarify Goal
|
|
|
- โโโ "I want to implement XXX functionality"
|
|
|
+ โโโ "I want to implement XXX function"
|
|
|
|
|
|
2. Find Wheels
|
|
|
- โโโ "Are there mature libraries/projects that have done something similar?"
|
|
|
+ โโโ "Are there any mature libraries/projects that have done something similar?"
|
|
|
โโโ Let AI help you search, evaluate, and recommend
|
|
|
|
|
|
3. Understand Interfaces
|
|
|
- โโโ Feed official documentation to AI
|
|
|
+ โโโ Feed the official documentation to AI
|
|
|
โโโ AI summarizes: what is the input, what is the output
|
|
|
|
|
|
4. Describe Connection
|
|
|
- โโโ "Output of A should become input of B"
|
|
|
+ โโโ "The output of A should become the input of B"
|
|
|
โโโ AI generates glue code
|
|
|
|
|
|
-5. Verify Operation
|
|
|
+5. Verify Run
|
|
|
โโโ Runs successfully โ Done
|
|
|
- โโโ Errors โ Throw errors to AI, continue gluing
|
|
|
+ โโโ Error โ Give the error to AI, continue gluing
|
|
|
```
|
|
|
|
|
|
---
|
|
|
|
|
|
## ๐ฅ Classic Case Study
|
|
|
|
|
|
-### Case Study: Polymarket Data Analysis Bot
|
|
|
+### Case: Polymarket Data Analysis Bot
|
|
|
|
|
|
-**Requirement**: Get real-time Polymarket data, analyze it, and push to Telegram
|
|
|
+**Requirement**: Real-time acquisition of Polymarket data, analysis, and pushing to Telegram
|
|
|
|
|
|
-**Traditional Approach**: Write scraper from scratch, write analysis logic, write Bot โ 3000 lines of code, 2 weeks
|
|
|
+**Traditional Approach**: Write a crawler from scratch, write analysis logic, write a Bot โ 3000 lines of code, 2 weeks
|
|
|
|
|
|
**Glue Approach**:
|
|
|
```
|
|
|
@@ -142,16 +142,17 @@ Wheel 1: polymarket-py (Official SDK)
|
|
|
Wheel 2: pandas (Data Analysis)
|
|
|
Wheel 3: python-telegram-bot (Message Push)
|
|
|
|
|
|
-Glue code: 50 lines
|
|
|
-Development time: 2 hours
|
|
|
+Glue Code: 50 lines
|
|
|
+Development Time: 2 hours
|
|
|
```
|
|
|
|
|
|
---
|
|
|
|
|
|
## ๐ Further Reading
|
|
|
|
|
|
-- [Glue Development Prompt](../../prompts/coding_prompts/glue-development.md)
|
|
|
-- [Project Practice: polymarket-dev](../Project%20Practical%20Experience/polymarket-dev/)
|
|
|
+- [่ฏญ่จๅฑ่ฆ็ด ](./่ฏญ่จๅฑ่ฆ็ด .md) - 8 Levels of Understanding 100% Code
|
|
|
+- [่ถๆฐดๅผๅๆ็คบ่ฏ](../../prompts/coding_prompts/่ถๆฐดๅผๅ.md)
|
|
|
+- [้กน็ฎๅฎๆ๏ผpolymarket-dev](../้กน็ฎๅฎๆ็ป้ช/polymarket-dev/)
|
|
|
|
|
|
---
|
|
|
|
|
|
@@ -159,14 +160,177 @@ Development time: 2 hours
|
|
|
|
|
|
> **If you can copy, don't write; if you can connect, don't build; if you can reuse, don't originate.**
|
|
|
|
|
|
-Glue Coding is the ultimate evolutionary form of Vibe Coding.
|
|
|
+Glue Coding is the ultimate evolution of Vibe Coding.
|
|
|
|
|
|
-It's not laziness; it's the **highest embodiment of engineering wisdom**โ
|
|
|
+It's not laziness, but **the highest manifestation of engineering wisdom** โ
|
|
|
|
|
|
-Leveraging the least amount of original code to drive the greatest productivity.
|
|
|
+Using the least amount of original code to leverage the greatest productivity.
|
|
|
|
|
|
-**This is the silver bullet software engineering has been waiting 50 years for.**
|
|
|
+**This is the silver bullet software engineering has been waiting for for 50 years.**
|
|
|
|
|
|
---
|
|
|
|
|
|
*"The best code is no code at all. The second best is glue code."*
|
|
|
+
|
|
|
+# Glue Coding Methodology
|
|
|
+
|
|
|
+## **1. Definition of Glue Coding**
|
|
|
+
|
|
|
+**Glue coding** is a new software construction method, whose core idea is:
|
|
|
+
|
|
|
+> **Almost entirely reusing mature open-source components, combining them into a complete system with a minimal amount of "glue code".**
|
|
|
+
|
|
|
+It emphasizes "connection" rather than "creation", especially efficient in the AI era.
|
|
|
+
|
|
|
+## **2. Background**
|
|
|
+
|
|
|
+Traditional software engineering often requires developers to:
|
|
|
+
|
|
|
+* Design architecture
|
|
|
+* Write logic themselves
|
|
|
+* Manually handle various details
|
|
|
+* Reinvent the wheel
|
|
|
+
|
|
|
+This leads to high development costs, long cycles, and low success rates.
|
|
|
+
|
|
|
+However, the current ecosystem has fundamentally changed:
|
|
|
+
|
|
|
+* Thousands of mature open-source libraries on GitHub
|
|
|
+* Frameworks covering various scenarios (Web, AI, Distributed, Model Inference...)
|
|
|
+* GPT / Grok can help search, analyze, and combine these projects
|
|
|
+
|
|
|
+In this environment, writing code from scratch is no longer the most efficient way.
|
|
|
+
|
|
|
+Thus, "glue coding" has emerged as a new paradigm.
|
|
|
+
|
|
|
+## **3. Core Principles of Glue Coding**
|
|
|
+
|
|
|
+### **3.1 Don't write what can be avoided, write as little as possible**
|
|
|
+
|
|
|
+Any functionality with a mature existing implementation should not be reinvented.
|
|
|
+
|
|
|
+### **3.2 Copy-paste whenever possible**
|
|
|
+
|
|
|
+Directly copying and using community-validated code is a normal engineering process, not laziness.
|
|
|
+
|
|
|
+### **3.3 Stand on the shoulders of giants, don't try to be a giant**
|
|
|
+
|
|
|
+Utilize existing frameworks instead of trying to write a "better wheel" yourself.
|
|
|
+
|
|
|
+### **3.4 Do not modify original repository code**
|
|
|
+
|
|
|
+All open-source libraries should ideally remain immutable, used as black boxes.
|
|
|
+
|
|
|
+### **3.5 The less custom code, the better**
|
|
|
+
|
|
|
+Your written code only serves to:
|
|
|
+
|
|
|
+* Combine
|
|
|
+* Call
|
|
|
+* Encapsulate
|
|
|
+* Adapt
|
|
|
+
|
|
|
+Which is the so-called **glue layer**.
|
|
|
+
|
|
|
+## **4. Standard Workflow of Glue Coding**
|
|
|
+
|
|
|
+### **4.1 Clarify Requirements**
|
|
|
+
|
|
|
+Break down the system's functionality into individual requirements.
|
|
|
+
|
|
|
+### **4.2 Use GPT/Grok to Deconstruct Requirements**
|
|
|
+
|
|
|
+Let AI refine requirements into reusable modules, capabilities, and corresponding subtasks.
|
|
|
+
|
|
|
+### **4.3 Search for Existing Open-Source Implementations**
|
|
|
+
|
|
|
+Leverage GPT's internet capabilities (e.g., Grok):
|
|
|
+
|
|
|
+* Search for corresponding GitHub repositories for each sub-requirement.
|
|
|
+* Check for reusable components.
|
|
|
+* Compare quality, implementation methods, licenses, etc.
|
|
|
+
|
|
|
+### **4.4 Download and Organize Repositories**
|
|
|
+
|
|
|
+Pull the selected repositories locally and organize them by category.
|
|
|
+
|
|
|
+### **4.5 Organize According to Architectural System**
|
|
|
+
|
|
|
+Place these repositories into the project structure, for example:
|
|
|
+
|
|
|
+```
|
|
|
+/services
|
|
|
+/libs
|
|
|
+/third_party
|
|
|
+/glue
|
|
|
+```
|
|
|
+
|
|
|
+And emphasize: **Open-source repositories are third-party dependencies and must never be modified.**
|
|
|
+
|
|
|
+### **4.6 Write Glue Layer Code**
|
|
|
+
|
|
|
+The role of glue code includes:
|
|
|
+
|
|
|
+* Encapsulating interfaces
|
|
|
+* Unifying input/output
|
|
|
+* Connecting different components
|
|
|
+* Implementing minimal business logic
|
|
|
+
|
|
|
+The final system is composed of multiple mature modules.
|
|
|
+
|
|
|
+## **5. Value of Glue Coding**
|
|
|
+
|
|
|
+### **5.1 Extremely High Success Rate**
|
|
|
+
|
|
|
+Because it uses community-validated mature code.
|
|
|
+
|
|
|
+### **5.2 Extremely Fast Development Speed**
|
|
|
+
|
|
|
+A large amount of functionality can be directly reused.
|
|
|
+
|
|
|
+### **5.3 Reduced Costs**
|
|
|
+
|
|
|
+Time cost, maintenance cost, and learning cost are all significantly reduced.
|
|
|
+
|
|
|
+### **5.4 More Stable System**
|
|
|
+
|
|
|
+Relies on mature frameworks rather than individual implementations.
|
|
|
+
|
|
|
+### **5.5 Easy to Extend**
|
|
|
+
|
|
|
+Capabilities can be easily upgraded by replacing components.
|
|
|
+
|
|
|
+### **5.6 Strong Synergy with AI**
|
|
|
+
|
|
|
+GPT can assist in searching, deconstructing, and integrating, making it a natural enhancer for glue engineering.
|
|
|
+
|
|
|
+## **6. Glue Coding vs. Traditional Development**
|
|
|
+
|
|
|
+| Project | Traditional Development | Glue Coding |
|
|
|
+| ----------- | ------------------------ | ------------- |
|
|
|
+| Feature Implementation | Write yourself | Reuse open-source |
|
|
|
+| Workload | Large | Much smaller |
|
|
|
+| Success Rate | Uncertain | High |
|
|
|
+| Speed | Slow | Extremely fast |
|
|
|
+| Error Rate | Prone to pitfalls | Uses mature solutions |
|
|
|
+| Focus | "Building wheels" | "Combining wheels" |
|
|
|
+
|
|
|
+## **7. Typical Application Scenarios for Glue Coding**
|
|
|
+
|
|
|
+* Rapid prototype development
|
|
|
+* Small teams building large systems
|
|
|
+* AI application/model inference platforms
|
|
|
+* Data processing pipelines
|
|
|
+* Internal tool development
|
|
|
+* System Integration
|
|
|
+
|
|
|
+## **8. Future: Glue Engineering will become the new mainstream programming method**
|
|
|
+
|
|
|
+As AI capabilities continue to strengthen, future developers will no longer need to write a lot of code themselves, but rather:
|
|
|
+
|
|
|
+* Find wheels
|
|
|
+* Combine wheels
|
|
|
+* Intelligently connect components
|
|
|
+* Build complex systems at extremely low cost
|
|
|
+
|
|
|
+Glue coding will become the new standard for software productivity.
|