"Hello World" - Mad Programmer Diary

Work Smart

Posted by arnondora on April 19th, 2014

คำ คำนี้เป็นคำที่ผมชอบพูดบ่อยๆเวลาสอนคนหลายๆคนเพราะเป็นคำที่ทำให้เรา คิด หาวิธีที่ ประหยัด (ง่ายที่สุดนั่นแหละ พูดให้ดูดีไปงั้น) ทั้งเวลาและแรงเรามากที่สุด เหมือนกับเวลาผมเขียนโปรแกรม ผมก็ต้องคิดแล้วว่า “ทำยังไงน้อ เราถึงจะเขียนได้ง่ายที่สุด แล้วใช้สเปกในการรันน้อยที่สุด” ปฏิเสธไม่ได้หรอกครับว่า มนุษย์ เราก็มีความขี้เกียจอยู่ด้วยกันทุกคน แต่บางคนนั้นอาจจะมีสิ่งที่ เรียกว่า แรงพลังดันบ้าง หรืออาจเรียกว่า ความพยายามบ้าง หรืออาจเรียกว่า ความท้าทายบ้าง ซึ่งเหล่านี้เป็นสิ่งที่ทำให้เราสามารถเผชิญกับปัญหาตรงหน้าได้ โดยที่เราไม่ได้วิ่งหนีมัน อย่างที่ผมบอกเสมอว่า การเขียนโปรแกรมคือการแก้ปัญหา เพราะฉะนั้นการที่เราสามารถเผชิญกับปัญหาได้อย่าง “มั่นใจ​” มันจะทำให้เราก้าวหน้าในงานลักษณะนี้ได้ แต่ วิธีการแก้ปัญหา นั้นมีหลายทางครับ (ทุกปัญหามีทางออกเสมอ) เหมือนกับเราเดินทางไปสักที่นึง ผมยกตัวอย่างไป เชียงใหม่ ล่ะกัน เราอาจที่จะ ขับรถไป นั่งเครื่องบินไป ใช้บริการขนส่ง ทุกวิธีที่พูดมา มันทำให้เราไปถึงเชียงใหม่เหมือนกัน แต่ต่างกันตรงที่ สะดวก เร็ว ช้า ว่ากันไปตามวิธี และอีกอย่างที่ต่างกันคือ ราคา   มาลองเทียบการไปเชียงใหม่ด้วยวิธีต่างๆเป็นปัญหาดู การเดินทางไปเชียงใหม่คือ ปัญหา […]

Why I love programming ??

Posted by arnondora on April 18th, 2014

เมื่อไม่นานมานี้ผมได้อ่านเรื่องของ “วิกฤติเด็กไทยไม่ชอบเขียนโปรแกรม” ซึ่งก็บ่นว่างานหนักบ้าง เปรียบเป็นกรรมกรในห้องแอร์บ้าง ค่าตอบแทนก็น้อย แต่ผมว่าถ้าเราเถียงกันเรื่องพวกนี้ พวกแกเถียงกัน 10 ชาติก็ไม่จบหรอกครับ ผมว่าเราต้องมาคุยว่าทำไมเด็กไทยถึงมองว่าการเขียนโปรแกรมนั่นน่าเบื่อ ผมเลยอยากจะแบ่งปันประสบการณ์ว่าการเขียนโปรแกรมนั้นสนุกตรงไหน แต่ผมก็ไม่สามารถที่จะบังคับคนที่ไม่ชอบการเขียนใช้มาชอบการเขียนโปรแกรมได้หรอกครับ (เหมือนผมไม่ชอบคณิตศาสตร์นั่นแหละ ทำยังไงก็ไม่มีทางชอบเลย)   ผมเขียนโปรแกรมครั้งแรกตอนผมอยู่ ป.5  เริ่มด้วยภาษา VB (Visual Basic) ซึ่งเป็นภาษาที่ใช้เขียนโปรแกรมบน Windows (แต่จนถึงวันนี้ผมก็ไม่ค่อยได้ใช้แล้ว แต่มันเป็นความทรงจำภาษานี้ก็เลยจำตราตรึงใจ) ตอนนั้นใช้ Visual Basic 6 เป็น IDE (แสดงถึงยุคของมึงจริงๆ) ตอนนั้นผมเขียน ‘msgbox(“Hello World”)’ แล้วลองรันขึ้นมา ซึ่งก็เห็นเป็น Message Box ขึ้นมาว่า Hello World บนหน้าจอ ตอนนั้นผมตะลึ่งมาก หลังจากนั้นก็ต่อยอดต่อเป็น “msgbox(“Hello World”,MessageboxIcon.Information)”  “โห นอกจากขึ้น Hello World แล้วยังมี เครื่องหมาย ? ด้วยล่ะ […]

