บทนำ — ทำไม TypeScript Developer ถึงควรเรียน Python
คุณเขียนโปรแกรมเป็นอยู่แล้ว
หัวข้อที่มีชื่อว่า “คุณเขียนโปรแกรมเป็นอยู่แล้ว”คุณรู้จัก TypeScript อยู่แล้ว และคิดเป็นภาพของ type, module, async/await กับ npm script ได้คล่อง การเรียน Python จึงไม่ใช่การเริ่มคิดใหม่ทั้งหมด แต่เหมือนได้กล่องเครื่องมือใบที่สองมาวางข้าง ๆ ใบเดิม ซึ่งเครื่องมือหลายชิ้นในนั้นรูปร่างคุ้นตามาก
คอร์สนี้จะจับแนวคิดของ Python ทุกข้อไปเทียบกับตัวเทียบเคียงฝั่ง TypeScript ที่คุณเข้าใจอยู่แล้ว
ทำไม Python ถึงอยู่ทุกที่
หัวข้อที่มีชื่อว่า “ทำไม Python ถึงอยู่ทุกที่”TypeScript ครองฝั่ง frontend กับ Node backend ส่วน Python ครองเกือบทุกอย่างที่เหลือ:
- Data science และ machine learning — NumPy, pandas, PyTorch, TensorFlow, scikit-learn ฝั่ง JavaScript ยังไม่มีอะไรเทียบได้สำหรับงาน ML ระดับ production
- Scripting และ automation — เขียนแทน bash ได้ด้วยโค้ดที่อ่านง่ายกว่าและใส่ type ได้ ทุกวันนี้ CI/CD helper, data pipeline และ ops tooling ส่วนใหญ่เป็น Python
- Backend APIs — FastAPI ใช้สะดวกพอ ๆ กับ Express/NestJS แถมสร้าง OpenAPI docs ให้อัตโนมัติและรองรับ async มาตั้งแต่ต้น
- Scientific computing — งานชีววิทยา การเงิน และการจำลองทางฟิสิกส์ ล้วนใช้ Python เป็นภาษากลางของนักวิจัย
- DevOps และ cloud tooling — AWS CDK เวอร์ชัน Python, Ansible, Terraform provider และ cloud SDK ส่วนใหญ่รองรับ Python เป็นอันดับแรก
ผลสำรวจประจำปีของ GitHub จัด Python อยู่ใน 2 อันดับภาษาที่ใช้มากที่สุดมาตลอด เรียนไว้ก็เท่ากับเพิ่มโปรเจกต์ที่คุณเข้าไปร่วมได้อีกเท่าตัว
Batteries included
หัวข้อที่มีชื่อว่า “Batteries included”Node.js มี standard library ตัวเล็ก แล้วโยนที่เหลือให้ npm จัดการ ส่วน Python ยึดปรัชญา “batteries included” — standard library ครอบคลุมทั้ง HTTP client, JSON, CSV parsing, argument parsing, zip file, SQLite, email, regular expression และอีกเพียบ
ผลคือคุณเขียนสคริปต์ที่ทำงานได้ครบจริง ๆ โดยไม่แตะ external dependency เลยสักตัว
// TypeScript: need external packagesimport axios from "axios"; // npm install axiosimport { parse } from "csv-parse"; // npm install csv-parseimport { program } from "commander"; // npm install commander# Python: stdlib covers the basicsimport urllib.request # built-in HTTP clientimport csv # built-in CSV parserimport argparse # built-in CLI argument parserการอ่านง่ายในฐานะเป้าหมายการออกแบบ
หัวข้อที่มีชื่อว่า “การอ่านง่ายในฐานะเป้าหมายการออกแบบ”Python ออกแบบมาโดยยึดหลักเดียว คือการทำสิ่งหนึ่งควรมีวิธีเดียว และควรเป็นวิธีที่ชัดเจนที่สุด ชุมชนเรียกโค้ด Python ที่เขียนถูกทางว่า “Pythonic” ซึ่งคุณจะเจอคำนี้บ่อยมาก ความหมายคือ ชัดเจน เป็นธรรมชาติ และไม่ฝืนภาษา
ในฐานะ TypeScript developer คุณจะชอบ syntax ที่กระชับของ Python ตั้งแต่แรกเห็น ไม่มี semicolon ไม่มี curly brace ครอบ block ไม่มี keyword function เหลือแค่การย่อหน้ากับเจตนาของโค้ด
สิ่งที่คอร์สนี้ครอบคลุม
หัวข้อที่มีชื่อว่า “สิ่งที่คอร์สนี้ครอบคลุม”คอร์สนี้ไม่ใช่บทแนะนำ Python ทั่วไป แต่เป็นทางลัดสำหรับ TypeScript developer ที่อยากเขียนงานจริงได้เร็ว ทุกบทเรียนจะโยงแนวคิดใหม่กลับไปหาสิ่งที่คุณรู้อยู่แล้ว ชี้จุดต่างให้ชัด แล้วปิดท้ายด้วยตัวอย่างที่รันได้จริง
Module: Intro (คุณอยู่ที่นี่)
- การเปลี่ยน mindset จาก TypeScript/Node
- การติดตั้ง Python และการตั้งค่าโปรเจกต์
- Hello World และ entry-point guard
- Project anatomy:
pyproject.tomlvspackage.json
Module: Python 101
- Variables และ types
- Control flow
- Functions
- Collections (list, dict, tuple, set)
- Classes และ objects
- Modules และ imports
- Error handling
Noneและ truthiness