วันพุธที่ 25 สิงหาคม พ.ศ. 2553

คุณสมบัติของโปรแกรมเมอร์ที่ดี...

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

5 ปี ผ่านไป.....

เด็กๆจากชั้นนี้ก้าวขึ้นไปประกอบอาชีพที่ตนเองใฝ่ฝัน บ้างค้าขาย บ้างทำบัญชี ฯลฯ แต่ไม่มีใครเป็นโปรแกรมเมอร์กันเลย  ทำไม...
" มันยากครับยากมาก "  นายเข่งบอก
" มันเป็นเรื่องของคนรวยเค้าค่ะ" , " ผมไม่เก่งอังกฤษครับ " , " นู๋ไม่มีคอมค่ะ" อีกมากมายหลายคำตอบที่พรั่งออกมา
      " เป็นโปรแกรมเมอร์เนี่ยมันยากมากเลยหรอ ไหนดูซิ ในหนังสือ ว่าไง
 อ่าทำไมมันช่างเต็มไปด้วยศัพท์เทคนิคอะไรมากมายอย่างนี้โอ้ว.. "
( ถ้าใครไม่เคยเจอ Search  ดูแล้วกันนะ คุณสมบัติโปรแกรมเมอร์ )
 ว่าพลางก็บรรจงเก็บหนังสือเข้าตู้ไว้ดังเดิม

มาดูกันสิว่าโปแกรมเมอร์เนี่ยมีคุณสมบัติแบบบ้านๆอย่างไรบ้าง
      อาฮ้า  ใครหลายๆคนที่ตอนเด็กๆฝันอยากเป็นโปรแกรมเมอร์กันใช่มั้ย  ลองมาดูสิว่าคุณมีคุณสมบัตินี้รึป่าว....
1.  รูปหล่อพ่อรวย สวยพราวเสน่
2.  พ่อรวย อนุญาติให้แม่หรือผู้ปกครองรวยด้วยก็ได้
3.  สูงยาวเข่าดี หรือ หุ่นเพรียวก็ไม่ว่า
4.  เคยได้รับรางวัลมารยาทไทยดีเด่นอย่างน้อย 1 สถาบัน
5.  ไม่เคยเสพสิ่งเสพติด หรือเสพไม่ติดใดๆ
6.  ทำตัวอยู่ในกรอบของศาสนาอย่างน้อง 6 วันต่อสัปดาห์
7.  เคยได้สอบได้ที่ 1 ของห้องอย่างน้อย 1 ครั้ง
8.  เคยได้รางวัลชนะเลิศประกวดเรียงความวันเด็ก
9.  มีทักษะทางกีฬา  เคยเป็นนักกีฬาโรงเรียนมาก่อน
10. เป็นคนเอื้อเฟื้อ  เผื่อแผ่

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

เอาล่ะมาเข้าสาระกันดีกว่า  ก่อนที่ Blog  ผมจะโดนด่ามากกว่านี้

     โปรแกรมเมอร์เนี่ยจริงๆแล้วมีคุณสมบัติไม่กี่อย่างหรอก ( เอาไปตอบในข้อสอบไม่ได้นะ ) 
1. ต้องกล้า  กล้าทำ  กล้าคิดแตกต่าง  กล้าลงมือทำ  ไม่ใช่กล้าวิวาทนะอย่างนั้นไม่เอา
2. ขี้เกียจ  เอ๊ย !!  มาไงเนี่ย  คือหมายถึงว่าเวลาเขียนโค้ดเนี่ย ต้องขี้เกียจพิมพ์ เราก็ต้องหาวิธีเขียนให้สั้นๆแต่โปรแกรมถูกเหมือนเดิมอ่ะ
3. พิมพ์สัมผัส  เอ่อ ผมยังจิ้มดีดอยู่เลย  อันนี้ข้าม...
4. ทำโปรแกรมให้ดูง่ายเสมอ  แค่ทำตามโจทย์ไม่พอนะ  ต้องทำให้คนอื่นที่มาใช้เนี่ยเข้าใจด้วย
5. รอบคอบต่องานเสมอ  ตรวจทานให้ดี  และพยายามคิดดูว่ามันจะเกิด error ได้อย่างไรบ้างถ้าเราใส่ข้อมูลผิดๆลงไป  แล้วพยายามแก้มันซะ
6. พยายามเขียนโปรแกรมให้ออกมาแตกต่างจากของที่มีอยู่หรือของที่เค้าเอามาให้ลอก !!
7. สุดท้าย อนทนต่อ error  คิดซะว่า ยิ่งผิดมาก  เราก็ยิ่งรู้มาก

