COBOL (Common Business-Oriented Language), öncelikle iş uygulamaları için tasarlanmış en eski yüksek seviyeli programlama dillerinden biridir. 1950'lerin sonlarında tanıtılan COBOL, ticari ortamlarda genellikle bulunan büyük veri işleme hacimlerini yönetmek için tasarlanmıştır. Kendini belgeleyen bir sözdizimi ile dikkat çeken COBOL, kodun anlaşılmasını kolaylaştırarak programcı olmayanların da anlamasını sağlar. Altmış yılı aşkın bir süredir var olmasına rağmen, COBOL hala aktif olarak kullanılmakta, özellikle bankacılık, hükümet ve sigorta sektörlerindeki eski sistemlerde yer almaktadır.
COBOL, iş uygulamaları için standart bir dil ihtiyacına yanıt olarak geliştirilmiştir. COBOL'u tartışmak üzere yapılan ilk toplantı 1959 yılında, hükümet ve sanayi temsilcilerinin yer aldığı bir konsorsiyumla gerçekleştirilmiştir. Amaç, iş verilerini işleyebilen bir dil yaratmaktı; bu veriler farklı platformlar arasında geniş bir çeşitlilik göstermekteydi. İlk spesifikasyonlar 1960 yılında yayımlandı ve 1960'larda işletmelerin daha verimli veri işleme için montaj dilinden yüksek seviyeli programlamaya geçiş yapmasıyla popülaritesi arttı.
COBOL'un geliştirilmesi 1970'ler ve 1980'ler boyunca devam etti; işlevselliği ve performansı artırmak için çeşitli revizyonlar ve iyileştirmeler yapıldı. ANSI, COBOL'u standartlaştırdı ve 1974, 1985 ve 2002 yıllarında güncellenmiş sürümler yayımlandı. Daha modern programlama dillerinin tanıtılmasına rağmen, COBOL, mevcut COBOL uygulamalarına yapılan büyük yatırımlar nedeniyle kurumsal alanda önemli bir varlık göstermeye devam etti.
Bugün COBOL hala yaygın olarak kullanılmakta, özellikle ana çerçeve (mainframe) ortamlarında. Birçok eski sistem, finansal kurumlar ve hükümet sektörlerinde temel operasyonları yürütmektedir. Modern girişimler, COBOL'u bulut bilişim ve web hizmetleri gibi çağdaş teknolojilerle entegre etmeye çalışmıştır. Ayrıca, "COBOL 2020" projesi gibi çabalar, dilin daha da modernleşmesini hedefleyerek günümüz teknolojik ortamında geçerliliğini sağlamayı amaçlamaktadır.
COBOL, okunabilirliği kolaylaştıran ayrıntılı, İngilizce benzeri bir sözdizimine sahiptir. Örneğin, basit bir veri bildirimi şöyle görünebilir:
01 CUSTOMER-NAME PIC A(30).
COBOL, alfanümerik (A), sayısal (9) ve ondalık (V) gibi çeşitli veri türleri sunar. Sayısal bir değişken tanımı şu şekilde görünür:
01 ACCOUNT-BALANCE PIC 9(10)V99.
COBOL programları, Tanımlama, Ortam, Veri ve Prosedür olmak üzere dört ana bölüme ayrılır. Bu bölümleme, kodun mantıksal olarak düzenlenmesine yardımcı olur. Bir program yapısına örnek:
IDENTIFICATION DIVISION.
PROGRAM-ID. HelloWorld.
ENVIRONMENT DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.
DISPLAY 'Hello, World!'.
STOP RUN.
COBOL, dosya işlemleri için yerleşik destek sunar. COBOL'daki dosya bildirimleri ve işlemleri (OPEN, READ, WRITE gibi) oldukça basittir:
01 CUSTOMER-FILE FILE SECTION.
02 CUSTOMER-RECORD RECORD.
03 CUSTOMER-NAME PIC A(30).
03 CUSTOMER-BALANCE PIC 9(10)V99.
COBOL, koşullu mantık için IF
, THEN
ve ELSE
yapıları kullanır:
IF CUSTOMER-BALANCE > 1000 THEN
DISPLAY 'VIP Customer'
ELSE
DISPLAY 'Standard Customer'.
COBOL'da döngü yapıları için PERFORM
ifadesi kullanılır:
PERFORM VARYING I FROM 1 BY 1 UNTIL I > 10
DISPLAY I.
COBOL, kodu paragraflar ve bölümler halinde düzenleyerek modüler programlamayı artırır:
MAIN-LOGIC SECTION.
DISPLAY 'Programın başlangıcı'.
END MAIN-LOGIC.
COBOL, iki biçimde yorumları destekler: ilk sütunda yıldızlar veya kod içinde *
karakteri:
* Bu bir yorumdur
COBOL, COMPUTE
ifadesini kullanarak aritmetik işlemlere olanak tanır:
COMPUTE TOTAL-PRICE = ITEM-PRICE * ITEM-QUANTITY.
COBOL, STRING
, UNSTRING
gibi işlemlerle dize manipülasyonu sunar:
STRING FIRST-NAME DELIMITED BY SPACE
LAST-NAME DELIMITED BY SPACE
INTO FULL-NAME.
Günümüzde birçok COBOL derleyicisi ve yorumlayıcısı bulunmaktadır; bunlar arasında Micro Focus COBOL, GnuCOBOL ve Fujitsu COBOL yer almaktadır. Her biri modern özellikler ve entegrasyon yetenekleri için farklı destek sunar.
COBOL geliştirme için popüler IDE'ler arasında Micro Focus Visual COBOL, IBM Rational Developer for System z ve COBOL eklentileri ile Eclipse bulunmaktadır. Bu IDE'ler, kodlama, hata ayıklama ve proje yönetimini kolaylaştırır.
Tipik bir COBOL projesi, .cob
uzantılı bir kaynak dosyası oluşturmayı ve uygun bir derleyici kullanarak derlemeyi içerir. Derleme süreci genellikle kaynak kodunu hedef sistemde çalıştırılabilir bir formata dönüştürmeyi içerir.
COBOL, büyük ölçekli veri işlemenin önemli olduğu sektörlerde öncelikle kullanılmaktadır. Uygulamaları şunları içerir:
COBOL, Python, Java ve C# gibi genel amaçlı programlama dilleriyle karşılaştırıldığında farklılık gösterir. Sözdizimi oldukça daha ayrıntılıdır ve modern dillerde bulunan kısalığın aksine okunabilirlik ve iş mantığına vurgu yapar.
Programlama dilleri alanında COBOL, okunabilirlik ve sürdürülebilirliğe vurgu yaparak, açıklık ve doğruluğun ön planda olduğu endüstriler için cazip hale gelmektedir.
COBOL kodunu diğer dillere çevirirken, satır satır çeviri yerine mantık yapısına odaklanmak önemlidir. Veri türleri, dosya işleme ve prosedürel programlama kavramları, iş mantığının bütünlüğünü korumak için kritik öneme sahiptir.
COBOL'dan modern dillere çevirileri veya dönüşümleri kolaylaştırabilecek birkaç araç bulunmaktadır, bunlar arasında: