สัดส่วน

พอดีอ่านเรื่องที่ plynoi พูดถึงความขี้เกียจเอาไว้ คิดว่าอีกประเด็นที่น่าสนใจคือเรื่องของสัดส่วนการแบ่งเวลา

ผมเห็นโปรแกรมเมอร์จำนวนมาก มุ่งสร้างผลงานในเชิง “ปริมาณ” กันอย่างเอาเป็นเอาตาย คนกลุ่มนี้มักส่งงานชุดแรกเร็วที่สุดเสมอๆ ด้วยความคิด ง่ายสุด เร็วสุด ดีสุด

ผลที่ได้คือการไม่ยอมเรียนรู้ และ reuse สิ่งที่มีอยู่แล้ว เป็นจำนวนมาก เช่นฟังก์ชั่นวันที่อย่าง strptime ที่เห็นคนพยายามจะเขียนตัว Parse วันที่กันซ้ำแล้วซ้ำเล่า ไม่รู้่กี่ครั้งในอายุงานไม่มากนักของผม ผมเคยเห็นคนเขียน C++ ที่สร้าง LinkedList ใช้เองแทน Vector หรือจะเป็นการทำงานอย่างอื่นๆ อีกมากมายนับไม่ถ้วน

ผมมองเรื่องพวกนี้เป็นการแบ่งส่วนเวลา ระหว่างการอ่าน (เรียนรู้) กับการลงมือทำ

คนโดยทั่วไปแล้วมักจะแบ่งเวลาให้การลงมือทำเป็นเวลาส่วนใหญ่ เกินร้อยละ 75 มีหลายๆ ครั้งที่เต็มร้อย

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

กับตัวเองแล้ว สมัยเรียนผมแบ่งเวลาอ่านหนังสือถึงร้อยละ 80 ใช้เวลาทำแค่ 20 แต่พอมาเจอโลกความเป็นจริงก็พบว่่ามันทำอย่างนั้นไม่ได้เสมอไป ด้วยเหตุผลทางธุรกิจหลายประการ เราต้องทำก่อน แก้ทีหลังไปเสมอๆ

มันอาจจะดีถ้าก่อนที่เราจะเพิ่มโปรแกรมเมอร์เข้ามาในโปรเจค แล้วให้สอบความรู้ด้านเทคนิคกันให้ผ่านก่อนนะ

 

Programming

ถ – การเขียนโปรแกรมคืออะไร ระหว่าง วิทยาศาสตร์, ศิลปะ และไสยศาสตร์

ตอบ 1 – ไสยศาสตร์ และบั๊กเกิดขึ้นจากคำสาปหรือมนต์ดำ

ตอบ 2 – ศิลปะ มันเป็นทั้งศาสตร์และศิลป ทุกอย่างอธิบายได้ด้วยความสวยงามในเชิงสถาปัตยกรรม

ตอบ 3 – วิทยาศาสตร์ ทุกอย่างอธิบายได้ และมีทางแก้ไขที่ชัดเจน

คนตอบคนแรกทำงานเป็นโปรแกรมเมอร์มืออาชีพ เขียนโปรแกรมมาแล้วหลายปี

คนที่สองกำลังเรียนเขียนโปรแกรมอยู่ และพบกับความน่าตื่นตาของการเขียนโปรแกรม

.

.

คนที่สามเขียนโปรแกรมไม่เป็น….

 

JavaScript

พยายามเรียนมาหลายรอบแล้ว แต่ล้มเหลวทุกครั้งไป แต่รอบนี้ Yahoo! ให้ Douglas Crockford ผู้เชี่ยวชาญของทาง Yahoo! เองจัดสัมนาความยาว 1 ชั่วโมง 40 นาทีแล้วแจกฟรีในอินเทอร์เน็ต ดูไปแป๊บนึงแล้วเห็นด้วยกับคนพูดว่า JavaScript มันไม่ได้แย่ขนาดนั้น แต่ Enviorment การใช้งานมันแย่ เลยทำให้มันยาก (JavaScript มันยากจริงๆ มั๊ยผมก็ไม่แน่ใจ… แต่ Enviorment มันแย่จริงๆ)

วีดีโอมาแปะในเว็บไว้เท่ห์ๆ อย่างเดียว จะดูจริงๆ แนะนำให้ไปดาวน์โหลดกันที่ YUI Blog