ข้ามไปยังเนื้อหา

บทนำ — ทำไม TypeScript Developer ถึงควรเรียน Python

คุณรู้จัก TypeScript อยู่แล้ว และคิดเป็นภาพของ type, module, async/await กับ npm script ได้คล่อง การเรียน Python จึงไม่ใช่การเริ่มคิดใหม่ทั้งหมด แต่เหมือนได้กล่องเครื่องมือใบที่สองมาวางข้าง ๆ ใบเดิม ซึ่งเครื่องมือหลายชิ้นในนั้นรูปร่างคุ้นตามาก

คอร์สนี้จะจับแนวคิดของ Python ทุกข้อไปเทียบกับตัวเทียบเคียงฝั่ง TypeScript ที่คุณเข้าใจอยู่แล้ว

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 อันดับภาษาที่ใช้มากที่สุดมาตลอด เรียนไว้ก็เท่ากับเพิ่มโปรเจกต์ที่คุณเข้าไปร่วมได้อีกเท่าตัว

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
// TypeScript: need external packages
import axios from "axios"; // npm install axios
import { parse } from "csv-parse"; // npm install csv-parse
import { program } from "commander"; // npm install commander
Python
# Python: stdlib covers the basics
import urllib.request # built-in HTTP client
import csv # built-in CSV parser
import 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.toml vs package.json

Module: Python 101

  • Variables และ types
  • Control flow
  • Functions
  • Collections (list, dict, tuple, set)
  • Classes และ objects
  • Modules และ imports
  • Error handling
  • None และ truthiness
Python เป็นภาษาหลักในโดเมนใด?
"batteries included" หมายความว่าอะไรใน Python ecosystem?
คำว่า "Pythonic" ในชุมชน Python หมายความว่าอะไร?