The Easiest Way To Learn Programming Language

Posted by arnondora on April 16th, 2014

สำหรับคนที่เริ่มต้นอยากเขียนโปรแกรมสักภาษานึง หลายๆคนก็ไม่รู้ว่า เราจะต้องเรียนรู้อะไรก่อน อะไรหลัง ถึงจะเข้าใจภาษาโปรแกรมมิ่งได้อย่างอย่างง่ายดาย – อย่างแรกเลย พื้นฐานเป็นสิ่งที่สำคัญสุดเลยครับ คือเรื่องของ Algorithm เราต้องเรียนรู้ว่า มันคืออะไร ทำอะไร แล้วมันสำคัญยังไงกับการเขียนโปรแกรม และการแก้ปัญหาต่างๆ เพราะการเขียนโปรแรกมก็คือการแก้ปัญหานี่แหละครับ   – ถัดมาทีนี้หลังจากเราได้เรื่องของ Algorithm แล้วเราจะมาเรียนรู้ไวยกรณ์พื้นฐานของภาษาที่เราเรียนก่อนว่า มันมีส่วนประกอบอะไร เขียนยังไง ส่วนนี้คืออะไร   – ต่อไปก็ต้องเข้าใจถึงเรื่องของตัวแปร การประกาศตัวแปร ชนิดของตัวแปร การแปลง ค่าคงที่ต่างๆ   – หลังจากเราเรียกค่าคงที่ต่างๆได้แล้ว เราจะต้องมาเรียนรู้เรื่องของ โครงสร้างข้อมูลบนตัวแปรแบบต่างๆ เช่น Array, String ต่างๆบลาๆ (ถ้าภาษานั้นมี)   – พอได้การ สร้างตัวแปร การเรียกค่าคงที่แล้วก็ต้องมาทำความรู้จักกับเรื่องของ Function, Method ต่างๆ การส่งค่ากันไปมาระหว่างฟังก์ชั่น การสร้าง การเรียกใช้ฟังก์ชั่นแบบต่างๆ ทั้งที่เราสร้างเองและที่ระบบมีมาให้   – หลังจากนั้นก็ต้องมาเข้าใจในหลักการของ OOP […]

Another Side Of Programming

Posted by arnondora on April 16th, 2014

