Posted on Thursday, May 15th, 2008 at 11:32 am
You can change your name, you can change your hair style, you can change your face, you can even change how you cry. But one thing you can’t change, it’s where you come from.
By the way, it’s called แกงฮังเล (Gang-Hungle|Northen Thai Curry).
Posted in Uncategorized |
Posted on Wednesday, May 14th, 2008 at 9:33 am
Posted in Uncategorized |
Posted on Sunday, May 11th, 2008 at 1:46 pm
Posted in Uncategorized |
Posted on Saturday, May 10th, 2008 at 1:17 pm
Alan J. Perlis, เคยกล่าวไว้ว่า “A language that doesn’t affect the way you think about programming, is not worth knowing.” แปลลวก ๆ ก็คือ ภาษาที่ไม่กระทบต่อวิธีการคิดของคุณต่อการเขียนโปรแกรมนั้นไม่มีค่าพอที่จะไปเรียนรู้มัน ผมก็เลยลองไล่ ๆ ดูว่ามีภาษาอะไรบ้างที่”เปลี่ยน”วิธีการคิดของผมบ้างนะครับ
Pascal
เป็นภาษาแรกที่หัดเขียน (เด็กรุ่นผมส่วนใหญ่ ก็คงหัดเขียน Pascal แหละ รุ่นไหนเหรอ ก็รุ่น CW/RW นะ :P) ที่สำคัญคือ ตอนนั้นผมยังไม่มีคอมพิวเตอร์เป็นของส่วนตัว แต่ไปใช้คอมพ์ที่โรงเรียนแม่ ซึึ่งทั้งโรงเรียน มีคอมพ์อยู่ตัวเดียว (PC/XT รุ่น Floppy disk 5 1/4 คู่ด้วย) ทำให้ผมสามารถใช้คอมพ์ได้แค่อาทิตย์ละ 1-2 ชั่วโมง แต่เวลาแค่ 1-2 ชั่วโมงมันไม่พอจะให้หัดเขียนโปรแกรมหรอกครับ (เขียน Hello World ก็ใช้เวลาคอมไพล์สัก 5 นาทีได้แล้ว) ถ้าต้องมัวแต่ต้องไปนั่งคิด ๆ พิมพ์ ๆ ไป แก้โค้ดไป รับรองอาทิตย์หนึ่งได้แค่โปรแกรมเดียว วิธีการที่ผมใช้ก็คือ ผมจะเขียนโปรแกรมในกระดาษก่อน แล้วลองคอมไพล์ในหัวดูว่าโปรแกรมมันควรจะทำงานยังไง เวลาเจอข้อผิดผลาด ก็แก้ในกระดาษไปแบบนี้ ข้อดีของ Pascal ก็คือ syntax มันค่อนข้างชัดเจนและอ่านง่าย ทำให้เวลาจินตนาการในหัวแล้วสมองไม่ต้องทำงานหนักมาก (ลองจินตนาการการทำงานของโปรแกรมที่เขียนด้วย Perl ดูซิครับ…) แล้วพอคิดว่าโปรแกรมทำงานได้ถูกต้องดีแล้ว ก็ค่อยเอาไปทดสอบกับคอมพ์จริง ๆ อีกที ซึ่งส่วนใหญ่ก็จะคอมไพล์ทีเดียวผ่าน 😀 ด้วยการหัดเขียนภาษา Pascal แบบนี้ ทำให้ผมสามารถพัฒนาการมองโปรแกรมแล้วคิดตามในหัวได้ เรียกว่าผมสามารถคิดแบบเดียวกับที่คอมพิวเตอร์คิดได้ก็ด้วยการหัดเขียน Pascal ในกระดาษนี่แหละ
ถ้าไปหัดเขียนโปรแกรมกับคอมพสมัยนี้อาจจะทำไม่ได้ เพราะว่าคงจะใช้วิธีการเขียนไปแก้ไป (คอมพ์มันเร็ว มันทำแบบนั้นได้) ซึ่งข้อเสียก็คือ เราจะไม่สามารถคิดถึงโปรแกรมเป็น flow หรือเป็นภาพรวมได้
C
พอเขามหาวิทยาลัยก็โดนบังคับให้เขียน C ข้อดี(หรือว่าข้อเสียก็ไม่รู้) ของ C ก็คือมัน low level มาก แต่ไม่มากจนเกินไป การที่มันอยู่กึ่ง ๆ กลาง ๆ ทำให้เราสามารถคิดได้ง่ายขึ้นว่า การที่โปรแกรมทำงานอย่างหนึ่ง เช่นการคลิกเมาส์ที่ปุ่มหนึ่ง ในส่วนฮาร์ดแวร์มันเกิดอะไรขึ้นบ้าง เช่น ต้องมีการจอง memory ยังไง ต้องย้าย memory จากส่วนไหนไปไหน จำได้ว่าตอนสมัยเรียน อาจารย์ให้การบ้านภาษา C คือให้เด็กเขียน Text editor ภาษาไทย! ก็สนุกกันใหญ่แหละครับ ตั้งแต่จะสร้าง Data Structure เพื่อเก็บเอกสารยังไง จะแสดงผลภาษาไทยยังไง ต้อง map VRAM ยังไง (สมัยนั้น ยังฮิตใช้ Hercules card กันอยู่) สุดท้ายการเรียนภาษา C ก็สามารถสอนให้ผมเชื่อมการทำงานของ Software เข้ากับ Hardware ได้ อาจจะสงสัยว่าแล้ว assembly ละ คือว่า assembly มัน low level ไปนะครับ เขียนแล้วมองการทำงานของ Hardware ได้ทะลุ แต่เอามาเชื่อมกับ Software ไม่ได้
Smalltalk
จริงๆ ผมหัดเขียน C++ กับ Java มาก่อน แต่ว่าก็เป็นการเขียนแบบ procedural ธรรมดา ๆ เลย ไม่มีความเป็น OOP แต่อย่างไร เพราะตอนนั้นมันมองไม่แตกว่า OOP คืออะไร แต่พอตอนไปออสเตรเลีย ต้องได้ลงเรียนวิชา OOP ซึ่งเขาใช้ Smalltalk ในการเรียน ก็ทำให้ผมสามารถ”คิด”แบบ OOP ได้ เพราะว่าภาษามันไม่ยอมให้คิดแบบอื่นเลย ถ้าตอนนั้นไม่ได้เรียน Smalltalk ผมก็คงยังคิดแบบ OOP ไม่ได้
จริง ๆ หลัก ๆ ที่เห็นชัด ๆ ก็มีอยู่แค่นี้แหละครับ แต่ว่าตอนนี้กำลังพยายามลุ่มลึกกับ Python และ Haskell อยู่ รวมถึง Programming paradigm อื่น ๆ เช่น AOP, Event-Processing และ Functional Programming อยู่ครับ ก็คงต้องดูต่อไปว่าผมจะถูกเปลี่ยนด้วยภาษาไหน หรือว่า Paradigm แบบไหนอีกหรือเปล่า
Posted in Uncategorized |
Posted on Saturday, May 10th, 2008 at 12:24 pm
Posted in Uncategorized |
Posted on Friday, May 9th, 2008 at 8:24 am
กินหมูกะทะกัน…
อ่านหนังสือกัน…
Posted in Uncategorized |
Posted on Tuesday, May 6th, 2008 at 12:01 pm
Posted in Uncategorized |
Posted on Sunday, May 4th, 2008 at 1:07 pm
Found another video on youtube, which is actually better than the above one (the above one is from The West Wing series). The following one is from their show in Vegas.
Read more: * I’m here to play basketball * เห็นเล่นเรื่องธงชาติกัน * What is LOVE ? * รายงาน : ฟังความหลายๆ ข้าง กรณี ‘ไม่ยืนเคารพเพลงสรรเสริญพระบารมี’
Posted in Uncategorized |
Posted on Sunday, May 4th, 2008 at 2:54 am
[๑๔๓] ลำดับนั้น พระผู้มีพระภาครับสั่งกะภิกษุทั้งหลายว่า ดูกรภิกษุ ทั้งหลาย บัดนี้ เราขอเตือนพวกเธอว่า สังขารทั้งหลายมีความเสื่อมไปเป็นธรรมดา พวกเธอจงยังความไม่ประมาทให้ถึงพร้อมเถิด ฯ นี้เป็นพระปัจฉิมวาจาของพระตถาคต ฯ
พระไตรปิฏก เล่มที่ ๑๐ พระสุตตันตปิฎก เล่มที่ ๒ ทีฆนิกาย มหาวรรค
Posted in Uncategorized |
Posted on Thursday, May 1st, 2008 at 2:14 am
Posted in Uncategorized |