แนวคิด

ผม​อ่าน​รายงาน benchmark มา​สอง​สาม​ที่ เรื่อง​หนึ่ง​ที่​แปลก​ใจ​คือ​ภาษา​จาวา​นั้น​ทำ​ผล​การ​ทด​สอบ​ได้​ใน​ระดับ​ดี​เยี่ยม​เสมอๆ เรียก​ว่า​ขี่ๆ กับ C/C++ กัน​เลย​ที​เดียว

เรื่อง​น่า​แปลก​ใจ​คือ ใน​โลก​ความ​เป็น​จริง ผม​ไม่​ค่อย​เจอ​โปรแกรม​จาวา​ความ​เร็ว​เป็น​ที่​น่า​พอ​ใจ​เท่า​ใหร่เลย แม้​จะ​ทำ​งาน​ใน​เครื่อง​ที่​มี​แรม​ให้​สูบ​อย่าง​เหลือ​เฟือ​แล้ว​ก็​ตาม

ความ​เชื่อ​อย่าง​หนึ่ง​ของ​ผม​ใน​เรื่อง​นี้​คือ ที่​โปรแกรม​จาวา​มัน​ช้า เพราะ​น้อย​คน​จะ​เขียน​ให้​มัน​เร็ว มัน​ไม่​ใช่​เรื่อง​แปลก​อะไร​ที่​เรา​จะ​เห็น​ประโยค​ประมาณ​ว่า “เพราะ​คอมพิวเตอร์​ทุก​วัน​นี้​เร็ว​ขึ้น​มาก เรา​จึง​สามารถ…” ใน​หนังสือ​จาวา​ระดับ​เริ่ม​ต้น​จำนวน​มาก

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

ปัญหา​ประมาณ​นี้​ไม่​ได้​มี​ใน​จาวา​อย่าง​เดียว​เท่า​นั้น ก่อน​หน้า​นี้​ปรัชญา​ที่​สร้าง​ความ​ปวด​เศียร​เวียน​กล้า​ให้​กับ​การ​ทำ​งาน​ก่อน​หน้า​นี้​คง​เป็น​ภาษา Perl ที่​สนับสนุน​การ​ใช้ Regular Expression อย่าง​สุด​โต่ง แถม​ยัง​มี​ปรัชญา​แนบ​ท้าย​ว่า “There’s more than one way to do it.”

ผล​ที่​ได้​คือ​โค้ด Perl ที่​ไม่​ค่อย​มี​ใคร​อ่าน​ออก​จำนวน​มาก​ใน​โลก​ทุก​วัน​นี้

ผม​เคย​ถก​กับ​พี่​คน​หนึ่ง​ที่​เข้า​ใจ​ว่า​ชอบ Perl พอ​ควร ส่วน​ผม​น่ะเกลียด​มาก พี่​คน​นั้น​ยก​ประเด็น​ว่า​เรา​สามารถ​เขียน Perl ให้​อ่าน​ง่ายๆ ได้​ถ้า​เรา​ต้อง​การ แต่​การ​สอน Regular Expression และ​การ​ใช้​ตัว​แปร Global ตั้งแต่​บท​แรกๆ ก็​ดู​เหมือน​จะ​ไม่​สนับสนุน​ให้ Perl มี​โปรแกรมเมอร์​ที่​เน้น​ความ​อ่าน​ง่าย​ของ​โปรแกรม​กัน​เท่าใหร่ แต่​เน้น​ว่า​โปรแกรม​สั้น ยิ่ง​สั้น​จะ​ดู​ยิ่ง​เจ๋งไป​ซะอย่าง​นั้น

Python สอน​ผม​สอง​เรื่อง คือ​การ Refactoring ที่​ให้​ทำ​เสมอๆ เมื่อ​มัน​ควร​ทำ ข้อ​นี้​อาจ​จะ​เป็น​หนังสือ​ที่​ผม​อ่าน​เอง แต่​โดย​ส่วน​ตัว​แล้ว​ผม​ก็​ยัง​เชื่อ​ว่า​ตัว​ภาษา​มี​ส่วน​ค่อน​ข้าง​มาก ไม่​ว่า​จะ​เป็น​การ​บังคับ​ใช้ self เมื่อ​ต้อง​การ​ใช้​ตัว​แปร​ใน​ออปเจกต์ ไป​จน​ถึงฟังก์ชั่น property ที่​ทำ​ให้​เรา​สามารถ​ประกาศ​ตัว​แปร​ใน​ออปเจกต์​ไป​ก่อน แล้ว​ไป​ใส่ฟังก์ชั่น get/set เอา​ที​หลัง โดย​ไม่​ต้อง​ไป​แก้​จาก​ภาย​นอก เรื่อง​ที่​สอง​คือ​แนว​คิด battery included ของ Python ทำ​ให้​ผม​เลิก reinvent the wheel ไป​ได้​มาก ด้วย​ความ​ที่​เคย​ชิน​ที่​จะ​หา​โมดูล​ที่​ทำ​งาน​ตาม​ที่​เรา​ต้อง​การ​ก่อน เมื่อ​ไม่​มี​ค่อย​เขียน​ใหม่ แทน​ที่​จะ​เป็น​การ​เขียน​เอง​เรื่อยๆ เหมือน​เมื่อ​ตอน​เขียน C/C++ นิสัย​พวก​นี้​อาจ​จะ​บอก​ได้​ว่า​เกิด​ขึ้น​มา by design ของ​ภาษา​กัน​เลย​ที​เดียว

