โปรแกรมเมอร์ LISP สองขั้ว
(marktarver.com)- Lisp เป็น “ผลงานล้มเหลวที่ยอดเยี่ยม” ซึ่งเหนือกว่าทางเทคนิค แต่ไม่สามารถขึ้นเป็นกระแสหลักได้
- ผู้เขียนมองหาเหตุผลในลักษณะนิสัยของผู้คนที่ถูกดึงดูดเข้าหา Lisp มากกว่าที่ตัวภาษาเอง
- คนเหล่านี้มีสติปัญญาโดดเด่นและความคิดสร้างสรรค์สูง แต่มีแนวโน้มทนงานปิดท้ายที่น่าเบื่อ การร่วมมือ การประนีประนอม และความต่อเนื่องไม่ได้
- Lisp ขยายพลังความคิดสร้างสรรค์ของพวกเขา แต่ในขณะเดียวกันก็ขยายจุดอ่อนเหล่านั้นเข้าสู่ระบบนิเวศด้วย
ผู้ล้มเหลวที่ยอดเยี่ยมเกิดขึ้นได้อย่างไร
- สำหรับอาจารย์ที่สอนมานาน นักเรียนที่จำได้เป็นพิเศษมักเป็นคนที่เก่งมากหรือแย่มาก
- แต่มีนักเรียนบางคนที่อยู่ในทั้งสองกลุ่มพร้อมกัน
- โดยทั่วไปจนถึงระดับมัธยม คนเหล่านี้มัก:
- ได้คะแนนสูงสุดด้วยความพยายามน้อย,
- เริ่มทำเอาวินาทีสุดท้ายก็ยังทำได้ดี,
- มองกฎและรูปแบบของโรงเรียนเป็นเรื่องน่าขำ
- อันที่จริง เพราะกฎจำนวนมากเป็นเพียงพิธีรีตอง ความเย้ยหยันของพวกเขาจึงไม่ได้ไร้เหตุผลเสียทีเดียว
- ปัญหาคือพวกเขาคุ้นเคยกับความสำเร็จที่ได้มาอย่างง่ายดาย จึงไม่ได้เรียนรู้ความสม่ำเสมอและการทำงานให้เสร็จสมบูรณ์
วงจรซ้ำของการหมกมุ่นและหมดแรง
- เมื่อเกิดความสนใจ พวกเขาจะจดจ่ออย่างน่าทึ่งในช่วงเวลาสั้น ๆ
- แต่ไม่นานก็เบื่อและทิ้งงานก่อนจะทำให้เสร็จ
- หลังจากกิจกรรมที่คลั่งไคล้จะตามมาด้วยความหมดแรงและการถอยห่าง
- ผู้เขียนเรียกลักษณะนี้ว่า BBM (brilliant bipolar mind)
- ในที่นี้ “สองขั้ว” ไม่ใช่ชื่อวินิจฉัยทางการแพทย์อย่างเคร่งครัด แต่เป็นอุปมาที่หมายถึงแนวโน้มที่ภาวะฮึกเหิมและภาวะตกต่ำเกิดสลับกัน
เหตุใดจึงพังทลายในมหาวิทยาลัย
- มหาวิทยาลัยให้ทั้งอิสระและความยากที่สูงขึ้นพร้อมกัน
- พวกเขาเชื่อว่าสามารถเอาตัวรอดได้ด้วยพรสวรรค์ล้วน ๆ เหมือนตอนมัธยม แต่ตั้งแต่จุดหนึ่งเป็นต้นไป ไม่อาจรักษาผลงานไว้ได้หากไม่มีความพยายามอย่างสม่ำเสมอ
- ผลการเรียนตกลง และแม้เจ้าตัวจะรู้สึกล้มเหลว ก็ยังเปลี่ยนนิสัยไม่ได้
- บางครั้งก็หลุดจากการเรียนตามหลักสูตรไปสู่ทางแยกที่น่าสนใจแทน
- อย่างไรก็ตาม หากได้รับอิสระให้ทำโปรเจกต์ในหัวข้อของตนเอง พวกเขาอาจกลับมามีชีวิตชีวาขึ้นทันทีและสร้างผลงานที่เป็นต้นฉบับได้
- ปัญหาคือเพราะผลการเรียนและชื่อเสียงตามปกติ ความเป็นต้นฉบับนั้นอาจไม่ได้รับการประเมินอย่างเหมาะสม
เหตุผลที่ Lisp ดึงดูดคนแบบนี้
- Lisp เป็นเครื่องมือที่ขยายความสามารถทางปัญญาของปัจเจกได้อย่างมาก
- มันทำให้คนคนหนึ่งสามารถนำไอเดียขนาดที่ยากจะรับมือได้ด้วยภาษาอื่นมาสร้างได้อย่างรวดเร็ว
- ดังนั้นจึงดึงดูดอย่างแรงต่อคนที่มีวิสัยทัศน์ใหญ่ คนที่ไม่ชอบความไร้เหตุผลของวิธีเดิม ๆ และคนที่อยากสร้างสิ่งต่าง ๆ มากมายได้ด้วยตัวคนเดียว
- การที่ชุมชน Lisp เคยเป็นผู้บุกเบิกในด้านต่าง ๆ เช่น garbage collection, list processing, personal computing และ windowing ก็เกี่ยวข้องกับลักษณะนี้
จุดอ่อนของชุมชน Lisp
- Lisp ทำให้การนำไอเดียไปสร้างจริงเป็นเรื่องง่ายเกินไป
- ผลก็คือท่าทีต่อไปนี้เกิดขึ้นได้ง่าย
- “มันทำงานบนสภาพแวดล้อมของฉัน”
- “ฉันเข้าใจก็พอแล้ว”
- “เอกสารและการจัดระเบียบค่อยว่ากันทีหลัง”
- ในความเป็นจริง ระบบนิเวศ Lisp มีเครื่องมือคล้ายกันอยู่มากมาย แต่บ่อยครั้ง:
- เอกสารไม่พอ,
- มีบั๊กมาก,
- การบำรุงรักษาหยุดชะงัก
- แต่ละคนสร้างทางแก้ของตนเองขึ้นมา แต่ไม่ถนัดในการพัฒนาให้กลายเป็นฐานร่วมที่มั่นคง
เปรียบเทียบกับฝั่ง C/C++
- ใน C/C++ การสร้างระบบขนาดใหญ่ด้วยตัวคนเดียวเป็นเรื่องยาก
- ดังนั้นโดยธรรมชาติจึงจำเป็นต้องมี:
- การทำงานร่วมกัน,
- การแบ่งงาน,
- การเขียนเอกสาร,
- การบำรุงรักษา
- กล่าวอย่างย้อนแย้ง ความไม่สะดวกของภาษากลับส่งเสริมความร่วมมืออย่างเป็นระบบ
- จากมุมมองของนายจ้าง นักพัฒนาธรรมดาหลายคนที่สื่อสารและส่งมอบงานต่อกันได้ ปลอดภัยกว่าหนึ่งอัจฉริยะที่ไม่มั่นคง
การปะทะกันระหว่างอุดมคติกับความเป็นจริง
- BBM มองเห็นความจอมปลอม ความไร้เหตุผล และการประนีประนอมของสถาบันและตลาดได้อย่างรวดเร็ว
- ปัญหาคือพวกเขาไม่ได้เตรียมพร้อมที่จะอดทนต่อสิ่งเหล่านั้นหรือใช้ประโยชน์จากมัน
- Lisp machine พยายามสร้างสิ่งที่ “ถูกต้อง” ทางเทคนิค แต่ละเลยความเป็นจริงของตลาดและแพลตฟอร์ม
- ผลคือความบริสุทธิ์ทางเทคนิคกลายเป็นความโดดเดี่ยวของระบบนิเวศ
- ผู้เขียนมองว่านี่เป็นกรณีสำคัญของความล้มเหลวของ Lisp
ภาวะซึมเศร้าและการปฏิเสธตัวเอง
- ในชุมชน Lisp มีทั้งความภาคภูมิใจอย่างแรงกล้าและความมองโลกในแง่ร้ายอย่างแรงกล้าอยู่ร่วมกัน
- แม้จะมั่นใจว่า Lisp ยอดเยี่ยมเพียงใด แต่ก็สิ้นหวังว่าในโลกจริง สุดท้ายเทคโนโลยีที่ง่ายกว่าและด้อยกว่าจะเป็นฝ่ายชนะ
- 「Lisp: Good News, Bad News, How to Win Big」ของ Richard Gabriel และ “Worse is Better” แสดงให้เห็นความเป็นสองด้านนี้ได้ดี
- แม้ปัญหาจะแก้ไขได้ แต่เมื่อเข้าสู่ช่วงตกต่ำ ทุกอย่างก็ดูเหมือนจบสิ้นไปแล้ว
สรุป
- ปัญหาของ Lisp ไม่ได้อยู่ที่ตัว Lisp เองเท่าใดนัก แต่อยู่ที่วิธีคิดและวัฒนธรรมที่รายล้อม Lisp
- วิสัยทัศน์อันยอดเยี่ยมและความเป็นต้นฉบับอย่างเดียวไม่อาจนำไปสู่ความสำเร็จได้
- หากต้องการเปลี่ยนสิ่งเหล่านั้นให้เป็นผลงานในโลกจริง จำเป็นต้องมีสิ่งต่อไปนี้
- การทำให้เสร็จสมบูรณ์
- การเขียนเอกสาร
- การทำงานร่วมกัน
- การบำรุงรักษา
- การประนีประนอมกับความเป็นจริง
- ท้ายที่สุด Lisp ไม่ใช่ภาษาที่ล้มเหลวเพราะข้อบกพร่อง แต่เป็นตัวอย่างของคนเก่งที่ไม่สามารถจัดระเบียบจุดแข็งของตนให้อยู่ในรูปแบบที่ยั่งยืนได้
- ดังนั้นคำตอบสุดท้ายของผู้เขียนจึงย้อนแย้ง: Lisp ไม่มีปัญหาอะไรเลย ปัญหาอยู่ที่ผู้คนสร้างอะไรขึ้นมาด้วยมันต่างหาก
ยังไม่มีความคิดเห็น