2 คะแนน โดย GN⁺ 2025-12-25 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • Fabrice Bellard โปรแกรมเมอร์ชาวฝรั่งเศส เป็นหนึ่งในนักพัฒนาที่ทรงอิทธิพลที่สุดคนหนึ่งในช่วง 20 ปีที่ผ่านมา โดยเผยแพร่โปรเจ็กต์นวัตกรรมจำนวนมากในรูปแบบซอฟต์แวร์เสรี
  • ตั้งแต่วัยเด็ก เขาหมกมุ่นกับ อุปกรณ์อิเล็กทรอนิกส์และการเขียนโปรแกรมระดับล่าง และประสบความสำเร็จตั้งแต่อายุ 15 ปีด้วยการพัฒนาโปรแกรมบีบอัดไฟล์ปฏิบัติการ LZEXE
  • ต่อมาเขาได้รับการศึกษาวิศวกรรมอย่างรอบด้านที่ École Polytechnique พร้อมสร้างความเข้าใจอย่างลึกซึ้งเกี่ยวกับการคำนวณเชิงคณิตศาสตร์และสถาปัตยกรรมคอมพิวเตอร์
  • ผลงานเด่นของเขาได้แก่ FFmpeg, TinyCC, QEMU โดยเฉพาะ QEMU ที่กลายเป็นเทคโนโลยีหลักในด้าน virtualization และ processor emulation
  • เขาเป็นนักพัฒนาที่ได้รับการประเมินว่ายึดมั่นใน ปรัชญาซอฟต์แวร์เสรี โดยให้ความสำคัญกับความน่าสนใจทางเทคนิคและการแบ่งปันมากกว่าผลประโยชน์ทางการเงิน

ชีวิตช่วงต้นและการเริ่มต้นเขียนโปรแกรม

  • เกิดเมื่อปี 1972 ที่เมืองเกรอน็อบล์ ประเทศฝรั่งเศส และเติบโตที่มงเปอลีเย
    • เขาสนใจอุปกรณ์อิเล็กทรอนิกส์ตั้งแต่วัยเด็ก และเล่าว่าคำแรกที่พูดได้คือ “magnétophone(เครื่องบันทึกเทป)”
  • เริ่มเขียนโปรแกรมตอนอายุ 9 ปีด้วย เครื่องคิดเลขแบบตั้งโปรแกรมได้ TI-59
    • แม้จะมีข้อจำกัดด้านการแสดงผลและชุดตัวอักษร เขาก็เรียนรู้แนวคิดระดับสูงอย่างลูป และพัฒนาสัญชาตญาณด้านโค้ดระดับล่างไปพร้อมกัน
  • ตอนอายุ 11 ปี เขาเริ่มใช้ โฮมคอมพิวเตอร์ TI-99/4A และขยายการเขียนโปรแกรมด้วย TI BASIC
    • ด้วยโครงสร้างที่ป้อนคำสั่งได้เพียงหนึ่งคำสั่งต่อบรรทัด เขาจึงเปลี่ยนผ่านจากการเขียนโปรแกรมบนเครื่องคิดเลขสู่การเขียนโปรแกรมบนคอมพิวเตอร์ได้อย่างเป็นธรรมชาติ

LZEXE และความสำเร็จระยะแรก

  • เมื่ออายุ 15 ปี เขาซื้อ Amstrad PC1512 และเริ่มทำงานพัฒนาอย่างจริงจัง
  • เพื่อแก้ปัญหาข้อจำกัดด้านพื้นที่จัดเก็บ เขาพัฒนาโปรแกรมบีบอัดไฟล์ปฏิบัติการชื่อ LZEXE
    • เขียนอัลกอริทึม LZSS ใหม่ด้วยภาษาแอสเซมบลี 8086 เพื่อให้บีบอัดและคลายบีบอัดได้อย่างรวดเร็ว
    • โปรแกรมถูกแจกจ่ายผ่าน BBS และประสบความสำเร็จในทันที