หรือ​ไม่​จริง?

 

การศึกษา

ความคิด​อย่าง​หนึ่ง​ที่​อยาก​ทำ​ตลอด​มา​คือ​การ​เขียน​หรือ​แปล​ตำรา​แล้ว​แจก​ฟรี​ใน​เน็ต ต้น​ความ​คิด​ก็​ไม่​มี​อะไร​มาก แค่​เห็น​ฝรั่ง​มัน​มี​หนังสือ​แจก​กัน​เยอะ​เหลือ​เกิน​ใน​เน็ต

แต่​แว่บ​หนึ่ง​แล้ว ผม​กลับ​สงสัย​ว่า​มัน​จะ​ดี​รึเปล่า ถ้า​เรา​ให้​สนับสนุน​การ​ใช้​ภาษา​อังกฤษ​กัน​มากกว่า​นี้ จะ​ดี​กว่า​ไหม​ถ้า​เรา​สนับสนุน​ให้​เด็ก​ไทย​สามารถ​เข้า​ถึง​ความ​รู้​ฟรี​จำนวน​มหาศาล​ใน​อินเทอร์เน็ต​กัน​ได้​มากกว่า​นี้

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

ทำ ZWSP จน​พอ​ใจ​เมื่อ​ใหร่จะ​ย้าย​ไป​นั่ง​แปล​หนังสือ​ดี​กว่า

 

QOTD (Question Of The Day)

ถ – นึก​ยัง​ไง​มา​ดู​หนัง​คน​เดียว​เหรอ​ครับ

ต – นึก​ขึ้น​ได้​ว่า​ไม่​มี​แฟน​ครับ

ปล. “ถ” น่ะ ใคร​ไม่​รู้ ส่วน “ต” น่ะ คุณ​คง​รู้​ว่า​ใคร

 

ห่างเหิน

นั่ง​นึก​ถึง​เวลา​ที่​ผ่าน​ไป​ใน​ชีวิต ขณะ​ที่​เรา​เดิน​หน้า​ไป​เรื่อยๆ เรา​พบ​ว่า​มี​อะไร​มาก​มาย​ที่​เรา​ทิ้ง​ไว้​ข้าง​หลัง แล้ว​ลืม​มัน​ไป…..

เพื่อน​ที่​เรา​เคย​สนิท​ด้วย​ที่​สุด ใน​วัน​นี้​เมื่อ​เจอ​หน้า​กัน เรา​อาจ​จะ​ทำ​ตัว​ไม่​ถูก ไม่​ใช่​เพียง​แค่​ลด​ความ​สนิท​สนม​กัน​ลง​ไป แต่​กลับ​เหมือน​มี​กำแพง​กั้น​กลาง​ระหว่าง​ทั้ง​สอง​คน​ยิ่ง​กว่า​คน​ที่​ไม่​เคย​รู้จัก​กัน​มา​ก่อน

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

ความ​สนิท​สนม​ระหว่าง​กัน​ของ​เรา​กับ​คน​อื่นๆ กำลัง​เปลี่ยน​ไป​ทุก​นาที ขณะ​ที่​เรา​เจอ​เพื่อน​ใหม่ๆ อยู่​ทุกๆ วัน เรื่อง​ดีๆ เช่น​นี้​กลับ​มัก​มา​พร้อม​กับ​การ​ที่​เพื่อน​เก่าๆ ของ​เรา​ค่อยๆ ถอน​ตัว​ออก​ไป​จาก​ชีวิต​ของ​เรา​อย่าง​ช้าๆ

บาง​ที​ชีวิต​อาจ​จะ​มี​ขีด​จำกัด​ที่​เรา​มอง​ไม่​เห็น มัน​อาจ​จะ​ถูก​กำหนด​ไว้​อย่าง​หยาบๆ ถึง​ความ​สัมพันธ์​ระหว่าง​เรา​กับ​คน​รอบ​ข้าง ที่​เมื่อ​เรา​มี​ความ​สัมพันธ์​กับ​คน​เพิ่ม​ขึ้น​เรื่อยๆ เรา​ก็​อาจ​จะ​ถูก​จำกัด​ความ​สัมพันธ์​เช่น​นั้น​ลง​ไป

หรือ​จะ​เป็น​ผม​เอง ที่​ละ​ทิ้ง​ความ​สัมพันธ์​เก่าๆ ไป ชีวิต​อาจ​จะ​ไม่​ได้​เกี่ยว​อะไร​กับ​การ​ห่าง​เหิน​ระหว่าง​เรา​กับ​คน​อื่นๆ แต่​เรา​เอง​นั่น​แหละ​ที่​เลือก​จะ​ห่าง​เหิน​กัน​ไป

จะ​มี​ทาง​ไหน​ที่​เรา​จะ​รู้​ได้…