“เรามาที่นี่ได้ยังไงโดยที่เราต้องการโปรแกรมเมอร์ภาษาโคบอลจริงๆ” ถาม ฟิล เมอร์ฟี่ ผู้ว่าการรัฐนิวเจอร์ซีย์ในงานแถลงข่าวเมื่อเร็ว ๆ นี้
สารบัญ
- ฟอร์ทราน
- เอด้า
- ปาสคาล
- พื้นฐาน / วิชวลเบสิก
- ภาษาโคบอล
ต้องเผชิญกับจำนวนที่ไม่เคยเกิดขึ้นมาก่อน การว่างงาน แอปพลิเคชันของรัฐต้องขยายแพลตฟอร์มการเรียกร้องการว่างงานอายุ 40 ปีทันที - ยกเครื่อง ซึ่งทำให้เกิดการค้นหาโปรแกรมเมอร์ที่คุ้นเคยกับภาษาการเขียนโค้ดที่มีอายุหลายสิบปีอย่างบ้าคลั่งในทันที ภาษาโคบอล
วิดีโอแนะนำ
ไม่ใช่แค่นิวเจอร์ซีย์เท่านั้นที่มีปัญหานี้ ระบบการธนาคาร การป้องกัน และระบบปัญญาประดิษฐ์ของโลกจำนวนมากต่างใช้ภาษาการเขียนโปรแกรมที่ได้รับความนิยมเมื่อ Apple หมดโรงรถ
อุตสาหกรรมเทคโนโลยีมีความสนใจในสิ่งใหม่และล้ำหน้า แต่ถ้าไม่ใช่สำหรับภาษาเขียนโค้ดโบราณอย่าง COBOL Ada, Pascal และ Fortran, อุตสาหกรรมสินเชื่อ, องค์กรวิจัยทางวิทยาศาสตร์ และระบบการป้องกันจำนวนมาก จะต้องประสบกับเสียงกรี๊ด หยุด. กล่าวอีกนัยหนึ่ง หากไม่มีโค้ดเก่าๆ ทั้งหมดนี้ เราก็จะแย่แล้ว
ภาษาโปรแกรมที่มีอายุกว่า 50 ปี ยังคงคำนวณธุรกรรมและสถิตินับล้านรายการ และทำหน้าที่เป็นแกนหลักสำหรับระบบที่โลกสมัยใหม่ต้องพึ่งพา ตัวอย่างเช่น ตู้เอทีเอ็มมากกว่า 95 เปอร์เซ็นต์และธนาคาร 40 เปอร์เซ็นต์ใช้รหัส COBOL ตามข้อมูลปี 2017
รายงานของรอยเตอร์.ตัวทำตารางโบราณหลายตัวยังคงทำหน้าที่เฉพาะได้ดีมาก นอกจากนี้ยังมีผู้บริหารธุรกิจจำนวนมากที่ไม่ต้องการแยกซอฟต์แวร์ที่ผ่านการทดสอบตามเวลาซึ่งมีความสำคัญต่อ ธุรกิจของบริษัท ดังนั้นแทนที่จะยกเครื่องและปรับปรุงให้ทันสมัย พวกเขาเพียงแค่แก้ไขโค้ดเก่าและหวังว่าจะได้ ดีที่สุด.
การต่อสู้กับเทคโนโลยีโบราณไม่ใช่ปรากฏการณ์ใหม่ ตัวอย่างเช่น, แคลิฟอร์เนีย ได้ทุ่มเงินหลายร้อยล้านดอลลาร์ในการพยายามอัปเดต DMV และเทคโนโลยีบัญชีเงินเดือน อย่างไรก็ตาม การแพร่ระบาดในปัจจุบันและคลื่นลูกการว่างงานที่เกิดขึ้นได้แสดงให้เห็นว่าโครงสร้างพื้นฐานซอฟต์แวร์ของอเมริกากำลังพังทลายลงเช่นเดียวกับโครงสร้างพื้นฐานทางกายภาพ
ต่อไปนี้เป็นภาษา "โบราณ" ห้าภาษาที่โลกของเราขึ้นอยู่กับมากกว่าที่คุณคิด และเหตุใดจึงอาจทำให้คุณกังวลเล็กน้อย
ฟอร์ทราน
หากไม่ใช่เพราะ Fortran ซูเปอร์คอมพิวเตอร์และโมเดลจำนวนมากที่เราใช้สำหรับสิ่งต่างๆ เช่น การพยากรณ์อากาศ ฟิสิกส์ดาราศาสตร์ และการวิเคราะห์ทางสถิติระดับสูงก็จะใช้งานไม่ได้
Fortran (ย่อมาจาก Formula Translation) สร้างขึ้นโดย IBM ในปี 1950 เป็นหนึ่งในภาษาระดับสูงกลุ่มแรกๆ ที่ ใช้คำแทนตัวเลขและทำให้ผู้เขียนโค้ดสามารถเขียนโปรแกรมได้เร็วกว่าการใช้เครื่องจักรถึง 500% รหัส. ปัจจุบันมีนักพัฒนาไม่มากนักที่เรียนรู้ภาษานี้
“ฉันใช้ Fortran ตลอดเวลา แค่ไม่เคยคิดถึงมันเลย” James Howard นักวิทยาศาสตร์ข้อมูลที่ Johns Hopkins Applied Physics Laboratory กล่าว แม้ว่า Howard จะไม่ได้เขียนโปรแกรมในภาษามาหลายปีแล้ว แต่แอปพลิเคชันของเขาจะเข้าถึงไลบรารีหลักของ Fortran เป็นประจำ สร้างขึ้นในช่วงต้นทศวรรษที่ 70 ได้รับการดูแลอย่างดีและ “รวดเร็วจนมองไม่เห็น”
ครั้งสุดท้ายที่ Howard ต้องเขียนโปรแกรม Fortran คือเมื่อประมาณ 10 ปีที่แล้ว เขาทำงานที่ Federal Reserve และจำเป็นต้องย้ายข้อมูลระหว่างสองแอพ อันที่เขียนด้วยภาษา C และอีกอันใน Fortran โปรแกรมหยุดการสื่อสารเนื่องจากผู้จำหน่ายหยุดให้บริการไลบรารี Fortran
โปรแกรมเมอร์วัย 40 ปีคนนี้จำอะไรบางอย่างที่เขาเคยอ่านตอนเด็กๆ ได้ ว่าโครงสร้างการเรียกข้อมูลสำหรับภาษาโปรแกรม C นั้นตรงกันข้ามกับของ Fortran เขาเขียนสคริปต์ง่ายๆ เพื่อพลิกคำสั่ง และ voila ธนาคารกลางสหรัฐก็กลับมาดำเนินธุรกิจอีกครั้ง
เอด้า
โปรแกรมเมอร์ของรัฐบาลพึ่งพาโค้ดเบส Ada ที่ค่อนข้างคลุมเครือเมื่อพัฒนาระบบที่ต้องการความน่าเชื่อถือ เช่น ระบบการป้องกันและความปลอดภัย มีอะไรตั้งโปรแกรมไว้ในนั้นกันแน่? นั่นเป็นความลับของรัฐบาล แต่ NASA และ Boeing ต่างก็ใช้โค้ดที่ใช้ Ada ในช่วงไม่กี่ปีที่ผ่านมาเพื่อตั้งโปรแกรมดาวเทียมและเครื่องบิน
กระทรวงกลาโหม (DOD) ดูแลการพัฒนาของ Ada ในปี 1970 เพื่อลดจำนวนภาษาโปรแกรมที่กองทัพใช้ ซึ่งในขณะนั้นมีมากกว่า 400 ภาษา Ada ถูกสร้างขึ้นเพื่อให้มีความน่าเชื่อถืออย่างไม่ต้องสงสัยในสถานการณ์ความเป็นหรือความตาย และเสริมการป้องกันข้อผิดพลาดของโปรแกรมเมอร์ แม้ว่าภาษาดังกล่าวจะถูกจัดส่งในปี 1980 แต่สภาคองเกรสไม่ได้กำหนดให้มีการใช้ภาษานี้ในระบบของรัฐบาลทั้งหมดจนกระทั่งปี 1995 สองปีต่อมา กระทรวงกลาโหมได้ละทิ้งคำสั่งดังกล่าว โดยคิดว่าจะมีราคาถูกกว่าและยืดหยุ่นกว่าในการใช้ระบบที่ทันสมัยและมีอยู่อย่างกว้างขวาง แต่ทุกวันนี้ก็ยังใช้อยู่
ปาสคาล
โปรแกรมเมอร์หลายคนมองว่า Pascal เป็นภาษาโปรแกรมที่เกือบจะตายไปแล้ว แต่มันก็ยังคงดำเนินต่อไปในหลายวิธี “เชื่อหรือไม่ มันยังคงเป็นภาษาที่ได้รับความนิยมมากในหลายส่วนของโลก แต่ในสหรัฐอเมริกา คุณอาจ งั้นก็พูดภาษาละตินสิ” Dave Hatter ซึ่งใช้เวลาสามปีในบริษัทประกันภัยขนาดใหญ่เพื่อช่วยอัปเดต a กล่าว โค้ดหลายล้านบรรทัดที่ประเมินว่ากรมธรรม์มีค่าใช้จ่ายเท่าไรและจ่ายไปเท่าไร
โปรแกรมเก่าๆ เหล่านี้จำนวนมากเขียนขึ้นก่อนที่ความกังวลในปัจจุบันเกี่ยวกับการละเมิดความปลอดภัยจะมีข้อมูลกรรมสิทธิ์ที่ละเอียดอ่อน Hatter ซึ่งปัจจุบันทำงานเป็นเทคโนโลยีความปลอดภัยทางไซเบอร์ คิดว่าโปรแกรมต่างๆ อาจค่อนข้างปลอดภัยเพียงเพราะ "ความปลอดภัยจากความสับสน" — นักเขียนโค้ดรุ่นเยาว์ไม่รู้ว่าจะทำอย่างไรกับโค้ดที่มีอายุหลายสิบปี “แฮ็กเกอร์อายุ 15 ปีไม่รู้ว่าจะทำงานกับเมนเฟรม IBM 390 บางประเภทที่มีภาษาโคบอลได้อย่างไร” เขากล่าว “ตอนนี้ฉันไม่ได้บอกว่าพวกเขาไม่สามารถเรียนรู้ได้ แต่พวกเขาจะไม่รู้”
ปาสคาลเป็นพื้นฐานของระบบปฏิบัติการ Apple ยุคแรกๆ และ Delphi ซึ่งเป็นผู้สืบทอดของภาษายังคงมีผู้สนับสนุนที่แข็งแกร่ง ในความเป็นจริง Skype ซึ่งเป็นหนึ่งในแอปพลิเคชันการสนทนาทางวิดีโอตัวแรก ๆ ที่ได้รับความนิยมและใช้งานอย่างแพร่หลายนั้นเขียนขึ้นใน Delphi
พื้นฐาน / วิชวลเบสิก
BASIC ไม่ได้อยู่ในอันดับต้นๆ ของรายการอย่างแน่นอนเมื่อพูดถึงภาษาที่ผู้คนใช้ในปี 2020 แต่แอปพลิเคชันสมัยใหม่จำนวนมากที่เราใช้งานอยู่นั้นคงอยู่ไม่ได้หากไม่มีมัน ตัวอย่างเช่น หากคุณเคยตั้งโปรแกรมมาโคร Excel แสดงว่าคุณใช้รูปแบบ BASIC
ย่อมาจากรหัสคำสั่งสัญลักษณ์อเนกประสงค์สำหรับผู้เริ่มต้น BASIC เปิดตัวในปี 1963 ที่วิทยาลัย Dartmouth เพื่อเป็นแนวทางในการสอน ผู้ชมทั่วไปจะทราบถึงทฤษฎีและความสามารถของการเขียนโปรแกรม — จุ่มตัวลงไปในน้ำก่อนจะเข้าสู่ภาษาที่แข็งแกร่งยิ่งขึ้นเช่น ฟอร์ทราน. ความนิยมของ BASIC เพิ่มขึ้นพร้อมกับคอมพิวเตอร์ส่วนบุคคล เช่น คอมพิวเตอร์ Apple, IBM และ Atari ต่างก็มีเวอร์ชันของตัวเอง
ในช่วงกลางทศวรรษ 1980 ผู้เนิร์ดคอมพิวเตอร์ที่เรียนรู้ด้วยตนเองไม่ค่อยสนใจเรื่อง BASIC และสนใจโปรแกรมของบุคคลที่สามมากขึ้น จากนั้น Microsoft ได้เปิดตัว Visual Basic ในปี 1991 ซึ่งไม่ใช่การอัปเดตของ BASIC อย่างแน่นอน แต่ใช้คำสั่งและโครงสร้างเดียวกันบางส่วน และมีอินเทอร์เฟซกราฟิกที่ดีกว่า จากนั้นธุรกิจจำนวนมากก็ใช้ภาษานี้ในการเขียนโปรแกรมทั้งเล็กและใหญ่ แม้ว่า Microsoft จะบอกว่าได้หยุดการสนับสนุน Visual Basic 6 (เวอร์ชันล่าสุด) ในปี 2008 แล้ว แต่ภาษานี้ยังคงมีผู้ใช้จำนวนมาก ตรวจสอบ ดัชนีทิโอเบ (ซึ่งชาร์ตภาษาโปรแกรมยอดนิยมที่สุด): VB ยังอยู่ใน 10 อันดับแรก!
ภาษาโคบอล
“ฉันจะบอกว่ามากกว่า 90% ของคนที่เราเห็นมีภาษาโคบอลเป็นส่วนสำคัญของสิ่งที่พวกเขาเขียน” Brandon Edenfield ผู้ซึ่งอัปเดตและเปลี่ยนแอปรุ่นเก่าสำหรับ ระบบที่ทันสมัย และได้ช่วยแก้ไขรหัสสำหรับตลาดหลักทรัพย์นิวยอร์กและสิงคโปร์ “บริษัทใหญ่ๆ ใดๆ ก็ตามที่คุณนึกถึงอาจมีสิ่งเหล่านี้ในปริมาณที่ไม่ดีต่อสุขภาพ”
COBOL เป็นตัวย่อสำหรับ Common Business-Oriented Language เปิดตัวในปี 1959 โดยมุ่งเน้นไปที่งานการประมวลผลข้อมูล เช่น การติดตามงบประมาณ ธุรกรรมทางธนาคาร และการบัญชีเงินเดือน เดิมทีกระทรวงกลาโหม (DOD) ออกแบบภาษาให้เป็นโครงการหยุดชั่วคราว จากนั้นกระทรวงกลาโหมกำหนดให้ผู้ผลิตคอมพิวเตอร์รวมภาษาโคบอลไว้ในเครื่องที่พวกเขาขาย และภาษาก็แพร่กระจายอย่างรวดเร็วในอีกไม่กี่ทศวรรษข้างหน้า ตู้เอทีเอ็มมากกว่า 95% และธนาคาร 40% ยังคงใช้รหัส COBOL ตามข้อมูลปี 2017 รายงานของรอยเตอร์.
การเขียนโปรแกรมส่วนใหญ่นี้ใช้งานผ่านคอมพิวเตอร์เมนเฟรม และระบบสมัยใหม่ได้ย้ายไปยังระบบคลาวด์ ดังที่สถานการณ์ของรัฐนิวเจอร์ซีย์แสดงให้เห็น นักพัฒนาที่รู้วิธีรักษาโค้ดภาษาโคบอลนั้นกำลังหมดวัยทำงานหรือเกษียณแล้ว
บริษัทที่ปรับปรุงโปรแกรมเหล่านี้ให้ทันสมัยมักจะดำเนินการด้วยวิธีที่แตกต่างกันสองสามวิธี
“ผู้รวมระบบรายใหญ่จะโยนเนื้อหาจำนวนมากไปที่โค้ด พวกเขาจะนั่งลง ดูมัน แล้วเขียนมันใหม่” เอเดนฟิลด์กล่าว แนวทางดังกล่าวมักเป็นวิธีที่เสี่ยงที่สุด ใช้เวลานาน และมีค่าใช้จ่ายสูง โดยเฉลี่ยแล้ว งานเปลี่ยนแพลตฟอร์มขนาดใหญ่ที่เขียนโค้ดด้วยมืออาจใช้เวลา 3 ถึง 10 ปี และอาจมีค่าใช้จ่ายหลายร้อยล้านดอลลาร์
Edenfield แนะนำโซลูชันอัตโนมัติและบอกว่าขั้นตอนแรกเชิงตรรกะอาจเป็นเพียงการย้ายโค้ดออกไป COBOL เวอร์ชันล้าสมัยไปเป็นเวอร์ชันปัจจุบัน ซึ่งจะทำให้หลายระบบสามารถเปลี่ยนไปใช้เวอร์ชันสมัยใหม่ได้ เซิร์ฟเวอร์ เขาเปรียบเสมือนการอัปเดตเครื่องกับการแปลภาษาฝรั่งเศสเป็นภาษาอังกฤษ: “พื้นฐานของสิ่งที่พูดนั้นได้รับการแปลอย่างสมบูรณ์แบบ คุณเพียงแค่ต้องแก้ไขไวยากรณ์ของการใช้ถ้อยคำเท่านั้น” วิธีการดังกล่าวยังช่วยลดเวลาและค่าใช้จ่ายในการอัปเดตลงได้ เขากล่าวระหว่างหกถึง 24 เดือน
จะถูกมั้ย? มันจะถูกกว่า โครงการ Modern Systems โดยทั่วไปมีราคาตั้งแต่ 200,000 ถึง 10 ล้านเหรียญสหรัฐ Edenfield อธิบายว่าส่วนใหญ่ของโครงการไม่ได้แปลโค้ด แต่เป็นการทดสอบเพื่อให้แน่ใจว่าทำทุกอย่างถูกต้อง
สาเหตุที่การอัปเดตเหล่านี้ไม่เกิดขึ้น
“ไม่มีใครได้ยินเรื่องนี้มาก่อนเพราะมันไม่ใช่หัวข้อที่เซ็กซี่ และผู้คนมักจะไม่พยายามพูดถึงเสื้อผ้าสกปรกที่พวกเขามี” เขาอธิบาย ผู้บริหารด้านไอทีก็มีนิสัยชอบเตะกระป๋องทิ้งไป
“ฉันขอพนันได้เลยว่ารัฐนิวเจอร์ซีย์จะให้ความสนใจกับปัญหานี้ในตอนนี้ แต่ฉันก็ขอเดิมพันกับคุณด้วยว่าเพื่อนร่วมงานครึ่งหนึ่งของพวกเขาจะคิดว่ามันจะไม่เกิดขึ้นกับพวกเขา 'ไม่ใช่ฉัน'”