เหตุผล Programmer บางส่วนถึงเลือกที่จะใช้ Mac
top of page
  • รูปภาพนักเขียนiPhone iOS Thailand

เหตุผล Programmer บางส่วนถึงเลือกที่จะใช้ Mac

เคยสงสัยกันไหมครับว่าทำไม Professional Developer ส่วนใหญ่ใช้ Mac กันผมเนี่ยเป็นหนึ่งคนที่สงสัยเรื่องนี้มากครับผม เพราะเมื่อไปงานของ Dev เขาก็ใช้ Mac กันเกือบ 80% เพราะฉะนั้นในวันนี้เราเลยจะมาคุยกันครับว่า “WHY MAC??”


WHY MAC???

สำหรับเหตุผลแรกสุดก็คงจะหนีไปไหนไม่ได้ครับ นอกจาก

1.“Terminal”

Terminal คืออะไร ???

Terminal เนี่ยเรียกได้ว่าเป็นสิ่งหนึ่งที่ Dev อย่างเราๆ ต้องใช้งานกันเกือบทุกวี่ทุกวันเลยก็ว่าได้ครับ เพราะ Terminal นั้นสามารถทำได้หลายอย่างไม่ว่าจะเป็นการ run โปรแกรม เขียนโปรแกรม เรียกใช้งานโปรแกรม หรือจัดการกับไฟล์และสิ่งอื่นๆ อีกหลายอย่าง ก็ต่างสามารถทำได้เพียงแค่การเปิด Terminal ขึ้นมาแล้วพิมพ์คำสั่งนิดหน่อย แล้ว Terminal ของ Mac มันดีกว่ายังไงหละ เพราะ ใน Window ก็มี Terminal เหมือนกันหนิ

Mac ดีกว่าตรงไหน???

ต้องบอกอย่างนี้ครับว่าเพราะ Terminal ของ Mac นั้น based on UNIX ครับแต่ Terminal ของ Window นั้น based on ms-dos ครับ ซึ่งเจ้า ms-dos เนี่ย มีคนใช้น้อยครับ และถึงแม้ Window นั้นมี Terminal ตัวใหม่อย่าง PowerShell แล้ว ก็ยังมีคนใช้น้อยอยู่ดีซึ่งในส่วนนี้ผมก็ไม่ทราบเหตุผลเหมือนกันครับว่าทำไมเขาใช้กันน้อย แต่กลับมาดูที่ของฝั่ง Mac กันดีกว่าครับ Mac นั้นมี Terminal ที่ based on UNIX ซึ่งเจ้า UNIX เนี่ยมีการใช้กันอย่างแพร่หลายครับไม่ว่าจะเป็น web servers , database servers เพราะฉนั้นหากคุณใช้ Mac terminal แล้วคุณก็จะสามารถไปใช้งาน Terminal ที่อื่นๆ ส่วนใหญ่ได้คล่องแคล่วนั้นเองครับ และถ้าคุณกำลังจะบอกว่า Linux ก็ได้หนิ ถูกของคุณครับ Linux นั้นเป็นทางเลือกที่ไม่เลวเลยสำหรับเรื่อง Terminal ที่ based on unix แต่ Linux นั้นค่อนข้างไม่ support hardware หลายอย่างครับ ผมพยายามหลีกเลี่ยง Mac มาเป็นเวลา ปีกว่าๆ แล้วซึ่งหนึ่งในทางเลือกนั้นก็คือการลงคอมให้เป็น Linux ครับ แต่ผลที่ได้คือ คอมผมง้อยกินครับ 5555 โดยเสียงไม่เวิค Bluetooth มีปัญหาปุ่มฟังก์ชั่นง้อย ผมจึงต้องบอกอย่างงี้ครับว่าถ้าคุณกำลังจะพูดถึง Linux แล้วหละก็ คุณต้องเช็ค hardware compatibility ให้ดีเนอะครับ

2.ในด้านของการ Programming

สำหรับ Front end

สำหรับคนที่เขียน Front end นั้น คุณสามารถที่จะใช้พวก node package manager ที่คนส่วนใหญ่ใช้กันได้ครับ เช่น brew package manager หรือการติดตั้งพวก Ruby on rail ที่ง่ายกว่ากันนิดหน่อย ครับซึ่งหลักๆ ที่ดีกว่าก็จะเป็นพวก package manager นี้หละครับผม แล้วก็เพราะว่าเจ้า framework หลายๆ framework เนี่ยถูกสร้างขึ้นมาโดย Mac users ครับ เลยอาจจะเอื้อให้การทำงานของฝั่ง Mac ง่ายกว่านิดหน่อย

สำหรับ Back end

