ในสมาคมโปรแกรมเมอร์ไทยบน Facebook ช่วงหลังมานี้ก็จะมีน้องๆ หรือแม้แต่พี่ๆ ในสายอาชีพอื่นที่สนใจเข้ามาอยากเป็นโปรแกรมเมอร์บ้าง หรืออยากฝึกทักษะการเขียนโปรแกรมเพิ่มเติม ผมจึงได้พบเจอคำถามในหลายคำถามที่มักจะถามในลักษณะใจความก็คือ

ผมอยากเป็น Programmer ควรใช้ OS ตัวไหนดี?

ซึ่งผมมองว่ามันเป็นคำถามที่น่าสนใจมาก เพราะในโลกนี้มี OS หรือระบบปฎิบัตการเป็นแสนตัวเลยก็ว่าได้ แต่จะมีสามตัวหลักๆ ที่เราจะมาพูดถึงในบทความนี้กันคือ Windows, macOS และ Linux แล้วตัวไหนละมันถึงเหมาะสมกับงานพัฒนาโปรแกรม มาลองดูวิธีการเลือกการเลือก OS ที่จะไว้ใช้ทำงานจากประสบการณ์ของผมเองแล้วกัน จากที่เคยใช้งานทั้งสามตัวมาแล้วในการพัฒนา โดยมีข้อจำกัดที่ว่า เราสามารถลงได้แค่ 1 OS หลักในเครื่องเท่านั้น

แนวทางการเขียนโปรแกรมเป็นแบบไหน?

สำหรับคนที่สนในมาเป็นนักพัฒนาซอฟแวร์หรือโปรแกรมเมอร์นั้น ส่วนใหญ่จะเป็นแนวทาง Front-end, Back-end, Mobile หรือ DevOps ขอไม่พูดถึง Full stack นะครับ เพราะมันคือสายเทพ ฮาๆ

Front-end, Back-end, DevOps

Front-end หรือ Back-end หรือ DevOps สามาถใช้ได้ทั้ง Windows, macOS และ Linux เพราะเครื่องมือต่างๆ สามารถใช้งานได้ทั้งสาม OS

Mobile

ในส่วนของ Mobile นั้น ไม่ว่าคุณจะเป็นสายเขียนแบบ Native เช่น Android และ iOS หรือ Cross platfrom เช่น Flutter หรือ ReactNative ผมแนะนำให้ใช้ macOS เพราะเนื่องจาก iOS นั้นยังไงก็ต้องทำการ Build ผ่าน xcode ซึ่งมันก็มีเฉพาะใน macOS ทำให้ใครที่คิดจะมาสาย Mobile จำเป็นต้องใช้ macOS แบบหลีกเลี่ยงไม่ได้

ยกเว้นคนที่มุ่งมั่นจะเขียนแต่ Android ก็สามารถใช้ Windows และ Linux ได้

เล่นเกมส์ไหม?

ผมขอใช้คำตอบแค่ เล่น กับไม่เล่น นะครับ ถ้าใครคิดว่าไม่เล่น หรือเล่นน้อยโครตๆ สามารถใช้ Linux หรือ macOS ได้เลย แต่ถ้าใครชอบเล่นแนะนำ Windows เท่านั้น เพราะโลกของเกมส์เขาปล่อยออกมาให้เล่นใน Windows เป็นหลัก และเยอะกว่า T.T

ต้องทำงานร่วมกับ Graphic Design ไหม?

ต้องบอกก่อนโปรแกรมที่นิยมมากใน Graphic Design ก็คือพวกตระกูล Adobe ซึ่งหากโปรแกรมเมอร์คนไหนต้องทำงานร่วมกับ Graphic Design โดยนำไฟล์ Adobe มาแก้ไขเองนิดหน่อย หรือ Front-end บ้างครั้งก็ต้องตัดภาพออกมาเป็นชิ้นเองหลังจาก Designer ออกแบบมาให้แล้ว ผมแนะนำ Windows หรือ macOS

ส่วนโปรแกรมเมอร์คนไหนไม่มีความจำเป็นต้องใช้งาน Adobe เลย ผมแนะนำ Linux

ต้องทำงานเอกสารร่วมกับผู้อื่นไหม?

โปรแกรมเมอร์ส่วนใหญ่เกียจงานเอกสาร แต่ผมต้องบอกว่าถ้าอยากเติมโตในสวยงานนี้ เราก็ควรทำเอกสารเป็นบ้าง แต่คราวนี้ผมขอพูดถึงเรื่องที่หากเราต้องมีการแก้ไขไฟล์เอกสารร่วมกับคนอื่นๆ ซึ่งเอกสารส่วนใหญ่ 90% มันคือ Microsoft office ฉะนั้น ผมขอแนะนำเป็น Windows

แต่หากใครไม่คิดว่าจะไม่ได้ยุ่งกับเอกสารอยู่แล้ว ผมแนะนำ Linux หรือ macOS

บ้างคนอาจสงสัย เห้ย... macOS ก็มี Microsoft office นิ ใช่ครับมันมี แต่...ที่ผมเคยเจอคือเมื่อเอาไฟล์ Word ที่ทำบน Windows มาเปิดบน Microsoft office ใน macOS เมื่อไร มีโอกาสที่หน้าตาเอกสารนั้นจะไม่เหมือนเดิม

สรุป OS ไหนละถึงเหมาะสมกับโปรแกรมเมอร์มากที่สุด

จากคำถามเบื้องค้น ผมลองทำตารางมาให้ดูกัน

Title Windows macOS Linux
Front-end, Back-end, DevOps Yes Yes Yes
Mobile - Yes -
ต้องเล่นเกมส์ Yes - -
ต้องทำงานร่วมกับ Graphic Design Yes Yes -
ต้องทำงานเอกสารร่วมกับผู้อื่น Yes - -
ราคาของ OS ปานกลาง สูง ฟรี

ดูจากตารางจะเห็นว่า Windows นั้นรองรับสถานะการทำงานได้หลากหลายกว่า macOS และ Linux ดังนั้นหากใครมาถามว่าประมาณว่า OS ไหนถึงเหมาะสมกับโปรแกรมเมอร์มากที่สุด ผมจะแนะนำ Windows

และหลังจากที่ Windows ทำ WSL ออกมานั้นทำให้ผมจากที่ไม่เคยใช้ Windows เลย ก็หันกลับมาใช้งาน Windows เป็นหลัก เพราะว่าเราสามารถติดตั้ง Ubuntu ใน windows ได้เลย ทำให้สามารถใช้งาน Linux command ใน Windows ซึ่งผมชอบมากกกกก...

ดังนั้นสุดท้ายผมจะแนะนำให้ลง Windows + WSL ซะสำหรับโปรแกรมเมอร์

ยกเว้นใครจะพัฒนา iOS ยังไงก็คือ macOS เท่านั้น