การศึกษาที่ École Polytechnique

  • เข้าเรียนที่ École Polytechnique(X) ซึ่งเป็นสถาบันชั้นนำของฝรั่งเศส
    • เป็นหลักสูตรวิศวกรรม 5 ปี โดยรวมการรับราชการทหาร 1 ปี
    • ให้ความสำคัญกับ การคิดเชิงวิพากษ์และความสามารถข้ามสาขา ผ่านการศึกษาทั้งด้านทั่วไปและเทคนิคอย่างกว้างขวาง
  • Bellard ใช้กระบวนการเรียนรู้นี้เพื่อยืนยันความสำคัญของ สถาปัตยกรรมคอมพิวเตอร์และทฤษฎีการคำนวณ
    • เขาเน้นว่าความเข้าใจภาษาแอสเซมบลีและฮาร์ดแวร์เป็นสิ่งจำเป็น

งานวิจัยทางคณิตศาสตร์และการพัฒนาอัลกอริทึม

  • ในปี 1995 เขาเริ่มเข้าสู่งานวิจัยด้านอัลกอริทึมเชิงตัวเลขด้วยการนำ วิธีคูณ FFT ของ Pollard มาเขียนเป็นภาษา C
    • ใช้ FFT (Fast Fourier Transform) ในการคำนวณเชิงพีชคณิตเพื่อคำนวณค่า π ได้หลายล้านหลัก
  • ในปี 1997 เขาเผยแพร่ สูตรสำหรับคำนวณเลขฐานสองลำดับที่ n ของ π
    • ปรับปรุงให้เร็วกว่า Bailey–Borwein–Plouffe formula เดิม 43% ด้วยความซับซ้อน O(n²)

VReng และ TinyGL

  • ในปี 1998 เขาพัฒนา VReng(Virtual Reality Engine) เป็นโปรเจ็กต์นักศึกษา
    • เป็นเอนจินสำหรับสำรวจโลกเสมือน 3D บนพื้นฐานอินเทอร์เน็ตมัลติคาสต์
  • หลังจากนั้น เขาสร้าง TinyGL เพื่อปรับปรุงความไม่มีประสิทธิภาพของ OpenGL
    • เป็นตัวเรนเดอร์ 3D ขนาดเบาเพียง 40KB ที่เร็วกว่า Mesa มาก และไม่ขึ้นกับแพลตฟอร์ม

การถือกำเนิดของ FFmpeg

  • ในปี 2000 เขาเริ่มโปรเจ็กต์ FFmpeg ภายใต้นามแฝง “Gerard Lantau”
    • เป็นเครื่องมือที่รองรับ การเข้ารหัส, ถอดรหัส, สตรีมมิง และแปลง เสียงและวิดีโอ
    • ประกอบด้วย libavcodec (ไลบรารี codec) และ libavformat (ไลบรารีจัดการ container)
  • FFmpeg รองรับการแปลงระหว่างฟอร์แมตจำนวนมาก และถูกผนวกเข้าไปใน ซอฟต์แวร์มัลติมีเดียจำนวนมาก เช่น VLC

รางวัล IOCCC และ TinyCC

  • ในปี 2000 เขาชนะ International Obfuscated C Code Contest(IOCCC)
    • เขาสร้าง C compiler ขนาดต่ำกว่า 4KB และต่อมาพัฒนาเป็น TinyCC
    • TinyCC เป็นคอมไพเลอร์ขนาดเล็กมากที่เข้ากันได้กับ ANSI C99 และสามารถบิลด์ลินุกซ์เคอร์เนลได้ภายใน 15 วินาที
  • ผลงานที่ชนะครั้งที่สองในปี 2001 คือ โปรแกรมคำนวณจำนวนเฉพาะ ขนาด 475 ไบต์
    • ใช้อัลกอริทึมแบบอิง FFT เพื่อคำนวณจำนวนเฉพาะหลายล้านหลักได้อย่างรวดเร็ว

