Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม Bash

Bash หรือ Python? เลือกภาษาที่เหมาะสมสำหรับงาน Automation

Bash และ Python เป็นภาษาโปรแกรมมิ่งโปรดของ Automation Engineers ส่วนใหญ่ ทั้งคู่มี Pros และ Cons บางครั้งยากที่จะเลือกว่าใช้ตัวไหน คำตอบที่ซื่อสัตย์คือ: ขึ้นอยู่กับ Task, Scope, Context และ Complexity ของงาน

มาเปรียบเทียบเพื่อเข้าใจว่าแต่ละภาษาส่องสว่างที่ไหน

Bash

  • เป็น Linux/Unix Shell Command Language
  • เหมาะสำหรับเขียน Shell Scripts ใช้ CLI Utilities ใช้ Output จากคำสั่งหนึ่งไปอีกคำสั่ง (Piping) และ Execute Simple Tasks (ถึง 100 บรรทัด)
  • ใช้ CLI Commands และ Utilities As-is ได้
  • Startup Time ดีกว่า Python แต่ Execution Time Performance แย่
  • ไม่ Pre-installed ใน Windows Script อาจไม่ Compatible หลาย OS แต่ Bash เป็น Default Shell บน Linux/Unix ส่วนใหญ่
  • ไม่ รองรับ Shell อื่นเต็มที่ (csh, zsh, fish)
  • Piping ("|") CLI Utilities เช่น sed, awk, grep ฯลฯ ทำ Performance ช้าลง
  • ขาด Functions, Objects, Data Structures, Multi-threading จำกัดการใช้งาน Complex Scripting/Programming
  • ขาด Debugging Tools และ Utilities ที่ดี

Python

  • เป็น Object-Oriented Programming (OOP) Language จึง General Purpose กว่า Bash
  • ใช้ได้เกือบทุก Task
  • ทำงานบน OS หลักๆ และ Installed By Default บน Unix/Linux ส่วนใหญ่
  • เขียนคล้าย Pseudocode มาก
  • Syntax เรียบง่าย ชัดเจน เรียนรู้ง่าย อ่านง่าย
  • Libraries, Documentation, Community เยอะและ Active
  • Error Handling Features ดีกว่า Bash
  • Debugging Tools และ Utilities ดีกว่า Bash เหมาะสำหรับพัฒนา Complex Software Applications หลายบรรทัด
  • Applications/Scripts อาจมี Third-party Dependencies เยอะ ต้อง Install ก่อน Execute
  • ต้องเขียน Code บรรทัดมากกว่า Bash สำหรับ Simple Tasks

หวังว่ารายการนี้ช่วยให้เข้าใจว่าควรใช้ภาษาไหนและเมื่อไหร่

คุณใช้ภาษาไหนบ่อยกว่าในงานประจำวัน Bash หรือ Python? แชร์ใน Comments นะครับ