有60年曆史的程式設計COBOL正在經歷一次復興。許多**系統大型機執行COBOL,一直在努力應對需求激增。特別是,新澤西州的失業系統是由一個有40年曆史的COBOL主機管理的。
隨著與COVID-19相關的失業率激增,該體系正努力跟上。墨菲州長認為COBOL程式設計師是一種不受重視的必需品。
1959年,資料系統語言委員會設計了COBOL。他們想設計一種標準的程式語言來執行在許多不同的大型機上。
當時,許多新的程式語言正在開發中,將程式語言翻譯成在新的硬體上執行變得過於昂貴。COBOL或面向業務的通用語言就是這個問題的解決方案。
COBOL基於Grace Hopper建立的程式語言FLOW-MATIC。它是第一種用英語術語代替數學符號來處理資料的程式語言。格雷斯·霍珀解釋說:
“I used to be a mathematics professor. At that time I found there were a certain number of students who could not learn mathematics. I then was charged with the job of making it easy for busines**en to use our computers.” (The Early Development of Programming Languages pg. 29)
同樣,COBOL使用英語術語,並且設計得很容易閱讀。然而,一些人批評它過於羅嗦。例如,在C中,您可以編寫以下程式碼來新增兩個數字:
int result = 1 + number;COBOL中的相同程式碼將編寫為:
ADD 1 TO number GIVING result與C語言非常相似,COBOL是一種過程程式語言。這僅僅意味著COBOL程式是按照順序步驟設計的。COBOL也是一種自文件語言,這增加了它的可用性。然而,COBOL最著名的特性是可以處理大量的資料處理。
相關:5 C程式設計技巧你必須學會入門
COBOL被廣泛採用,尤其是被企業、**和金融機構所採用。它被廣泛採用,至今仍在許多地方使用。
儘管COBOL過去很流行,但很少有人知道這種語言。現在有更多的程式語言以英語命令為中心,它們比COBOL有更多的特性。很少有程式設計師用COBOL建立新程式;它的主要用途是維護遺留程式。
對COBOL的一個批評是程式設計師有編寫義大利麵程式碼的傾向。義大利麵程式碼是一個貶義詞的程式碼是結構不良。結構不良的程式碼的罪魁禍首是GOTO命令。
如前所述,COBOL是過程性的,因此計算機會按照從上到下的順序讀取每一行程式碼。GOTO命令允許程式設計師告訴程式跳轉到另一行。GOTO命令的不當使用會使COBOL程式碼變得複雜。
相關:如何透過物件封裝保持程式碼的整潔
COBOL不受歡迎的另一個原因是它很少在大學裡教授。COBOL是由商業團體建立的,而不是學術團體。它旨在解決業務問題,並針對資料處理等問題進行了最佳化。學者們通常對不同的問題感興趣,因此,推廣不同的程式語言。
然而,COBOL最大的問題之一是,儘管它被設計成一種通用語言,但它並不是。隨著語言的發展,許多不同的方言被創造出來了——其中300種!
這使得程式設計師很難理解遺留程式碼。
因為COBOL被企業和**廣泛使用,所以仍然有許多COBOL系統需要維護。眾所周知,遺留程式碼很難維護,因為程式又大又複雜。因此,需要對語言有深刻理解的程式設計師來維護程式。
對程式碼進行更改也需要花費大量時間,因為很難確定更改是否會影響程式的其他部分。
例如,在90年代,我們面臨著千年蟲問題。許多年份日期是用年份的最後兩位數字而不是全年儲存在計算機中的。因此,1997年被儲存為97年。人們擔心,當年份更改為2000年時,00年將無法被識別為有效,導致日期序列出現問題,並可能導致許多系統崩潰。
美國**和企業花了幾年時間和1000億美元來對付千年蟲。改變遺留系統是可能的,但這需要時間,而且成本高昂。
2020年,COVID-19產生了一個新的程式設計問題。美國的失業制度是以COBOL為基礎的,對這一計劃進行修改是非常困難和昂貴的。例如,國會曾計劃根據損失的工資計算失業救濟金,以應對失業率激增。不過,調整方案實施計算需要5個月的時間。
相關報道:冠狀病毒COVID-19:15個你可以信任的可靠資訊站點
COBOL系統的變化速度不足以應對危機情況。這個問題更加複雜,因為沒有足夠的人接受COBOL培訓來幫助增加在危機期間支援系統所需的維護。那些接受COBOL培訓的人要麼已經退休,要麼即將退休。
為了幫助解決對COBOL程式設計師日益增長的需求,IBM建立了一個免費的COBOL課程。課程由一系列影片、測驗和實驗作業組成,需要16小時才能完成,最後你將獲得一枚徽章。
如果您已經是一位經驗豐富的COBOL程式設計師,IBM還提供了一個COBOL網路論壇。在那裡,有經驗的程式設計師可以與有需要的組織和企業建立聯絡。
COBOL不像Python那樣是一種流行的程式語言,但它是一種重要的程式語言。世界上大部分地區仍然使用COBOL。如果您一直在考慮學習一種程式語言,但需要一個推動,可以考慮學習COBOL。
...在於POP建立和使用過程抽象,而OOP則側重於資料抽象。 什麼是哦(oop)? 面向物件程式設計(OOP)基於兩個主要概念:物件和類。物件是包含資料和操作該資料的過程的結構。這些物件可以用於建模真實世界實體。物件有兩個特...
... 然而,你有沒有想過為什麼最差的Windows版本會贏得這個稱號?讓我們看看三個最討厭的Windows版本:window**e、Vista和8,看看為什麼它們被認為是有史以來最糟糕的Windows版本。 ...
... 全球最大的自由職業者市場Upwork將比特幣列為當今需求量最大的技能。Bitcoin的交易是一個炒作將褪色,但基礎鏈技術仍然強勁。區塊鏈將降低成本,提高跨行業的隱私。這就是為什麼實施這項技術的技能需求量很大,而...
...加、科羅拉多州、愛荷華州和堪薩斯州的系統,部分是用COBOL編碼的,COBOL是一種有40多年曆史的編碼語言,很少有程式設計師會再學它了。這使得這些系統在流感大流行造成的請求壓力下崩潰時很難修復。根據Verge的說法,在冠...
什麼是供給側經濟學(supply-side economics)? 供給側經濟學更為一些人所熟知的是“里根經濟學”,即美國第40任總統羅納德·里根(Ronald Reagan)倡導的“涓涓細流”政策。 里根總統和他的共和黨同僚們推廣了一個有爭議的觀點,...
幸福與滿足 什麼使人快樂?什麼使他感到滿意?即使他不快樂,他也會感到滿足嗎?或者即使他的願望和需要沒有得到滿足,他也會找到快樂嗎? 我們都在尋找能讓我們快樂的東西,我們有需要滿足的慾望。什麼是“幸福”...