1 คะแนน โดย GN⁺ 2024-10-02 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

มีคนพูดกันมานานว่า Cobol "ตายแล้ว" แต่คุณปู่ของผมเคยเขียนถึงมัน

  • ในเดือนมิถุนายน 1992 คุณปู่ได้ตีพิมพ์บทความในนิตยสาร Technical Support เพื่อประกาศการตายของ Cobol
  • ตอนนั้นเขาใช้คำอย่าง ภาษาการเขียนโปรแกรมยุคที่ 4 (4GL) ซึ่งเป็นคำฮิตในยุคนั้น
  • Cobol อยู่รอดได้นานกว่าภาษา 4GL ส่วนใหญ่เสียอีก
  • สามารถดูบทความฉบับข้อความได้ในคลัง NaSPA: http://www.naspa.net/magazine/1992/t9206003.txt

คำว่า ตาย อาจมีได้หลายความหมาย Cobol อาจไม่ได้ตายจริง; มันอาจเป็นซอมบี้ก็ได้ แล้วอะไรบางอย่างจะตายแต่ยังไม่หายไปได้ไหม? ได้แน่นอน! Cobol เป็นตัวอย่างชั้นเยี่ยมของปรากฏการณ์นั้น COBOL คงไม่ได้เป็นรายเดียว; ร่องรอยของ Autocoder ก็น่าจะยังมีอยู่เช่นกัน Autocoder เป็นบรรพบุรุษของ COBOL ซึ่งคนอายุต่ำกว่า 45 ปีคงไม่เคยได้ยินชื่อ ไม่มีใครคงยืนยันอย่างจริงจังว่า Autocoder ยังไม่ตาย แต่ร่องรอยของมันก็น่าจะยังหลงเหลืออยู่

  • คุณปู่มีอารมณ์ขันแบบแห้ง ๆ

  • ครั้งหนึ่งผมเคยสวนมุกเฉียบคมของคุณปู่กลับได้ และคุณย่าภูมิใจมาก; ศิษย์กลายเป็นอาจารย์

  • สิ่งที่ทำให้ซอมบี้ Cobol ยังเดินต่อได้คือปัญหา Y2K

  • ปัญหา Y2K เป็นเรื่องใหญ่มาก และจำเป็นต้องฝึกโปรแกรมเมอร์ Cobol รุ่นใหม่

  • สิ่งนี้มีส่วนทำให้ Cobol อยู่ต่อได้นานขึ้นอีกหน่อย

  • ทุกวันนี้เราไม่ค่อยใช้คำว่า "ตายแล้ว" กับภาษาโปรแกรมอีกต่อไป

  • ภาษาที่มีฐานการติดตั้งขนาดใหญ่ไม่มีวันตายจริง

  • แม้โปรแกรมเมอร์รุ่นใหม่จะไม่เรียนมันแล้ว ภาษานั้นก็จะค่อย ๆ เลือนหายไปอย่างยาวนาน

  • คุณปู่เสียชีวิตเมื่อวันที่ 1 กันยายน 2024 ขณะอายุ 91 ปี

  • ตามทางการ สาเหตุการเสียชีวิตคือปอดบวม

  • คุณย่าเสียชีวิตในเดือนเมษายนของปีเดียวกัน และคุณปู่ได้ขอไม่รับการรักษา

สรุปโดย GN⁺

  • บทความนี้ให้มุมมองที่น่าสนใจเกี่ยวกับประวัติศาสตร์และความคงอยู่ของ Cobol
  • กล่าวถึงช่วงเวลาที่ Cobol กลับมาได้รับความสนใจอีกครั้งจากปัญหา Y2K
  • ชวนให้คิดว่าทำไมภาษาโปรแกรมจึง "ไม่ตาย" และยังคงอยู่ต่อไปได้
  • ภาษาที่มีลักษณะการใช้งานคล้าย Cobol ได้แก่ Java และ C++

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

 
GN⁺ 2024-10-02
ความคิดเห็นบน Hacker News
  • คำมั่นสัญญาของ COBOL คือทำให้ไม่จำเป็นต้องมีโปรแกรมเมอร์ ด้วยข้อความที่คล้ายภาษามนุษย์

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

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

    • Java ถูกใช้อย่างแพร่หลายในสภาพแวดล้อมองค์กร
    • อีก 30-40 ปีข้างหน้า Java ก็อาจกลายเป็นภาษาที่ผู้เกษียณยังคงดูแลรักษาอยู่
  • แบบสำรวจนักพัฒนาของ Stack Overflow มีข้อมูลเรื่องเงินเดือนเฉลี่ยและประสบการณ์ของ COBOL

    • ในปี 2023 มีผู้ตอบ 222 คน โดยมีประสบการณ์เฉลี่ย 19 ปี และเงินเดือน $75,500
    • ในปี 2024 จำนวนผู้ตอบใกล้เคียงกัน แต่ประสบการณ์เฉลี่ยลดลงเหลือ 17 ปี
    • Swift เพิ่งเปิดตัวมาเพียง 10 ปี แต่มีผู้ตอบที่มีประสบการณ์เฉลี่ย 11 ปี
  • คลาวด์คือเมนเฟรมยุคใหม่ แต่แย่กว่า

    • สามารถใช้ CICS เพื่อสร้างบริการที่น่าเชื่อถือมากและมีประสิทธิภาพสูงได้
    • แต่การใช้ AWS Lambdas ให้เรียกหากันภายในทรานแซกชันเดียวกันนั้นทำได้ยาก
  • ตอนทำงานกับระบบเมนเฟรมเมื่อ 20 ปีก่อน เคยได้ยินว่ามัน "เหลืออีก 18 เดือน"

    • ตอนนี้ระบบนั้นแข็งแกร่งยิ่งขึ้น และก็ยังได้ยินอยู่ว่า "เหลืออีก 18 เดือน"
    • ดูเหมือนว่าระบบนี้จะอยู่รอดนานกว่าฉัน
  • กำลังมองหาวิทยากรด้าน COBOL สำหรับงาน Carolina Code Conference 2025

    • ต้องการเซสชันเกี่ยวกับ COBOL เนื่องจาก GnuCOBOL มีอัปเดตล่าสุด
  • COBOL กำลังเปลี่ยนแปลงไปตามยุคสมัย

    • COBOL สมัยใหม่แตกต่างจาก COBOL ในยุค 1950 อย่างมาก
    • ถ้า Java ถูกเรียกว่า Algol-94 เราก็คงยังพูดกันว่าเรากำลังเขียนโปรแกรมด้วย Algol อยู่
  • COBOL เป็นภาษาที่ปลอดภัยด้านหน่วยความจำ เสถียร และอ่านเข้าใจง่ายกว่า Rust

    • แต่เพราะแทบไม่มีใครใช้ จึงถูกมองว่าเป็นภาษาที่ "ตาย" แล้ว
    • มีการเปรียบเทียบตัวอย่างโค้ดของ Rust และ COBOL
  • การถกเถียงจะต่างกันไปตามนิยามของเทคโนโลยีที่ "ตายแล้ว" กับ "ยังมีชีวิตอยู่"

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