ผมเห็นใครหลายคนชอบมองว่า “การเขียนโปรแกรม” นั้นยากแสนยาก ต้องทำความเข้าใจอะไรมากมาย ทั้งเรื่อง คำสั่ง การวางคำสั่ง อะไรต่างๆมากมาย จนทำให้มันกลายเป็น “ยาขม” ของหลายๆคนเหมือนกับ คณิตศาสตร์ ที่ผมเกลียดเข้าใส้ แต่ผมก็เข้าใจว่าการที่ทำให้คนที่ไม่ชอบอะไรสักอย่างมาชอบเนี่ยมันยากมาก (เหมือนกับคณิตศาสตร์ของผมเลย จนถึงตอนนี้ก็เกลียดมันอยู่) โพสนี้ผมเลยอยากจะเปลี่ยนความคิดของคนที่เชื่อว่า การเขียนโปรแกรมนั่นยากหนักหนา ให้กลายเป็นง่ายขึ้นมาทันตาเห็น ผมจะมาเปรียบเทียบการสร้างโปรแกรมสักตัวเหมือนกับการสร้างบ้านสักหลัง (เชื่อเลยว่าทุกคนที่มาอ่านพวกแกสร้างบ้านจริงๆกันไม่เป็นหรอก มโนเอานะ) อย่างแรกของการสร้างบ้านเราก็ต้องเขียนแบบบ้านก่อนสินะ ต้องออกแบบและ ว่าบ้านของเรามันจะสร้างออกมาหน้าตายังไง ก็เหมือนกับโครงสร้างข้างในของโปรแกรมนั่นแหละครับ เราต้องใช้คำสั่งอะไรบ้าง API อะไรบ้าง อาจมีฐานข้อมูล ต้องออกแบบยังไง   ถัดมาคิดต่อ บ้านของเราจะทาสีอะไรตรงไหน ตกแต่งยังไง นั่นก็เหมือนสิ่งที่ครอบโครงบ้านโง่ๆของเราให้ดูสวยงามขึ้นหรือภาษาคอมพิวเตอร์เขาก็เรียกว่า UI ครับ ว่าโปรแกรมแบบนี้นะ จะต้องออกแบบ UI ยังไงให้ User สามารถใช้ได้อย่างง่ายดาย สวยงาม ตามแบบฉบับของเราที่เป็นคนออกแบบ   ถัดไปเมื่อเราได้บ้าน ตกแต่งเรียบร้อยแล้ว เราก็ต้องทดสอบว่าบ้านของเรามีองค์ประกอบครบตามที่เราออกแบบมั้ย สีตรงมั้ย ขนาดตรงมั้ย ตรวจโครงสร้างว่า บ้านจะถล่มมั้ย มีความเสี่ยงมั้ย […]

“Laziness” is my inspiration

Posted by arnondora on April 13th, 2014

