ภาษาโปรแกรมโดย milo อ่าน 8 นาทีเรียบเรียงโดยมี AI ช่วย

ย้อนรอยภาษาคอมพิวเตอร์ที่ดึกดำบรรพ์ที่สุด: โค้ดที่ยังหลอกหลอนโลกปัจจุบัน

บางทีโค้ดที่คุณเขียนวันนี้อาจจะสวยงาม แต่ภาษาโปรแกรมที่มีอายุกว่า 60 ปีกลับยังคงคุมระบบการเงินและวิทยาศาสตร์ของโลกอยู่ ไปย้อนรอยกัน

สารบัญ

คุณเคยสงสัยไหมว่า เงินเดือนที่โอนเข้าบัญชีคุณทุกเดือน ทำงานผ่านระบบไหน? คำตอบอาจทำให้นักพัฒนาคนรุ่นใหม่ตกใจ เพราะระบบหลังบ้านของธนาคารระดับโลกหลายแห่ง ยังคงทำงานบนโค้ดที่เขียนขึ้นมาก่อนที่มนุษย์จะเดินทางขึ้นดวงจันทร์

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

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

ก่อนหน้าภาษาระดับสูง: ยุคแห่งเลขศูนย์และหนึ่ง

ก่อนที่จะมีภาษาที่มนุษย์อ่านออก การสั่งงานคอมพิวเตอร์ในยุคแรกเริ่มนั้นเป็นเรื่องของการต่อสายไฟและใช้สวิตช์เพื่อสร้างชุดคำสั่งเครื่อง (Machine Code) ที่เป็นเลขฐานสอง ก่อนจะพัฒนามาเป็นภาษาแอสเซมบลี (Assembly Language) ที่ใช้ตัวอักษรย่อแทนคำสั่ง เช่น MOV, ADD, JMP เพื่อให้จดจำได้ง่ายขึ้น

แต่ภาษาแอสเซมบลีก็ยังติดกับฮาร์ดแวร์อย่างแนบแน่น การย้ายโค้ดไปรันบนเครื่องคนละรุ่นเป็นเรื่องฝันร้าย นี่คือที่มาของการปฏิวัติภาษาระดับสูง (High-level language) ที่เราจะพูดถึงต่อไป

Fortran: ราชาแห่งวิทยาศาสตร์ที่ไม่เคยสละราชบัลลังก์

ในปี 1957 ขณะที่คอมพิวเตอร์ยังมีขนาดเท่าห้อง จอห์น แบ็คคัส (John Backus) และทีมงานจาก IBM ได้สร้างสิ่งที่เปลี่ยนโลกไปตลอดกาล นั่นคือ Fortran (FORmula TRANslation) ภาษาระดับสูงภาษาแรกของโลกที่ได้รับการพัฒนาอย่างแพร่หลาย

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

PROGRAM Hello
  PRINT *, "Hello, World!"
END PROGRAM Hello

อาจจะดูเรียบง่ายสำหรับยุคปัจจุบัน แต่ในยุคนั้นมันคือเวทมนตร์

ทำไม Fortran ยังไม่ตาย?

แม้จะมีอายุกว่า 60 ปี แต่ Fortran ยังคงเป็นภาษาหลักในการทำงานวิจัยระดับสูง เช่น การพยากรณ์อากาศ การจำลองสภาพอากาศ และการคำนวณทางฟิสิกส์ด้านอนุภาค รวมถึงการทำงานบนซูเปอร์คอมพิวเตอร์ขององค์การนาซา (NASA) สาเหตุหลักคือความเร็วในการประมวลผลทางคณิตศาสตร์ที่ยังไม่มีภาษาไหนเทียบได้ในระดับการคำนวณอาร์เรย์ขนาดมหึมา นักวิทยาศาสตร์ยังคงใช้ Fortran เพราะมันทำงานได้เร็วและเสถียรอย่างไม่น่าเชื่อ

COBOL: หัวใจของระบบการเงินโลก

ถ้า Fortran เป็นภาษาของนักวิทยาศาสตร์ COBOL (COmmon Business-Oriented Language) ก็คือภาษาของนักธุรกิจ ปลายทศวรรษ 1950 กรัซ ฮอปเปอร์ (Grace Hopper) และคณะกรรมการ CODASYL ได้พัฒนาภาษาที่ออกแบบมาเพื่อธุรกิจโดยเฉพาะ

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

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

PROCEDURE DIVISION.
    DISPLAY "Hello, World!".
    STOP RUN.

มหากาพย์ของระบบ Legacy

ปัจจุบันมีประมาณการว่าระบบธนาคารและสถาบันการเงินกว่า 43% ทั่วโลก ยังคงทำงานบน COBOL รวมถึงระบบประกันสังคมและระบบภาครัฐของหลายประเทศ มูลค่าธุรกรรมที่วิ่งผ่านโค้ด COBOL ในแต่ละวันมีมหาศาลกว่าตลาดหลักทรัพย์รวมกันทั้งโลก

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

LISP: บิดาแห่ง AI ที่อยู่ห่างไกลจากความตาย

ในขณะที่ภาษาอื่นมุ่งเน้นการคำนวณและธุรกิจ จอห์น แม็คคาร์ธี (John McCarthy) ได้สร้าง LISP (LISt Processing) ขึ้นในปี 1958 เพื่อใช้ในงานวิจัยปัญญาประดิษฐ์ (AI)