แค่นี้แหละถ้าทำได้นะ ก็เป็นได้แล้วทีนี้บางคนยังไม่รู้ว่าเขียนอย่างไรใช่มั้ย  เบื้องต้นก็ลองหัดเขียนภาษาที่ง่ายๆก่อน เช่น ภาษา C  ภาษาจาวา  ถ้าเป็นเว็บก็ HTML  ลองดู " อะไรนะ  มันไม่ใช่ภาษาอังกฤษนะ "  , " ไม่รู้จะเริ่มไงหรอ  งั้นรอติดตามอ่านจาก Blog นี้แล้วกันนะ  บทต่อๆไป เอ่าแค่นี้แหละคุณสมบัติโปรแกรมเมอร์อ่ะ"

วันจันทร์ที่ 23 สิงหาคม พ.ศ. 2553

โปรแกรมเมอร์คือ...

" มาๆเร่เข้ามา  ใครอยากเป็นโปรแกรมเมอร์ เร่าเข้ามา"
" เอ่อ...ว่าแต่โปรแกรมเมอร์ มันคืออะหยังครับ."
         เสียงเล็กๆจากเด็กผู้ชายตัวดำๆหน้าตาดีคนหนึ่งที่แทรกผ่านเข้ามาในรูหูด้วยความเร็ว 346 เมตร/วินาที  ที่อุณหภูมิ 25 องศาเซลเซียส   ผมค่อยๆหันใบหน้าอันหล่อเหลาไปทางต้นเสียงขวามือ 
" คนเขียนโปรแกรมคอมพิวเตอร์ไง จ๊ะ "
"เขียนใส่กระดาษเหรอครับ แล้วมันเข้าไปอยู่ในคอมฯได้ไง  มันอ่านหนังสือได้ด้วยเหรอ "
        อ่านะ...คำถามแบบใสซื่อแบบเด็กหรือภาษาบ้านๆเรียกถามไม่คิด 
" หมายถึงการสร้างโปรแกรมคอมพิวเตอร์ด้วยวิธีที่เราเรียกว่าเขียนโปรแกรมไงจ๊ะ"
       ผมตอบกลับด้วยเสียงเอ็นดูเด็ก...  งง!!  นั่นคือสีหน้าที่บ่งบอกความหมายที่ปรากฎอยู่บนใบหน้าเด็กคนนั้น 
" เอ่อ.."
      ผมพยายามคิดเรียบเรียงคำพูดออกมาให้ง่ายต่อการเข้าใจที่สุด ก็บอกแล้วไงผมเอ็นดูเด็ก 
" เอาอย่างงี้นะ ถ้าเราจะสร้างบ้านเนี่ย  เราต้องมีอะไรบ้าง  อ่าไม่ต้องตอบจ๊ะ "
     ผมชิงตอบก่อนจะมีเสียงเล็ดลอดออกมา
" อยู่ๆมันคงเป็นบ้านเลยไม่ได้ใช่มั้ย  มันต้องเริ่มจาก  อิฐ  ดิน   ทราย  ปูน  หลายๆ อย่าง  มาก่อสร้างเป็นบ้านถูกมั้ย"
" แต่เด้วนี้มีบ้านสำเร็จรูปแล้วนี่ครับ  ไม่ต้องใช้ดินแล้ว "
      กำ...กลายเป็นเด็กรู้มากไปอีก 
" ก็..."
      ผมเริ่มตัน  สมองตื้อไปหมด  อยากทำอะไรที่มันเกี่ยวกับคดีอาชญากรรมซะจริง
" หนูรู้จักต้นข้าวมั้ยจ๊ะ"
" รู้จักครับ  พ่อผมปลูกอยู่"
" นั้นแหละ  ก็คล้ายๆกัน  เราเป็นคน หว่านเมล็ด  แล้วสุดท้ายมันก็โตเป็นต้นออกรวงข้าวให้เราได้เก็บเกี่ยวใช่มั้ย  โปรแกรมก็เหมือนกัน  เราก็ค่อยๆสร้างมันโดยการเขียนโค้ดทีละนิด  จนมันกลายเป็นโปรแกรมที่เราใช้อยู่ทุกๆวันนี้ไงล่ะนึกออกมั้ย"
       เด็กน้อยทำหน้าเฉยเมยประดุจยืนอยู่ตรงหน้าผาสูงชัน 
"  คอมฯมันถูกน้ำไม่ได้ครับ  มันช๊อตพี่ไม่รู้เหรอ"
      แล้วแกก็หันหลังเดินลับไป....

เอ่อ....เอาเป็นว่าข้ามไปเลยแล้วกัน

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