อุดมการณ์

อุดมการณ์คืออะไร… เป็นเรื่องที่ผมสงสัยมาจนวันนี้

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

ซึ่งก็อาจจะดีนะ…

อุดมการณ์กินได้หรืออย่างไร มันทำให้ชีวิตเราดีขึ้นหรือ ทำไมเราต้องสละสารพัดสิ่งเพื่อมัน

ผมเคยเห็นสามี-ภรรยา ทะเลาะกัน พ่อ-ลูก ทะเลาะกัน เพื่อนเลิกคบกัน ก็เพราะคำๆ นี้

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

มันคืออะไรกัน

 

Decimal

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


print (0.05 + 0.05 == 0.1)
True

เมื่อการทำงานในขั้นต้นทำงานดี โปรแกรมเมอร์อาจจะเชื่อว่าส่วนนี้ทำงานถูกต้องดี จนกระทั่งการทำงานในแบบที่คล้ายๆ กันมีการทำซ้ำจำนวนมากๆ เช่น


d1 = 0.0
for i in range(1000):
d1 += 0.0001
print repr(d1)
1.0000000000000007
print (d1 == 1.0)
False

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

ใน Python 2.4 เป็นต้นมา มีการอิมพลีเมนต์เอกสาร PEP-327 ซึ่งเป็นสเปคของเลขทศนิยมฐานสิบ ที่ทำงานในส่วนนี้ได้ถูกต้องกว่า อย่างในตัวอย่างต่อไปนี้


dec1 = Decimal("0.0");
for i in range(1000):
dec1 += Decimal("0.001")
print repr(dec1)
Decimal("1.000")
print (dec1 == Decimal("1.0"))
True

เท่านี้เราก็จะได้การทำงานที่เป็นไปตามคาดโดยไม่ต้องกังวลความไม่แน่นอนของโปรแกรมอีกต่อไป

 

ปลายทาง

ผมประสบความสำเร็จแล้ว ผู้คนรู้จักผมไปทั่ว ผลงานของผมกำลังจะทำให้คนนับล้านมีความเป็นอยู่ที่ดีขึ้น

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

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

ผมเริ่มอยากออกไปฉลองกับใครสักคน ผู้คนทั้งประเทศกำลังยินดีกับรางวัลที่ผมได้รับ มีคนมาเสนอสร้างอนุเสาวรีย์ให้ผมด้วยซ้ำไป

ผมมองออกไป แล้วครุ่นคิด ผมอยากมีใครสักคนร่วมยินดีกับผมในตอนนี้ แต่จะเป็นใครดี

พ่อแม่ผมเสียไปเมื่อหลายปีก่อน น้องผมโทรมาบอกตอนผมกำลังทำงานในศูนย์วิจัยที่ปารีส ผมอยู่ที่่นั่นกว่าห้าปี โดยไม่ได้กลับมางานศพท่านทั้งสอง

ที่จริงโทรศัพท์จากน้องผมที่มาบอกข่าว ก็เป็นเพียงการพูดคุยกับน้องครั้งสุดท้าย

นั่นมันเมื่อใหร่กันนะ…

ผมมีแฟนคนแรกตอนเข้าเรียนปีหนึ่ง และก็เป็นคนสุดท้าย เราคบกันได้ไม่นาน ผมยุ่งเกินไป

ผมบอกตัวเอง ผมต้องหาเพื่อนมาร่วมฉลองด้วยซักคน ผมเปิดสมุดโทรศัพท์

มันเต็มไปด้วยรายชื่อของห้องวิจัยทั่วโลก ไม่มีชื่อใดในสมุดนั้นมีคำนำหน้าชื่อน้อยไปกว่า ดร.

ผมปิดสมุดโทรศัพท์ลง เงยหน้ามองเพดานเป็นครั้งแรกในช่วงเวลาเท่าใหร่ไม่มีใครรู้

ผมถามกับตัวเอง…

นี่ผมประสบความสำเร็จจริงๆ หรือ

 

ตัวเอง

จะมีประโยชน์อะไรที่ กับที่เราเป็นห่วง

จะมีประโยชน์อะไรกับการช่วยเหลือที่ให้ไป

จะมีประโยชน์อะไรกับคำเตือนที่พรั่งพรูออกไป

ตัวของตัวเอง… นะ แค่ตัวของตัวเอง