COBOL 1959'da tasarlandı; Amerikan ordusunun bütçe raporlarını hâlâ bu dilde işleyen sistemler vardır. Bu cümle, alaycılık malzemesi gibi görünür ama aslında yazılım endüstrisinin en ciddi dersini içerir: çalışan sistem, değiştirilmesi en pahalı sistemdir. Dünya bankacılık altyapısının önemli bir bölümü hâlâ COBOL'de çalışıyor; bu bir geri kalmışlık anlatısı değil, mühendislik ekonomisinin net bir sonucudur.
Neden Değişmiyor: Doğru Yanıtlar
COBOL'un ondalık aritmetiği, para hesabının hassasiyet gereksinimine özgünlükle yaklaşır. Kayan noktalı sayıların yuvarlama hataları, faiz ve bakiye hesaplarında kabul edilemez sonuçlar üretir; COBOL bu sorunu altmış yıl önce çözmüş durumda. Dilin kayıt odaklı yapısı, toplu işlem dosyalarını doğal işler. On milyonlarca hesap ekstresinin gece yarısı toplu güncellemesi, dilin tasarım amacıdır ve hâlâ o işte rakipsizdir.
İkinci neden ekonomiktir. Otuz yılda doğrulanmış, milyarlarca işlemle denenmiş bir çekirdeği yeniden yazmak, yeni bir özellik yazmaktan kat kat pahalıdır. Yeniden yazım projeleri, veri üzerindeki ince davranışları kaybetme riski taşır; finansda ince davranış, mevzuat ve mahkeme kararıyla sabitlenmiş davranıştır. Değişimin maliyeti, statükonun riskine tercih edilmiyor; bu, iradeli bir karar.
Modern Dünya ile Nasıl Konuşuyor
Eski sistemler artık yalnız kalmıyor. Ana çerçeve uygulamaları, modern sistemlere REST arayüzleri ve mesaj kuyruklarıyla bağlanıyor. Günün faiz oranı güncellemesi ana bilgisayarda işlenirken, mobil uygulama aynı hesap verisini bir aracı katmandan okuyor:
IDENTIFICATION DIVISION.
PROGRAM-ID. FAIZ-HESAPLA.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-BAKIYE PIC S9(9)V99 COMP-3.
01 WS-ORAN PIC V9(4) VALUE 0.245.
PROCEDURE DIVISION.
COMPUTE WS-BAKIYE = WS-BAKIYE +
WS-BAKIYE * WS-ORAN / 100.
STOP RUN.
Bu ikili yaşamın en sancılı yanı dil bilgisidir: COBOL geliştiricisi sayısı her yıl azalıyor. Kurumlar buna iki yolla yanıt veriyor: eski kodu kapsayan testler yazarak modernize etmeye başlamak ve ana çerçeve mantığını kapsayan bir ara katman kurup riski parça parça taşımak.
Modernleşmenin Yolu: Sarma, Test Etme, Parça Parça Taşıma
Günümüz kurumlarının izlediği yol, üç adımlı bir strateji. Önce ana bilgisayarın dışına açılan bir servis katmanı kurulur; eski programın davranışı, modern arayüzlerin arkasına sarmalanır. Sonra bu davranışı yakalayan testler yazılır; on yıllardır sabit kalan bakiye ve faiz kuralları, artık otomatik doğrulamayla korunur. Son adımda iş mantığı, uygun parçalarla yeni platforma taşınır; taşınan her parça, eski sürümle aynı sonucu üretmeyi kanıtlar. Bu yöntemin adı ölçülebilir göçtür: tek hamlede yeniden yazım yerine, sürekli ve denetlenebilir küçük taşımalar. Kurumlar eski dili düşman değil, referans uygulama olarak görür; yeni kodun doğruluğu, eski kodun on yıllardır biriken deneyimiyle sınanır. Miras kod, bu bakışla çöp değil, en güvenilir dokümantasyon türüdür. Coşkuyla başlayan büyük yeniden yazımların başarısızlık oranı, bu disiplinin neden pazarlık konusu olmadığını gösterir.
Eski dillerin yeni işleri, teknoloji tarihinin en güzel ironisidir: COBOL'u ölü dil ilan eden nesiller, bugün hesap ekstrelerini onun yazdığı sistemden alıyor. Miras kod, övülmeyi değil yönetilmeyi bekler; yönetmesini bilen ekip için eski dil, teknik borç değil, on yıllardan beri ödenmiş bir güven birikimidir.
Okur Yorumları (0)