Knowhow ของ command line กับ GUI
www.tanabutr.co.th/photobook
ขอประติประต่อจากเรื่องของ Bad Knowhow and Good wrapper อีกซักนิดครับ.
UNIX มันสร้างขึ้นมาโดย engineer ชั้นเยี่ยมสองคนคือ Ken Thompson กับ Dennis Ritchie โดยตั้งอยู่บนความคิด Occam's Razor ที่กล่าวสั้นๆง่ายๆไว้ว่าทำอะไรให้ง่ายๆพอดีๆ. ใจความเดียวกันกับ KISS (Keep It Simple, Stupid). จะเห็นว่ามันโปรแกรมต่างๆในยูนิกซ์ทำอะไรอย่างเดียว, simple ๆ. จะทำให้ยากก็เอามาใช้รวมกันไม่ว่าจะด้วย pipe หรือเขียนเป็นเชลล์สคริปต์ (โปรแกรม). ก็เห็นได้ชัดเลยว่ายูนิกซ์มันออกแบบโดย engineer และตอนแรกๆก็คงไม่ได้ออกแบบมาให้ target ชาวบ้านใช้หรอก. ลินุกซ์มันสืบแนวคิดมาจากยูนิกซ์ก็เลยเป็นแบบนี้. พวก engineer ชอบแต่ชาวบ้านคงไม่ไหว. แต่นี่ก็มี GNOME, KDE ช่วยจนดีขึ้นๆ.
ยูนิกซ์มันบอกว่า Keep it simple. แต่ "Simple" (เรียบง่าย) ไม่ได้หมายความว่า "Easy" (ใช้ง่าย). ในทางกลับกัน "Easy" ไม้ได้หมายความว่า "Simple". เรียบง่ายไม่ได้หมายความว่าง่าย. เรียบง่ายมีความหมายนัยๆว่า "สง่า" อย่างเสื้อผ้าเรียบง่ายโดยทั่วไปจะดูดี เหมาะกับทุกสถานะ. ยูนิกซ์ก็คงเช่นกันไม่งั้นคงไม่อยู่มากว่า 30 ปี (ยูนิกซ์จะตายแล้วแต่ลินุกซ์ยังไม่ตาย). ในทางกลับกันอาจจะบอกว่าได้ว่า Easy is complex. ลองนึกถึง GUI สิให้คิดไปถึงระดับ X เลยนะ กว่าจะสร้างปุ่มหนึ่งอันมันซับซ้อนมากกว่าที่รูปปุ่มที่เห็นว่าเสร็จแล้ว. แต่ก็พูดได้ว่าใช้ง่ายกว่าบรรทัดคำสั่ง.
ทีนี้มาดู Knowhow ของการใช้โปรแกรมในวินโดวส์หน่อย เวลาต้องการจะถ่ายทอดวิธีทำอะไรให้ใครซะหน่อยก็ต้องบอกเป็นขั้น ให้กด ให้คลิ้กโน่น คลิ้กนี่ ... ผมว่านี่เป็น Bad Knowhow สุดๆเลยนะ. คือไม่มีอะไรประเทืองปัญญาระหว่างขั้นตอนการเรียนรู้เลย จำอย่างเดียวแล้วไม่ต้องเข้าใจ. ลองเทียบกับการถ่ายทอดวิธีของโปรแกรมที่เป็นบรรทัดคำสั่ง เขียนไปเปรี้ยงแล้วจบเลยไม่ได้. คือการถ่ายทอดที่ดีต้องอธิบายด้วยเช่นเขียนว่า ls -lt, ก็ต้องอธิบายว่า -l นี่เป็นตัวเลือกบอกรายละเอียดนะ, -t นี่ sort ตามเวลานะ, ยูนิกซ์มันเขียนตัวเลือกรวมกันได้ก็เลยใช้ -lt นะ อะไรทำนองนี้. ก็จะไปตกวงวนถูกหาว่าใช้ยากอีก. ผมว่า command line + frontend นี่แหละดีสุด. ที่ชินๆก็ใช้บรรทัดคำสั่งไป (bad knowhow), ที่ไม่ชินก็ใช้ frontend (good wrapper).
เกี่ยวข้อง:
เขาบอกว่า Jamie Zawinski ก็อยู่ในพวก Unix Hater เหมือนกัน. พอจะคล้อยตามเหมือนกันว่าทำไมคนใช้ยูนิกซ์บางคนหันไปใช้ Mac.
Comments: blogger