ก็อย่างที่ผมได้บอกครับเวลาถ้าคุณใช้พวก database system หลายๆตัว หรือเป็น system administer คุณก็อาจจะต้องมีพื้นฐาน Unix Linux เยอะหน่อยซึ่งทำให้คนที่มาจากการใช้ Mac ที่ Unix based ได้เปรียบมากกว่าครับผม แต่ก็มี server ส่วนหนึ่งที่เป็นส่วนน้อยนะครับที่ไม่ใช้ Linux ซึ่งอาจจะทำให้ข้อได้เปรียบในส่วนนี้ตกไปครับ

สำหรับ Mobile developer

ในส่วนอื่นผมอาจจะไปอ่านมาแล้วนำมาเขียนนะครับ แต่โดยในส่วนนี้เนี่ยผมสามารถพูดได้เต็มปากเลยว่าประสบเอง100% ผมเขียน flutter อยู่ครับซึ่ง อย่างที่รู้ๆ กันนะครับ ผมสามารถใช้ code base เดียวกันในการรันได้ทั้ง IOS และ Andriod ครับผม แต่ก็มีปัญหาครับผม ผมนั้นใช้ Window อยู่ครับ เมื่อเขียนเสร็จก็นำมา debug ใน Android ตามปกติครับซึ่งโอเคครับผม แต่ในส่วนของ IOS นั้นผมไม่สามารถทำการ debug ได้ครับผม เนื่องจากผมไม่สามารถลง emulator ของ IOS ได้ครับ และถ้าคุณจะบอกว่าก็ code base เดียวกันไม่เป็นไรหรอกมั้งนะครับผมจะบอกว่าเป็นครับ เพราะเวลาที่เราใช้ dependencie อะไรเนี่ยเราอาจจะต้องเข้าไปปรับในแต่ละ OS ครับทั้ง IOS และ Andriod แยกกันซึ่งถ้าเราไม่สามารถ debug ได้เนี่ยเราจะไม่สามารถรู้ได้เลยครับว่า “มันรันได้ไหมวะ” อีกทางเลือกหนึ่งที่ผมเหลืออยู่ที่ทำให้ไม่ต้องซื้อ Mac นะครับ คือการ debugด้วยเครื่องตัวจริงของ Iphone ซึ่งทำยากบรมเลยครับไม่ว่าจะเป็นการbuild มาเอาไฟล์มาแก้แล้วก็เอาไปใส่ Itune บลาๆๆ นะครับ เพราะฉนั้นใครอยากที่จะเขียน IOS ยังไงก็หนีไม่พ้น Mac จริงๆ ครับผม

3.เขาใช้กันน่ะ

ก็เหตุผลข้อสามนี้อาจจะดูแปลกๆ และขี้เกียจหน่อยๆ นะครับแต่เหตุผลนี้เป็นครับ จริงครับผม ลองจินตนาการนะครับว่าคุณทำงานกับ Dev กลุ่มนึงครับผม แล้วพวกเขาใช้ Mac กันทุกคนเลยครับ ไม่ว่าจะเป็น รุ่นพี่ หรือเจ้านาย แล้วคุณเกิดมีปัญหากับไฟล์ๆนึง ใน Project ขึ้นมาครับโดยไม่สามารถทำอะไรได้ เลยทำรุ่นพี่ รุ่นพี่เขาจึงตอบมาว่า ถ้าเป็น Mac ต้อง !%!#@$%! แล้วพอตอบเสร็จเขาก็จากคุณไปครับ ทิ้งคุณให้ทำหน้างงๆ แล้วก็คิดว่าเชี่ยไรวะ นี้หละครับ คือประเด็นหนึ่งที่สำคัญเลยครับหากคนในทีมพูดภาษาเดียวกัน ปัญหาที่เกิดขึ้นบางครั้งก็จะสามารถแก้ได้อย่างง่ายดายครับ

สรุป

ถ้าให้พูดคร่าวๆ เหตุผลหลักๆ ก็คือ การที่ Mac มัน Based on UNIX และก็มี Hardware ที่ ค่อนข้างเสถียรและมีคนใช้กันแพร่หลายครับ โดยในส่วนตัวผมเองก็ทำบล็อคนี้ขึ้นเพื่อหาเหตุผลให้ตัวเองไปใช้แมคเท่านั้นหละครับ สำหรับวันนี้ก็ขอบคุณที่เข้ามาอ่านกันนะครับผม

Note:แต่สำหรับ Dev สาย .NET หรือสายเกม Windowจะเป็นช้อยที่ดีกว่านะครับ เพราะ Macไม่ค่อย Compatible กับ .Net เท่าไหร่

อ้างอิงนะครับ:

https://youtu.be/ghTwo5Kvbmo

https://youtu.be/C5lO-_G-on8

https://youtu.be/BDGmfZ_QV6g


ที่มา: medium.com

bottom of page