ฉบับแปลภาษาเกาหลีดูได้ที่ นี่

ตอนนี้ Guido ก็อายุมากขึ้นแล้ว เลยให้ความรู้สึกคล้ายบันทึกความทรงจำ
ดูเหมือนว่าน่าจะมีซีรีส์ออกมาอย่างต่อเนื่อง

สรุปบทสัมภาษณ์: ประวัติศาสตร์ยุคแรกของชุมชน Python กับ Thomas Wouters

เอกสารนี้เป็นบทสรุปของการสัมภาษณ์ที่ Guido van Rossum พูดคุยกับ Thomas Wouters เพื่อบันทึกเรื่องราวของผู้มีส่วนร่วมในชุมชน Python ยุคแรกก่อนปี 2015

1. ที่มาของการเริ่มต้นกับ Python

  • Thomas Wouters เริ่มเขียนโปรแกรมผ่าน LambdaMOO ซึ่งเป็นสภาพแวดล้อมหลายผู้ใช้แบบข้อความในช่วงต้นทศวรรษ 1990 และมี object model คล้ายกับ Python
  • เขาได้รู้จัก Python ครั้งแรกประมาณปี 1998~1999 จากคำแนะนำของคนรู้จัก และหลงใหลในโครงสร้างภาษาที่เข้าใจง่ายและสอดคล้องกับวิธีคิดของตน จนเริ่มมีส่วนร่วมในชุมชน Python-List บน Usenet

2. ผลงานสำคัญต่อการพัฒนาแกนหลักของ Python

  • ตัวดำเนินการกำหนดค่าแบบผสม (+=, -= เป็นต้น): เขารับช่วงต่อแพตช์ต้นแบบ (Proof of Concept) ของ Michael Hudson และพัฒนาจนเสร็จสมบูรณ์ ฟีเจอร์นี้ถูกรวมอยู่ใน Python 2.0 (PEP 203) และยังมีการถกเถียงเชิงลึกเกี่ยวกับ edge case ด้านการออกแบบ เช่น ข้อยกเว้นที่เกิดขึ้นเมื่อมีการเปลี่ยนแปลงลิสต์ภายในทูเพิล
  • ข้อเสนอ range literal: เขาเสนอไวยากรณ์ range literal ในรูปแบบอย่าง [start:end] แม้ท้ายที่สุดจะถูกปฏิเสธเพราะความกำกวมทางไวยากรณ์ที่อาจทำให้สับสนกับลิสต์ และข้อจำกัดด้านการปรับแต่งประสิทธิภาพ แต่เขาก็มองว่ากระบวนการทำให้ไอเดียนี้เป็นรูปธรรมและนำมาถกเถียงนั้นมีคุณค่าในตัวเอง

3. วิวัฒนาการของฟีเจอร์ภาษาและกระบวนการรีลีส

  • nested scopes และโมดูล __future__: ตอนที่ Jeremy Hylton นำ nested scopes เข้ามา มีการถกเถียงกันยาวนานเรื่องการทำให้โค้ดเดิมเสีย backward compatibility ในระหว่างการแก้ปัญหาข้อถกเถียงนี้ Tim Peters ได้เสนอแนวทาง from __future__ import ... และจึงมีการนำมาใช้
  • การเปลี่ยนแปลงนโยบายรีลีส: ในช่วงแรก แม้แต่ minor release ก็ยังมีการเพิ่มฟีเจอร์ที่ทำให้ความเข้ากันได้เดิมพังอยู่บ่อยครั้ง แต่เมื่อรับฟังคำวิจารณ์จาก Steve Holden และคนอื่น ๆ จึงมีการนำรอบรีลีส 18 เดือนมาใช้ ซึ่งกลายเป็นรากฐานของรอบรีลีสปีละครั้งในปัจจุบัน

4. บุคคลและโครงการสำคัญในชุมชนยุคแรก

  • Frederik Lundh (Effbot): เป็นผู้มีส่วนร่วมหลักของ regex engine, Tkinter และโมดูล XML (ElementTree)
  • ทีม Twisted: ก่อนยุคของ asyncio พวกเขาวางรากฐานของการเขียนโปรแกรมแบบ asynchronous ด้วยการใช้ callbacks และแนวคิด Deferred
  • บุคคลอื่น ๆ: มีการกล่าวถึงนักพัฒนาแกนหลักยุคแรกอย่าง Tim Peters, Jeremy Hylton, Marc-André Lemburg (ผู้มีส่วนร่วมด้าน Unicode) และคนอื่น ๆ

5. พื้นเพส่วนตัวและการก่อตั้ง PSF (Python Software Foundation)

  • การศึกษาและอาชีพ: Thomas Wouters ลาออกจากโรงเรียนมัธยม แต่ด้วยลักษณะของวงการไอทีในยุคนั้นที่ให้ความสำคัญกับความสามารถ เขาจึงสร้างเส้นทางอาชีพที่ประสบความสำเร็จได้ที่ XS4ALL, Google และที่อื่น ๆ
  • การเลือกตั้งคณะกรรมการ PSF: PSF เปิดตัวอย่างเป็นทางการที่งาน International Python Conference (IPC) ครั้งแรกในปี 2001 มีเกร็ดเล่าว่าในการเลือกตั้งคณะกรรมการ Thomas Wouters กับ Eric Raymond ได้คะแนนเท่ากัน และหลังการลงคะแนนใหม่ Thomas จึงได้รับเลือก
  • PyCon ยุคแรกและการรับรองสถานะองค์กรไม่แสวงหากำไร: PSF ต้องเผชิญความยากลำบากด้านการเงินและงานธุรการ เช่น การหาผู้สนับสนุนจำนวนมากเพื่อรักษาสถานะองค์กรไม่แสวงหากำไรแบบ 501(c)(3) ต่อมา PyCon ครั้งแรกที่จัดขึ้นที่ George Washington University ก็จัดขึ้นท่ามกลางงบประมาณและกำลังคนที่จำกัด พร้อมทั้งมีการลองผิดลองถูกในเรื่องอาหารและระบบลงทะเบียน

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น