0.6 The Four Philosophies Side-by-Side
4 tools, 4 ปรัชญา, ปัญหา data เดียวกัน
ตารางเปรียบเทียบใหญ่
Section titled “ตารางเปรียบเทียบใหญ่”| Concept | Google Sheets | C | Python | SQL |
|---|---|---|---|---|
| ตัวอักษร 1 ตัว | text cell (1 char) | char (1 byte) | (ไม่มี char type) | CHAR(1) |
| text สั้น | text cell | char[n] / char* | str | VARCHAR(n) |
| text ยาว | text cell | char* + จัดการ memory | str | TEXT |
| จำนวนเต็ม | number cell | int, long, long long | int (ไม่จำกัด!) | INTEGER, BIGINT |
| ทศนิยม | number cell | float, double | float | REAL, DOUBLE PRECISION |
| ทศนิยมแม่นยำ | number + format | (ไม่มี built-in) | decimal.Decimal | NUMERIC(p, s) |
| จริง/เท็จ | TRUE/FALSE | int (0 หรือ 1) | bool | BOOLEAN |
| ค่าว่าง | empty cell | (ไม่มี — ต้องใช้ค่าแทน) | None | NULL |
| วันที่ | serial number (ปลอมตัว) | (ไม่มี built-in — ใช้ time.h) | datetime | DATE, TIMESTAMP |
สิ่งที่ควรสังเกต
Section titled “สิ่งที่ควรสังเกต”- Sheets มี type น้อยที่สุด — text, number, boolean — วันที่เป็นตัวเลขแอบแฝง ทำให้ง่ายแต่ก็ทำให้ ID หายแบบเงียบๆ
- C ชัดเจนที่สุด — คุณเลือกจำนวน bytes เอง จัดการ memory เอง ไม่มี string หรือ date type built-in
- Python ไม่มี
chartype — ตัวอักษร 1 ตัวก็เป็นแค่ string ความยาว 1 - Python
intไม่มีขีดจำกัดขนาด — เก็บเลขหลักพันได้ แต่ C กับ SQL ทำไม่ได้ - SQL เข้มงวดที่สุดในระดับ schema — ทุกคอลัมน์มี type ที่ประกาศไว้ บังคับใช้กับทุกแถว
Type-Strictness Spectrum
Section titled “Type-Strictness Spectrum”LOOSEST ──────────────────────────────────────────── STRICTESTGoogle Sheets Python SQL C (เดา) (dynamic) (schema-strict) (memory-strict)แนวคิดใหญ่
Section titled “แนวคิดใหญ่”Data pipeline จริงใช้ tools จากทุกจุดบนสเปกตรัม:
- Data เริ่มหลวม — CSV มั่วๆ ใน Sheets
- ทำความสะอาดแบบยืดหยุ่น — pandas
- เข้มงวดก่อนเก็บ — SQL
C ไม่ค่อยใช้ในงานประจำวัน แต่เข้าใจมัน = เข้าใจว่าทำไมทุก tool อื่นถึงทำงานแบบที่มันทำ