แรงบัลดาลใจของคนเรามีกลายอย่างครับ อาจจะเป็น การได้ออกไปพบธรรมชาติข้างนอก การได้ไปพบปะผู้คน แต่ของผมนั้นไม่เหมือนใครครับ นั่นคือ ความขี้เกียจ ตั้งแต่เด็กยันโตขึ้นมาผมก็ถูก สังคมเอย ผู้คนรอบข้าง ปลูกฝังว่า ความขี้เกียจเนี่ย มันไม่ดีนะ เราเนี่ยควรที่จะขยัน เราจะได้ประสบความสำเร็จ แต่ผมไม่คิดอย่างงั้นครับผมมองว่า ถ้าเอาเอาความขี้เกียจของเราเปลี่ยนมันมาให้กลายเป็นประโยชน์ ความขี้เกียจนี้แหละมันสามารถเป็นแรงพลักดันให้เราสร้างอะไรได้มากกว่าที่เราคิดซะอีก ผมเป็นโปรแกรมเมอร์ครับ เป็นอาชีพที่จะต้องคอย มอง ค้นหา และแก้ปัญหาให้บุคคลต่างๆ เพื่อที่บุคลลที่เราแก้ปัญหานั้นทำงานของเขาได้สำเร็จรุร่วงได้ด้วยดี เพราะฉะนั้นอาชีพโปรแกรมเมอร์หลักๆแล้วเราก็จะสร้างโปรแกรมออกมาให้ผู้ใช้ (User) สามารถนำไปใช้กับตัวผู้ใช้ให้เกิดประโยชน์สูงสุดนั่นเอง กลับมาที่ความขี้เกียจกันต่อ ถามว่า อ้าวแล้วมันเกี่ยวอะไรกับโปรแกรมเมอร์ล่ะครับ ความจริงแล้วมันเกี่ยวทุกอาชีพแหละ อย่างที่บอกไปครับว่า อาชีพโปรแกรมเมอร์เป็นอาชีพที่ต้องคอยแก้ปัญหาครับ ถ้าเราไม่หาปัญหามาแก้แล้วเราจะเอาอะไรกินล่ะครับ ? (แกว่งเท้าหาเซี้ยนนั้นแหละ ใช้คำเปลืองจังมึง) แต่ในการหาปัญหาและแก้ปัญหาเนี่ยเราก็ต้องมีแรงบัลดาลใจเหมือนกัน แต่แรงบันดาลใจของผมเหรอครับ ความขี้เกียจไงครับ ผมมองว่าการที่เราขี้เกียจนั้นไม่ใช่เรื่องเสียหายเลยครับ แค่ขอว่า เราขี้เกียจแล้ว เราต้องคิดที่จะทำให้เราสบายขึ้นครับ ซึ่งโดยส่วนตัวแล้วผมเป็นคนที่ค่อนข้างขี้เกียจมากถึงมากที่สุดเลยครับ แต่เพราะไอ้เจ้า ความขี้เกียจนี้แหละครับ มันทำให้ผมสามารถสร้างสรรค์สิ่งต่างๆได้มากมายมากเลย จนตอนนี้ (ปี 2014) ผมเขียนโปรแกรมโดยใช้แรงบัลดาลใจนี้มาจะเป็นีที่ 9 แล้ว (ใกล้จะ 10 […]

เขียนโค้ดครั้งแรก

Posted by arnondora on April 9th, 2014

อันเนื่องมาจากผมได้อ่าน New york 1st time ของ คุณธนชาติ ศิริภัทราชัย ที่ได้แชร์ประสบการณ์ครั้งแรกของเขาในนิวยอร์คทำให้ผมอยากมาแชร์ประสบการณ์ที่น่าสนใจของผมเองครับนั้นคือ เขียนโค๊ตครั้งแรก มีคนชอบถามผมว่า “ทำไมถึงชอบเขียนโปรแกรมล่ะ ??” ผมมักจะตอบไปว่ามันสนุกครับ เพราะมันทำให้เราได้คิด แก้ปัญหาอะไรใหม่ๆตลอดเวลาเลยครับ (แหลสุดๆ) ความจริงแล้วผมเป็นคนที่ค่อนข้างจะเรื่องมาก มากๆเลยครับ เวลาใช้โปรแกรมในคอมพิวเตอร์มักจะชอบพูดว่า ทำไมมันไม่มีอย่างโน้น ทำไมมันไม่มีอย่างงี้ ก็เลยคิดว่า “เออทำไมเราไม่สร้างมันเองเลยล่ะ” จากตอนนั้นจนถึงตอนนั้ีผมก็ยังเรื่องมากเหมือนเดิมและก็ยังสร้างโปรแกรมมาตอบสนองตัวเองเช่นเดิม กลับมาที่ครั้งแรกของผมบ้าง ย้อนไปครับสมัยผมอายุ 9 ขวบ (ตอนนี้ผมอายุ 18 ถ้วนนะครับ) ตอนนั้นมีเกมออนไลน์เกมนึงครับ ฮิตมากๆ ซึ่งตอนนั้นผมก็ติดงอมแงมเลย แต่พอเล่นๆไปก็มีจุดๆนึงคิดว่า “นี่เราติดเกมป่ะเนี่ย ??” ผมจึงพยายามออกห่างมันหน่อยแต่ผมก็ยังไม่ห่างจากคอมน่ะครับ (ติดคอมไง) ผมก็เลยดั้นด้นไปหางานอดิเรกทำบนอินเตอร์เน็ตดูครับ ปรากฏว่าผมไปเจอเว็บนึงที่สอนเกี่ยวกับการเขียนโปรแกรม (ตอนนั้นคือ โห แม่งตอบสนองความเรื่องมากของเราได้แน่ๆเลย) ผมจึงเริ่มฝึกเขียนมันครับ และเว็บผู้โชคร้ายที่ผมเข้าไปฝึกครั้งแรกคือ www.code.org มาที่เว็บผู้โชคร้ายกันก่อนคือ www.code.org เป็นเว็บที่เกิดขึ้นมาเพื่ออยากให้คนทุกคนเขียนโค๊ตเป็นกัน ตามสโลแกนของโครงการ Code.org ว่า “Every […]