QEMU และนวัตกรรมด้าน virtualization

  • ในปี 2005 เขาเปิดตัว QEMU ซึ่งจำลองสถาปัตยกรรมโปรเซสเซอร์ด้วยซอฟต์แวร์
    • ใช้ dynamic translation เพื่อรวมบล็อกคำสั่งแล้วแปลงและแคชไว้ ทำให้ประสิทธิภาพดีขึ้น
    • ในบางกรณีสามารถทำความเร็วได้ เกือบเทียบเท่าระดับ native
  • ต่อมา QEMU ถูกนำไปใช้เป็นองค์ประกอบหลักของเทคโนโลยี virtualization สำคัญอย่าง VirtualBox, Xen, KVM

ปรัชญาซอฟต์แวร์เสรีและทัศนคติในการพัฒนา

  • Bellard เผยแพร่โปรเจ็กต์สำคัญทั้งหมดภายใต้ ไลเซนส์ซอฟต์แวร์เสรี
    • เขาให้ความสำคัญกับ ความน่าสนใจและประโยชน์ใช้สอย มากกว่าผลตอบแทนทางการเงิน และให้ความสำคัญกับการแบ่งปันซอร์สโค้ด
    • เขามุ่งเน้นไปที่ การพัฒนาอย่างแท้จริง มากกว่างานด้านธุรการหรือการสื่อสาร
  • เมื่อพูดถึงเหตุผลที่ท้าทายตัวเองกับหัวข้อที่หลากหลาย เขากล่าวว่า “ถ้าทำงานเดิมซ้ำ ๆ ก็จะน่าเบื่อ”

มุมมองต่อวิทยาการคอมพิวเตอร์และคำแนะนำ

  • เขาแบ่งวิทยาการคอมพิวเตอร์ออกเป็น การสำรวจเชิงปฏิบัติ (การประยุกต์ใช้) และ การสำรวจเชิงทฤษฎี (ทฤษฎีการคำนวณ)
    • และเน้นย้ำว่าการขยายขอบเขตของทั้งสองด้านเป็นเรื่องสำคัญ
  • เขาแนะนำให้นักพัฒนารุ่นใหม่เรียนรู้ ทฤษฎีพื้นฐานและความเข้าใจฮาร์ดแวร์
    • สำหรับการเรียนรู้อัลกอริทึม เขาแนะนำ 『The Art of Computer Programming』 ของ Donald Knuth
  • งานวิจัยที่เขากำลังทำอยู่ในเวลานั้นคือ การประมวลผลสัญญาณดิจิทัลโดยใช้โปรเซสเซอร์แบบมัลติคอร์ โดยเฉพาะโปรเจ็กต์ที่เกี่ยวข้องกับ Software Defined Radio

