developer ที่ดี ไม่ควรยึดติดภาษาเดียว

developer

แน่นอนว่า developer จะต้องหาเลี้ยงชีพด้วยภาษา computer สักภาษาหนี่งเป็นหลัก แต่เชื่อเถอะว่าไม่มีภาษาไหนที่ทำทุกอย่างได้ง่ายไปหมดหรอก เช่น ถนัดภาษา C มากเลย ลองเอาภาษา C มาเขียนเว็บดูสิ แล้วจะเข้าใจว่า limitation มันคืออะไร (กว้าจะเขียนจบสักเว็บคงใช้เวลาเป็นปี) หรือว่า ถนัดภาษา PHP มากเลย ลองเอา PHP มาเขียน background process ดูสิ แล้วจะรู้ว่า limitation มันคืออะไร (ติดต่อ hardware ก็ไม่ได้ ทำ event trigger ก็ไม่ได้ และอื่นๆ)

หลักๆเลย ภาษาแต่ละภาษามีความเก่งและฉลาดที่แตกต่างกัน รวมทั้ง เครื่องมืออุปกรณ์ที่ช่วยเหลือของแต่ละภาษาก็มีแตกต่างกันด้วย ตัวอย่างภาษา C ความเก่งของมันก็คือเร็ว (เร็วรองจากภาษา computer assembly เลยล่ะ) และทำงานติดต่อกับ hardware ได้เป็นอย่างดี แต่กับ PHP ที่เกิดมาเพื่อการทำงานของเว็บเลย ก็ทำให้มันฉลาดที่จะเขียนได้ง่าย เข้าใจได้ง่าย และสามารถหลอมรวมกับการเขียน HTML ได้เป็นอย่างดี จะเห็นได้ว่ามันสามารถทำงานปนกับ HTML โค้ดได้เลย อะไรเหล่านี้เป็นต้น

Developer ที่ดี จึงต้องเลือกใช้ภาษาให้ถูกจังหวะ และ งาน

ในชีวิต developer ที่ผมก็ยังมีส่วนหนึ่งของชีวิตอยู่ในนั้น ก็ต้องปรับตัวตลอด เมื่อหลายปีก่อน ผมได้รับงานหนึ่งมา เพราะอยากไปช่วยเค้า เป็นระบบที่ Trade ทองคำ online (ถูกกฎหมาย) และต้องแสดงราคาแบบ real time ด้วย โดยจะ feed ราคามาจากระบบของต่างประเทศ เค้าไปจ้าง vendor เจ้าหนึ่งมา แล้วเขียนเว็บด้วย PHP และหน้าเว็บเขียนด้วย javascript แบบใช้การ refresh เพื่อดึงราคามา ทุกๆ 1 วินาที ผลคือ เปิดหน้าเว็บกันไม่เท่าไร เว็บล่ม พยายามขยาย limit server ก็แล้ว ทำอะไรก็แล้ว เปิดได้ไม่กี่สิบเครื่อง ล่ม (ข้อกำหนดคือต้องได้ 2000 concurrent user)

ผมเข้าไปตอนนั้นก็มองดู ทำแบบเดิม ไม่ work หรอก ต้องทำเป็น real time application ผมก็แนะนำไป แล้วเค้าก็จ้างผมเฉยเลย ตอนนั้นเลยเลือก node.js ซึ่งช่วงนั้นเป็นช่วงยุคแรกๆของ node.js เลย (ยังเป็น version 0.x อยู่เลย) ผมได้ research อย่างดี และมั่นใจแล้วว่า work ก็ลุยเลย ผลก็คือ ทำได้อย่างที่ลูกค้าต้องการทุกอย่าง และผ่านการทดสอบ 2000 concurrent user ด้วย และ ยังรันมาจนถึงวันนี้ แต่ว่า งานนั้น ส่วนของหน้าเว็บ ก็ยังคงเป็น PHP เหมือนเดิม เพราะเขียน และแก้ไขได้เร็วกว่าเนื่องจากถนัดภาษา PHP เป็นหลักอยู่นั่นเอง

ซึ่งต้องยอมรับว่า ถ้าผมเขียน PHP อย่างเดียวทั้งงาน ก็คงไม่น่ารอด เหมือนกับ vendor อีกเจ้าหนึ่งชัวร์

ลองมองหาอีกภาษาที่ทำงานไม่เหมือนกับที่เราทำอยู่

ตอนนี้ผมถนัด PHP ที่ทำงาน background process ไม่ดีเท่าไรนัก ก็ศึกษา node.js ทำให้สามารถเขียน application ที่ทำงาน background process ได้รวดเร็ว เพื่อทำงานบางอย่างเอามาช่วยเสริม application หน้าเว็บที่เป็น PHP ได้เป็นอย่างดี แต่จริงๆ ก็ยังไม่จบเท่านี้ เพราะว่า ภาษาต่อไปที่เล็งเอาไว้ก็เป็น Python เพราะว่าเป็นภาษาที่มีตัวช่วยเยอะมากและติดต่อ hardware ได้ดีทีเดียว (หรืออาจจะ GO กำลังชั่งใจอยู่)

ไม่กลัวที่จะเรียนรู้ และ ทำจริงเจ็บจริง

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

แล้วคุณล่ะครับ คิดว่าจุดอ่อนของภาษาที่เขียนคืออะไร และเล็งหรือยังว่าจะเอาภาษาอะไรมาปิดจุดอ่อนนั้น แล้วจะเริ่มเมื่อไรกับอะไรดี?

Leave a Reply

Your email address will not be published. Required fields are marked *