LISP มีเอกลักษณ์เฉพาะตัวคือการใช้วงเล็บ () จำนวนมาก และโครงสร้างข้อมูลแบบ List ทุกอย่างใน LISP คือ List แม้แต่ฟังก์ชันเองก็ตาม มันเป็นภาษาแรกที่รองรับการเรียกตัวเอง (Recursion) และการเขียนโปรแกรมเชิงฟังก์ชัน (Functional Programming)

(defun factorial (n)
  (if (<= n 1)
      1
      (* n (factorial (- n 1)))))

การกลับมาของเวทมนตร์โบราณ

ในยุคที่ AI และ Machine Learning กำลังเป็นกระแส หลายคนอาจไม่รู้ว่ารากฐานของมันมาจาก LISP แม้ว่า Python จะครองตำแหน่งภาษายอดนิยมสำหรับ AI ในปัจจุบัน แต่แนวคิดของ LISP ยังคงมีอิทธิพลอย่างมาก ภาษาสมัยใหม่อย่าง Clojure หรือแม้แต่ฟีเจอร์บางอย่างใน JavaScript และ Python ก็ยืมแนวคิดจาก LISP มาใช้

บริษัทใหญ่ๆ อย่าง Grammarly หรือ ITA Software (ที่ถูก Google ซื้อกิจการ) ยังคงใช้ LISP ในส่วนของระบบประมวลผลภาษาธรรมชาติและการจองตั๋วเครื่องบิน เพราะมันจัดการกับข้อมูลที่ซับซ้อนและเปลี่ยนแปลงได้ดินามิกได้ดีกว่าภาษาอื่น

ALGOL: รากเหง้าของภาษายุคใหม่

ถ้าคุณเคยเขียน C, Java, C# หรือ JavaScript คุณกำลังใช้ลูกหลานของ ALGOL (ALGOrithmic Language) ซึ่งเกิดขึ้นในปี 1958 และพัฒนาเป็น ALGOL 60

ALGOL อาจจะไม่ได้รับความนิยมในเชิงพาณิชย์เท่า COBOL หรือ Fortran แต่มันคือภาษาที่วางโครงสร้างพื้นฐานของวงการโปรแกรมมิ่ง เช่น การใช้ Block structure (เริ่มต้นและจบด้วย begin และ end) การประกาศตัวแปรแบบ Local และ Global รวมถึงการสร้าง BNF (Backus-Naur Form) ซึ่งเป็นวิธีมาตรฐานในการอธิบายไวยากรณ์ของภาษาโปรแกรมจนถึงทุกวันนี้

BEGIN
  INTEGER i;
  FOR i := 1 STEP 1 UNTIL 10 DO
    print(i);
END

แม้ ALGOL จะเป็นเหมือนเครื่องจักรที่ถูกเก็บไว้ในพิพิธภัณฑ์ แต่ดีเอ็นเอของมันยังไหลเวียนอยู่ในเลือดของภาษาโปรแกรมยุคใหม่แทบทุกภาษา

ทำไมภาษาเก่าเหล่านี้จึงปฏิเสธความตาย?

เราอาจสงสัยว่า ด้วยเทคโนโลยีที่ก้าวล้ำ ทำไมเราไม่เปลี่ยนระบบเก่าๆ เหล่านี้ทิ้งแล้วใช้ภาษาใหม่แทน คำตอบสั้นๆ คือ มันยากและเสี่ยงเกินไป

  1. ความเสถียรสูงลิ่ว: โค้ดเหล่านี้ถูกทดสอบมาแล้วหลายสิบปี บั๊กต่างๆ ถูกแก้จนหมดสิ้น มันทำงานได้ถูกต้อง 100% ในสภาพแวดล้อมที่ควบคุมได้
  2. ต้นทุนการเปลี่ยนถ่ายมหาศาล: การเขียนระบบธนาคารใหม่ด้วยภาษาสมัยใหม่อาจมีค่าใช้จ่ายหลักล้านหรือหลักพันล้านบาท และมีความเสี่ยงที่ระบบใหม่จะมีบั๊กที่ส่งผลกระทบต่อลูกค้านับล้านคน
  3. ประสิทธิภาพเฉพาะทาง: Fortran ยังเร็วกว่าในการคำนวณอาร์เรย์ขนาดใหญ่ ในขณะที่ COBOL จัดการธุรกรรมทางการเงินที่ซับซ้อนได้อย่างแม่นยำ

บทสรุปและการต่อยอด

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

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

คุณคิดว่าในอีก 50 ปีข้างหน้า ภาษาโปรแกรมยอดฮิตอย่าง Python หรือ JavaScript จะยังคงอยู่และขับเคลื่อนโลกเหมือนอย่างที่ COBOL และ Fortran ทำอยู่วันนี้หรือไม่? มาแลกความคิดเห็นกันได้เลย!

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

พบข้อมูลที่ไม่ถูกต้องหรือคลาดเคลื่อน?เข้าสู่ระบบเพื่อทักท้วง
บทความนี้เป็นอย่างไร?

ยังไม่มีความคิดเห็น — มาเป็นคนแรกกันเถอะ!