1 ความคิดเห็น

 
GN⁺ 2025-12-25
ความคิดเห็นบน Hacker News
  • เขาเป็นบุคคลระดับ GOAT อย่างไม่ต้องสงสัย แต่บทความนี้ดูเหมือนเขียนโดยคนที่ไม่ค่อยเข้าใจซอฟต์แวร์เอนจิเนียริง
    ตัวอย่างเช่น อธิบายการแคชการแปลโค้ดของ QEMU ว่าเป็น ‘อีมูเลเตอร์ตัวแรกที่ได้ประสิทธิภาพระดับเนทีฟ’ ทั้งที่จริงแล้ว เทคโนโลยี JIT มีมาก่อนหน้านั้นนานมาก

    • ยิ่งไปกว่านั้น โปรเซสเซอร์ Transmeta สมัยก่อนก็ใช้วิธีคล้ายกัน
      โดยใช้ แนวทางแบบหลายพาส ที่ให้คำสั่งวิ่งผ่านหลายรอบและค่อย ๆ ปรับให้เหมาะสมขึ้น และยิ่งใช้งานมากก็ยิ่งเร็วขึ้น
      แน่นอนว่านี่ไม่ได้ลดทอนความสำเร็จของ Bellard แต่ข้อเท็จจริงก็คือข้อเท็จจริง
  • การปล่อยทั้ง ffmpeg และ QEMU ภายในเวลา 5 ปี แถมยังได้รางวัล IOCCC ถึงสองครั้ง เป็นความสำเร็จที่บ้าคลั่งจริง ๆ

  • ชีวประวัติครั้งนี้มี ข้อมูลใหม่ เกี่ยวกับโปรแกรมเมอร์ระดับตำนานคนนี้มากกว่าบทความไหน ๆ ที่เคยเห็นมา

  • หลังจากนั้นเขายังทำ สถานีฐาน 5G บนฮาร์ดแวร์พีซี และ โปรเจ็กต์ที่เกี่ยวข้องกับ LLM อีกด้วย

    • นอกจากนี้ยังพัฒนา คอมไพเลอร์และสแตก ASN.1 ขึ้นมาเองด้วย
  • พูดตรง ๆ ว่าอดสงสัยไม่ได้ว่า Fabrice Bellard เริ่มใช้เครื่องมือเขียนโค้ด LLM หรือยัง
    ถ้าใช้จริง ผลิตภาพของเขาก็น่าจะสูงขึ้นไปอีก ซึ่งน่ากลัวพอสมควร
    เขาเคยทำ งานวิจัยการบีบอัด LLM มาแล้ว และส่วนใหญ่เขียนโค้ดด้วย C
    ถ้าเป็นคนที่ใช้ C มาหลายสิบปี ก็มักจะ จำและนำโค้ดกลับมาใช้ซ้ำ ได้อยู่แล้ว
    ดังนั้น LLM อาจไม่ได้ช่วยมากนัก
    ตรงกันข้าม ฉันคิดว่ามีโอกาสมากกว่าที่เขาจะ ฝึก LLM ของตัวเองจากโค้ดของตัวเอง — และอาจพัฒนาเป็นโปรเจ็กต์ปิดแบบเสียเงินเหมือน โปรเจ็กต์ LTE

    • ยังสงสัยว่า LLM ในปัจจุบันจะช่วยงาน ระดับล่างที่ต้องการประสิทธิภาพสูง แบบที่เขาทำได้จริงหรือไม่
    • อันที่จริงเขาเคยสร้างโปรเจ็กต์เกี่ยวกับ LLM ชื่อ ts_server มาแล้ว
    • ฉันคิดว่าเขาไม่น่าใช้ LLM
      โค้ดของเขา ประณีตและเป็นระบบ และต่างจากโค้ดที่ AI สร้างกันทั่วไปโดยสิ้นเชิง
      เขาเป็นคนที่ทำงานโดยมองเห็นโครงสร้างทั้งหมดของโปรแกรมอยู่ในหัว
      เพราะอย่างนั้นบางคนจึงเดาว่าเขาอาจมีหลายคนหรือไม่ก็ใช้ LLM แต่เขาคงหัวเราะกับคำพูดพวกนั้นอยู่
    • หรืออาจเป็น LLM ต่างหากที่ต้องไปถาม Bellard
    • เหมือนนักพัฒนาฝีมือเยี่ยมบางคน (mitsuhiko, Evan You ฯลฯ) ที่ใช้ LLM เป็น เครื่องมือเสริม Bellard ก็อาจใช้ในลักษณะนั้นเหมือนกัน
  • ช่วงหลังจากเปิดตัว MicroQuickJS เขาก็กลายเป็นคนที่ ต้องสร้างผลงานระดับตำนาน ไปแล้ว
    ผู้คนคาดหวังสิ่งยิ่งใหญ่จากเขาอยู่เสมอ

  • อดสงสัยไม่ได้ว่า Bellard จะ รวยแบบ antirez หรือเปล่า

  • (เป็นบทความจากปี 2009)

    • ในชื่อระบุว่าเป็นปี 2009 แต่ URL เป็น 2020 จึงเป็นไปได้ว่า เนื้อหาหลักอาจถูกอัปเดตภายหลัง