การเรียนรู้ภาษาโคบอลยังคงสมเหตุสมผลหรือไม่?
การเรียนรู้ภาษาโคบอลยังคงสมเหตุสมผลหรือไม่?
คำตอบ:
ฉันไม่คิดอย่างนั้นเว้นแต่คุณจะอยู่ในตลาดเฉพาะที่ซึ่ง COBOL ยังคงอยู่
ไม่ใช่แน่นอน ภาษาโคบอลเป็นภาษาที่ตายแล้ว หรือมันคืออะไร?
ปัญหาในมุมมองนั้นคือโปรแกรมเมอร์ในไซต์เช่นนี้มักจะทำงานร่วมกับ บริษัท ที่ใช้เทคโนโลยีขั้นสูงใช้งานได้อย่างรวดเร็ว สำหรับพวกเขาแล้วภาษาโคบอลเป็นภาษาตาย - มันไม่มีที่ไหนที่จะเห็น ยังไม่ได้รับในขณะนี้ 'เป็นจริง
แต่ภาษาโคบอลไม่ได้มีไว้สำหรับพวกเขา อุตสาหกรรมซอฟต์แวร์มีมากกว่านี้ คอมพิวเตอร์ไม่ได้ถูกคิดค้นขึ้นสำหรับผู้ที่มีความต้องการอย่างไม่มีเหตุผลสำหรับการอัพเกรดและแทนที่เครื่องเก่าด้วยใหม่ตลอดเวลา พวกเขาทำเพื่อวัตถุประสงค์ทางธุรกิจ
คุณต้องการเห็น COBOL ไหม? ไปที่ บริษัท ที่ดำเนินการด้านเงินเดือนหรือจัดการการบรรทุกสินค้าหรือจัดส่ง (เหมือนในเรือ) หรือจัดการบัญชีธนาคารของคุณ มีระบบโค้ดขนาดใหญ่ที่มองไม่เห็นซึ่งผู้ใช้ส่วนใหญ่มองไม่เห็นและส่วนใหญ่ของพวกเขาไม่เคยคิดถึงมันแม้ว่าพวกเขาจะพบมันในทางใดทางหนึ่งหรือทุกวัน (ATM?)
ไม่มันยังไม่ตาย แต่มันเป็น "มรดก" แน่นอน ... หรือว่ามัน?
อีกครั้งขึ้นอยู่กับว่าคุณมองอย่างไร ทุกวันนี้ผู้คนจำนวนมากจะใช้ Java, C, หรือสิ่งอื่น ๆ แทนภาษาโคบอล, เขียนใหม่ตั้งแต่เริ่มต้น ... แนะนำข้อบกพร่องใหม่ตามที่พวกเขาไปตามธรรมชาติ ไม่ได้หมายความว่า COBOL ไม่มีข้อบกพร่องและนิสัยใจคอ มันทำเช่นเดียวกับภาษาถัดไป แน่นอนมันไม่ แต่ใน "COBOL คูณเวลา" บริษัท ที่ดำเนินการบั๊กอย่างจริงจังมากกว่าปกติ (ประกัน, ธนาคาร) มักจะสร้างรหัสคุณภาพสูงขึ้นด้วยกลุ่มบริการคุณภาพพิเศษ วันนี้มีกำหนดเวลาที่เวลาและงบประมาณจะชนะเหนือคุณภาพเสมอ นอกจากนี้ระบบเหล่านี้ได้รับการพัฒนามาเป็นเวลานานกว่าเมื่อเทียบกับตอนนี้
หากซอฟต์แวร์บางตัวทำงานมานานกว่า 30 ปีแรงจูงใจในการเปลี่ยนจะอยู่ที่ไหน บริษัท ทั้งหมดไปเพราะพวกเขาเพิกเฉยต่อคำกล่าวเดิมที่ว่า"ถ้ามันไม่พังก็ไม่ต้องแก้ไข" หลายคนพยายามที่จะเขียนสิ่งใหม่ ... จากนั้นการเขียนครั้งแรกจะมีค่าใช้จ่ายสูงมากและอย่างที่สองจะมีค่าใช้จ่ายมากขึ้น ... และไม่มีการปรับปรุงใหม่เพื่อที่จะแทนที่ อย่างที่ฉันพูดอุตสาหกรรมนี้มีการเผาไหม้ที่รวดเร็วและมีแนวโน้มที่จะลืมได้อย่างรวดเร็ว
ในยุค 70 COBOL ตายหรือตายเร็ว ๆ นี้ C / C ++ กำลังจะปกครอง จากนั้นอีกครั้งในช่วงต้นยุค 80 ปาสกาลก็เข้ายึดครอง จากนั้นใน 90s มันเป็น Java เป็นภาษา ...
ลองนึกถึง Unisys Mapper, dBase, Clipper, Cold fusion ... ผู้คนยังจำสิ่งเหล่านั้นได้หรือไม่? แต่ละคนจะเป็นผู้ขุดหลุมฝังศพของโคบอล
การคำนึงถึงสิ่งนั้นและความจริงที่ว่ามันยอดเยี่ยมสำหรับการประมวลผลธุรกรรมจำนวนมากการประมวลผลแบบแบทช์หรือการบันทึก / การประมวลผลเชิงธุรกรรมและหนึ่งนั้นสามารถรวบรวม (ไม่มีข้อผิดพลาด) รูทีนย่อยที่เขียนอายุ 30 ปี จาก COBOL.NET ที่มีการจัดการควรจะไปใช้ Windows และ. NET ฉันมีปัญหาในการค้นหาการแทนที่ที่เหมาะสมสำหรับมัน (ฉันยังมีปัญหาในการค้นหาเทคโนโลยีของ Microsoft ซึ่งกินเวลานานกว่าทศวรรษ)
ใช่โค้ดภาษาโคบอลใหม่กำลังถูกเขียนในวันนี้ เพียงแค่ต้องรู้ว่าจะมองที่ไหน
สำหรับคนที่หัวเราะที่ COBOL, IMHO มันเหมือนกับการหัวเราะที่ปิรามิดแห่งอียิปต์พวกเขาอยู่ที่นั่นจาก 5,000 ปีและพวกเขาจะยังคงอยู่ที่นั่นในอีก 5000 ปีข้างหน้าในขณะนี้ที่อยู่อาศัยของ "hello world" ที่ต้องการ แทนที่ถูกลืมในเดือนหน้า
ดังนั้นโปรแกรมเมอร์ภาษาโคบอลทั้งหมดเหล่านั้นอยู่ที่ไหน?
อาสำหรับที่นี่ถูอยู่ สิ่งหนึ่งคือพวกเขาส่วนใหญ่ไม่มีพื้นฐานด้านวิทยาศาสตร์คอมพิวเตอร์ หลายคนไม่ได้เป็นโปรแกรมเมอร์มืออาชีพ (เช่นในผู้สำเร็จการศึกษาในมหาวิทยาลัยจากโปรแกรม CS / SE) ส่วนใหญ่พวกเขาเป็นคนที่อยู่ในช่วงปลายยุค 30-50 จากความเชี่ยวชาญทุกด้านได้รับการฝึกฝนโดย บริษัท โดยเฉพาะสำหรับงานนั้น ดังนั้นพวกเขาจึงไม่ได้เป็น "โปรแกรมเมอร์ภาษาโคบอล" - การฝึกอบรมที่พวกเขาได้รับนั้นเฉพาะกับ บริษัท ที่ส่งเสริมอย่างมากจากภายใน และนั่นทำให้พวกเขามองไม่เห็นสวยมาก
หากคุณเห็นว่าตัวเองเป็นโปรแกรมเมอร์ COBOL ให้ลองทำดู ยังคงมีบรรทัดหลายพันล้านบรรทัดที่เขียนในภาษาโคบอลที่ต้องการการบำรุงรักษา
ที่จริงแล้วไม่มีสิ่งเช่นความรู้ที่ไม่จำเป็นดังนั้นขยายความรู้และโอกาสที่คุณมีให้มากขึ้น
การเรียนรู้มันสมเหตุสมผลหรือไม่
มันเป็นโพรงและมีรหัสมรดกการทำงานมากมายที่ต้องได้รับการดูแลรักษาและไม่สามารถเขียนใหม่ได้ ดังนั้นในขณะที่มันไม่ใช่ตัวเลือกสำหรับคนจำนวนมากของโปรแกรมเมอร์ทุกคนมันเป็นมุมมองสำหรับรายได้ที่มั่นคงสำหรับแต่ละบุคคล
อย่างไรก็ตามหากคุณสนใจที่จะสร้างโซลูชั่นใหม่แทนที่จะพัฒนาอย่างช้าๆที่ได้รับมานับสิบปี COBOL อาจไม่ใช่ภาษาที่เหมาะสม
บริษัท ในยุโรปจำนวนมากยังคงต้องพึ่งพา mainframes ที่ทำงานเช่น z / vse และโปรแกรม cobol มีความต้องการโปรแกรมเมอร์โคบอลต์ที่มีทักษะที่ไม่มีใครคิดว่าตลาดจะเติมซึ่งจะทำให้เงินเดือนเพิ่มขึ้นเป็นจำนวนมาก
คำถามควรจะ "ฉันจะพัฒนาสิ่งใหม่โดยใช้ cobol?" เนื่องจากทุกอย่างสวยมากคือการบำรุงรักษาหรือการเปลี่ยนแปลงของภารกิจสำคัญที่มีอยู่
ฉันเคยทำงานกับ IBM ที่เขียนรหัส COBOL และ PL / I ทุกวัน นอกจากนี้จาก บริษัท ขนาดใหญ่ที่ใช้เมนเฟรมของไอบีเอ็มเช่นธนาคารหลายแห่งที่ต้องการธุรกรรมเป็นพันต่อวินาทีภาษาเหล่านั้นยังคงใช้งานหนัก
หากคุณไม่ต้องการทำงานในสถานที่เช่นนั้น (นั่นเป็นเหตุผลที่ฉันเพิ่งทำงานที่นั่นเป็นเวลา 6 เดือน) ดังนั้นอย่าคิดว่าจะเรียนภาษาเหล่านั้น
เราเขียนโค้ด Cobol ใหม่ทุกวันและเรากำลังมองหาโปรแกรมเมอร์อย่างต่อเนื่อง อุปทานมีขนาดเล็กเกินไปที่นี่
หากคุณต้องการมีงานเป็นโปรแกรมเมอร์ COBOL ให้แน่ใจว่าไปข้างหน้าและเรียนรู้มัน
ไม่ว่าจะด้วยเหตุผลใดก็ตามเช่นพยายามเรียนรู้สิ่งที่มีประโยชน์ที่อาจช่วยให้คุณมีเทคนิคการเขียนโปรแกรมที่ทันสมัยไม่ต้องกังวล
ในปี 2000 ฉันอ่านสถิติว่ามีภาษาโคบอลมากกว่าหนึ่งบรรทัดที่รวมกันกว่าภาษาอื่นทั้งหมดรวมกัน
นอกจากนั้น IBM รับประกันได้ว่าดาดฟ้า TEXT ใด ๆ (รหัสวัตถุ) ที่รวบรวมในระบบ MVS ใด ๆ สามารถใช้งานได้กับทุกระบบ MVS ของพวกเขาและคุณมีการรับประกันว่าจะมีการเขียนโปรแกรมภาษาโคบอลรอบ ๆ ตราบเท่าที่ดวงอาทิตย์ส่องแสง
ฉันสามารถบอกคุณได้ว่าฉัน "เรียนรู้" มันได้อย่างไร:
ฉันถูกว่าจ้างให้ทำงานกับมันโดยไม่มีเงื่อนงำว่ามันเกี่ยวกับอะไรและไม่มีปัญหาในการเรียนรู้ในชั่วข้ามคืน
ดังนั้นหากคุณต้องการคุณสามารถเรียนรู้ได้ ไม่จำเป็นต้องโอเวอร์โหลดตัวเองด้วยความรู้ที่ไร้ประโยชน์ ไม่มีอะไรน่าสนใจในตัวมันหรือการมีส่วนร่วมของมันจนกว่าคุณจะมีความต้องการในทางปฏิบัติที่แท้จริงสำหรับมัน
คำตอบทั่วไป: เรียนรู้หลักการเข้ารหัสไม่ใช่การนำไปใช้เฉพาะ (เช่นภาษา ฯลฯ )
ฉันจะไม่ใช้เวลากับมัน
อย่างไรก็ตาม COBOL เป็นหน่วยการสร้างของโปรแกรมแอปพลิเคชันรุ่นเก่าที่เป็นภารกิจสำคัญสำหรับ บริษัท ใหญ่หลายแห่งที่เริ่มต้นเมื่อ 20 \ 30 ปีก่อน
ดังนั้นหากคุณได้รับการว่าจ้างให้เป็น บริษัท ที่เป็นส่วนหนึ่งของธุรกิจหลักใน COBOL มีโอกาสที่คุณจะต้องเริ่มเรียนรู้
เรียนรู้หากคุณต้องการรู้ว่าสิ่งต่าง ๆ ทำงานอย่างไร (หรือเคยทำงาน) จะไม่เป็นสิ่งเลวร้าย
อย่างไรก็ตามฉันขอแนะนำไม่ให้เน้นทักษะภาษาโคบอลของคุณมากเกินไปในเรซูเม่ของคุณ
ในบางสถานที่ (ตัวอย่างเช่นใน Silicon Valley ที่ฉันอาศัยอยู่) การมีภาษาโคบอลในประวัติการทำงานของคุณจะเป็นความรับผิดชอบ โอ้แน่ใจว่าคุณอาจพบว่าสถานที่ที่นี่และมีที่ต้องการความเชี่ยวชาญของคุณและในกรณีที่ไปข้างหน้าและลงโฆษณาไปยังสถานที่เหล่านั้นเท่านั้น แต่โดยทั่วไปแล้วทำสิ่งที่ชอบและลืมพูดถึงว่าคุณรู้จักภาษาโคบอล
ใช่เรียนรู้ถ้าคุณอยากรู้อย่าบอกใคร
อาจไม่คุ้มค่าจากมุมมองของตลาดงาน แต่คุณอาจต้องการดูเพียงเพื่อให้ได้ความรู้สึกของสิ่งที่ทำ "ในวันเฒ่าที่ดี" ^^
จากมุมมองส่วนตัวฉันจะบอกว่ามีสิ่งที่ดีกว่าที่จะเรียนรู้ก่อน อย่างไรก็ตาม บริษัท ขนาดใหญ่หลายแห่งมีการลงทุนขนาดใหญ่มากในฐานรหัสภาษาโคบอลของพวกเขาซึ่งพวกเขาอาจจะไม่สามารถทิ้งไว้ข้างหลังได้จริงสร้างอุตสาหกรรมสำหรับโปรแกรมเมอร์ภาษาโคบอลเพื่อรักษาฐานรหัสและเขียนรหัสใหม่ บริษัท ที่ฉันทำงานเพื่อเป็น บริษัท ทางการเงินขนาดใหญ่และเทคโนโลยีของเราสำหรับนักพัฒนาแบ่งออกเป็น 30% COBOL, 40% Java และ 30% C #
ฉันเพิ่งค้นหา "cobol" บนเว็บไซต์สมัครงานที่ใหญ่ที่สุดของออสเตรเลีย มันส่งคืนผลลัพธ์ 87 รายการและ (จากการเรียดอย่างรวดเร็ว) พวกเขาส่วนใหญ่ดูเหมือนจะเป็นตำแหน่งการบำรุงรักษาแบบดั้งเดิมในธนาคารและสถาบันการเงิน ส่วนใหญ่จ่ายดีกว่างานที่ใช้ภาษา "ทันสมัย" อย่างชัดเจน - น่าจะเป็นเพราะประสบการณ์ของ Cobol ที่หายาก
ใช่แล้วดูเหมือนว่า Cobol จะคุ้มค่ากับการเรียนรู้ถ้าคุณ 1) ไม่สนใจการบำรุงรักษาแบบดั้งเดิมและ 2) คุณต้องการเข้าไปในซอกที่จ่ายดีและอาจไม่แข่งขันกันมากนัก
(ฉันสมมติว่าตลาด Cobol จะคล้ายกันในเศรษฐกิจโลกส่วนใหญ่ แต่อาจจะผิดหรือเปล่า?)
คิดเกี่ยวกับประเภทของโดเมนปัญหาที่คุณต้องการใช้งานโดยทั่วไปโดเมนเหล่านั้นมีชุดภาษาที่ใช้โดยทั่วไปเพื่อจุดประสงค์ ถ้า COBOL ตรงกันนั่นก็ให้ดำเนินการต่อไป
ไม่มีทางที่ฉันจะสัมผัสโคบอลหรือโดเมนปัญหาที่ใช้มันอย่างหนักกับเสา 10 ฟุต ฉันอยากพลิกเบอร์เกอร์
นอกจากนี้ให้พิจารณาด้วยว่าภาษานั้นให้โบนัส / อิมโพรไวส์ความสามารถในการเขียนโปรแกรม / แนวคิดของคุณหรือไม่ ฉันไม่สามารถนึกถึงสิ่งที่ COBOL สามารถทำได้ / นำไปใช้ / คุณสมบัติที่ไม่ได้ดีขึ้นหรือสามารถแสดงได้ดีกว่าในภาษาอื่น
คุณและคนอื่น ๆ อาจรู้สึกแตกต่างกัน
ยังมีระบบมรดกมากมายที่เขียนในภาษาโคบอล ไม่ว่าคุณจะต้องการบำรุงรักษามันหรือย้ายไปยังภาษาการเขียนโปรแกรมอื่น ๆ
ไม่ว่าจะเป็นอะไรความรู้ในภาษาการเขียนโปรแกรมหลายภาษาจะเป็นข้อดีเพราะความรู้ที่คุณมีให้คุณเลือกภาษาการเขียนโปรแกรมหรือแนวทางสำหรับความต้องการของโครงการที่แตกต่างกัน คุณสามารถใช้ความรู้ในภาษาการเขียนโปรแกรมเพื่อสร้างรหัสที่ดีขึ้นสะอาดและมีประสิทธิภาพมากขึ้นและเพื่อหลีกเลี่ยงข้อผิดพลาด