Selain untuk perangkat lunak lama, apakah ada alasan untuk menggunakan COBOL?


11

COBOL masih (berat?) Digunakan untuk komputasi keuangan. Ini adalah bahasa yang lama, dan AFAIK kebanyakan programmer membenci, atau setidaknya tidak suka, COBOL. Ini menimbulkan pertanyaan: apakah satu-satunya alasan COBOL masih digunakan karena perangkat lunak lama menggunakannya, atau apakah ada keunggulan nyata dibandingkan bahasa pemrograman lainnya?

Hanya penasaran.


3
Tua bukanlah alasan dengan sendirinya.

Tidak, tetapi kemungkinan besar tidak memiliki fitur modern karena itu. Itu tidak begitu penting meskipun jika bahasa itu dirancang dengan baik.
Anto

Juga masih banyak digunakan di pemerintahan, bukan hanya perbankan.
BBlake

6
"kebanyakan programmer membenci COBOL" - well, saya cukup yakin sebagian besar programmer tidak pernah menggunakannya juga. Saya akan terkejut jika lebih dari 5% dari "pembenci" ini memiliki gagasan tentang sintaks atau bentuknya. Mereka hanya menggunakannya sebagai contoh kejahatan sistem warisan tanpa benar-benar tahu apa yang sedang terjadi. Mirip dengan bagaimana FORTRAN sering dianggap.
TZHX

@TZHX: Seluruh kutipan harus "AFAIK kebanyakan programmer benci, atau setidaknya tidak suka, COBOL". Saya tidak mengatakan itu adalah seperti itu, itu hanya bagaimana saya telah ditafsirkan situasi. Tetapi apa yang Anda katakan mungkin benar, tetapi saya tidak tahu cukup baik untuk mengatakan apa pun sendiri, yang saya gunakan adalah pengamatan pribadi pada pendapat orang (yang mungkin menderita dari apa yang Anda katakan).
Anto

Jawaban:


12

Sebagian besar warisan sekarang. Banyak sistem bisnis penting masih dalam COBOL hanya karena fakta bahwa mereka begitu besar dan terintegrasi sehingga biaya penulisan ulang tidak sepadan. Menulis sistem baru dalam COBOL mungkin tidak layak lagi, karena sebagian besar pengembang COBOL sangat langka sehingga mereka dapat menarik sejumlah besar uang untuk keterampilan khusus (mirip dengan pengembang Foxpro sekarang). Ada beberapa atau tidak ada alasan untuk menjaga aplikasi COBOL tetap ada, tetapi sayangnya alasan umum adalah ketika aplikasi COBOL sudah di tempat, tepercaya, dan digabungkan secara erat dengan sistem lain ke tempat yang hampir mustahil untuk diganti. Alasan itulah mengapa harus diganti sebelum sampai ke situasi di mana satu-satunya perangkat keras yang menjalankan aplikasi harus dibuat khusus dari bagian Ebay dari 80/90-an.


Apa yang membuat Anda mengatakan, "Sebagian besar warisan sekarang"? Saya tidak berpikir Anda benar-benar tahu apa yang Anda bicarakan. Saya sedang mengerjakan proyek COBOL baru jutaan dolar sekarang. Saya juga tahu beberapa proyek pengembangan baru yang sangat besar lainnya menggunakan COBOL sebagai bahasa implementasi utama mereka. Pemikiran angan-angan dari pihak Anda tidak menjadikannya kenyataan.
NealB

1
Jangan ambil dari saya. Penelitian dari O'Reilley mengatakan penjualan buku Cobol hampir tidak ada dibandingkan dengan setiap bahasa lainnya. Itu karena kurangnya minat pada pengembang, atau tidak ada cukup pengembang yang menggunakannya. Saya yakin Anda dapat menemukan pengembangan baru menggunakan COBOL, tetapi masih merupakan warisan PALING (tidak semua warisan). Saya yakin seseorang seperti diri Anda yang berspesialisasi dalam COBOL akan memiliki koneksi ke orang lain yang hanya menggunakan COBOL. Sama halnya dengan saya, hanya memiliki teman yang menggunakan satu bahasa tidak berarti saya bukan minoritas.
Ryan Hayes

Di perusahaan kami, kami cukup menyalin / menempelkan kode yang ada, menyesuaikannya sesuai dengan kebutuhan kami, dan mengatakan "selesai". Untungnya saya dapat melakukan pengembangan saya di C # / VB
Wayne Werner

4

COBOL masih (berat?) Digunakan untuk komputasi keuangan.

Apakah itu?

Itu tergantung pada apa yang Anda sebut komputasi keuangan. Jika Anda memanggil semua kode yang dijalankan oleh lembaga keuangan ya, itu mungkin benar. Sebagian besar memiliki aturan bisnis yang ditulis pada tahun 60an dan 70an. Risiko + biaya peningkatan sistem seperti ini ke lingkungan baru tidak sepadan. Saya ragu ada orang di luar sana yang menulis kode COBOL baru. Ada kompiler COBOL hari ini yang diintegrasikan ke dalam .NET stack, misalnya. Seringkali ada alat untuk mengintegrasikan dan memanfaatkan aplikasi lama ke dalam tumpukan perangkat lunak modern tetapi alat tersebut sering tidak diketahui oleh orang-orang yang tidak harus menggunakannya, karena ini adalah pasar yang sangat khusus.

Sekarang jika Anda menyebut komputasi keuangan sesuatu yang lebih mirip perangkat lunak untuk keuangan kuantitatif, saya tidak pernah mendengar seseorang menggunakan COBOL. C ++ jauh lebih umum, di sepanjang beberapa bahasa khusus seperti k, turunan APL.


kdan keturunannya qsangat menyakitkan
Andrey

@Andrey Ini masalah selera. Saya menikmatinya.
Vitor Py

beruntung kamu. Salah satu masalah terbesar bagi saya adalah kurangnya IDE normal dan pesan kesalahan yang tidak berguna
Andrey

2
@ Andrew Ya, pindah dari lingkungan pengembangan arus utama adalah masalah terbesar saat menggunakan bahasa khusus. Saya biasa melakukan templat kode C ++ berat sebelum menggunakannya jadi saya agak terbiasa dengan pesan kesalahan yang tidak berguna :)
Vitor Py

@ Andrew, IBM memiliki perkakas berbasis Eclipse untuk Cobol.

4

COBOL sebagian besar melihat penggunaan warisan sekarang. Basis penggunanya secara perlahan menyusut karena gesekan, karena tidak ada aplikasi baru yang sedang ditulis dan yang lama secara perlahan, tetapi tentu saja, dihapus.

Sebagian besar sistem COBOL yang dapat dengan cepat dan murah diganti, sudah diganti. Yang belum, terus menjadi lebih dan lebih mahal untuk diperbaiki atau diganti, tetapi lebih murah dan lebih murah untuk dirawat relatif terhadap sistem yang lebih baru - mereka berjalan dengan baik pada perangkat keras yang murah, usang, dan, setelah bertahun-tahun layanan, tidak ada lagi menunjukkan bug baru. Sebagian besar bug telah diperbaiki, atau memiliki tradisi lama yang cocok sebagai solusi. Pemeliharaan biasanya dikurangi menjadi satu atau dua karyawan khusus, yang, setelah lama bekerja pada sistem, mengetahuinya lebih dekat daripada yang dapat Anda bayangkan.

Bahkan dari sudut pandang teknis, biasanya ada beberapa alasan kuat untuk menjaga sistem lama tetap ada. Mereka relatif stabil, sebagian besar telah diperbaiki bug, dan diketahui / dipahami oleh pengguna akhir.

Anda akan melihat sistem akhirnya diganti. Biasanya langkah ini berasal dari sisi bisnis:

  • Pengguna sistem saat ini digantikan oleh pengguna yang lebih muda, yang tidak dapat diyakinkan untuk mempelajari cara menggunakan antarmuka kuno
  • Perusahaan tidak dapat menemukan orang untuk dipekerjakan untuk mempertahankan sistem, dengan gaji yang tidak keterlaluan dibandingkan dengan gaji karyawan lain
  • Seseorang dengan anggaran besar menjadi malu untuk mengetahui bahwa sistem inti untuk perusahaan berjalan pada perangkat keras yang dapat diganti dengan vm pada laptop
  • Sistem komoditas baru, muncul, yang benar-benar sangat murah untuk mulai digunakan
  • Perusahaan yang menggunakan sistem yang lebih lama diperoleh, bangkrut atau berhenti benar-benar ada
  • Sedikit fungsi baru yang sangat penting dan sangat dibutuhkan, tidak dapat dibuat murah untuk berinteraksi dengan sistem lama

2
Apa latar belakang Anda karena begitu yakin?

Saya dapat dengan tegas menyatakan bahwa kepastian Anda salah tempat - kami memiliki beberapa karyawan baru (20-30an) yang baru menulis kode Cobol baru (memperbarui dan / atau menyalin dan memodifikasi sistem yang ada), dan kami memiliki setidaknya 10% dari ~ 200 pengembang kami yang menghabiskan 80% + waktu pengembangan mereka di Cobol. Saya pikir Anda akan menemukan bahwa sebagian besar tempat yang menggunakan Cobol adalah persis berlawanan dengan apa yang Anda gambarkan.
Wayne Werner

4

bertanya-tanya apa yang Anda maksud dengan "Kebanyakan programmer". Saya bekerja di sebuah toko IT besar di lantai yang sama dengan programmer cobol, programmer Java, .NET programmer (dalam bentuk tunggal), programmer VB gaya lama. Tidak ada kebencian atau ketidaksukaan. cobol adalah bahasa seperti bahasa pemrograman lainnya - pemrograman orang dalam cobol melakukannya karena itu pekerjaan mereka tidak berbeda dengan pemrograman di java atau mengendarai truk. Berlawanan dengan konsepsi populer di AS, ada banyak kobol yang terus ditulis, hanya sebagian besar di India di mana setiap hari programmer Cobol baru mulai bekerja.

Saya pikir alasan mengapa tidak terlalu banyak sistem baru bersih ditulis dalam Cobol adalah karena jenis sistem yang cocok untuk cobol (pemrosesan file volume besar) semuanya sudah ditulis. Sangat sedikit perusahaan besar baru yang dibuat hari ini. Dan yang melakukan mungkin outsourcing hal-hal seperti penggajian dan manfaat bagi perusahaan yang menjalankan sistem cobol warisan.


2

Sebagian besar kode inti di PeopleSoft ditulis dalam COBOL.


Saya diberikan untuk mengerti, dari berbicara dengan perwakilan PeopleSoft di sebuah konferensi TI pada tahun 2004 sebelum Oracle mengakuisisi mereka, bahwa pada waktu itu hanya satu modul produk yang masih dalam COBOL.
Kennah

Bagaimana cara ini memberi keuntungan bagi COBOL dibandingkan bahasa lain?
Matthieu

2

Dengan pengalaman COBOL selama 20 tahun, pada tiga mainframe yang berbeda, menurut pendapat saya ada beberapa programmer COBOL yang benar dan sebaliknya ada programmer IBM, programmer Sperry (Unisys 2200), programmer Burroughs (Unisys MCP), dan Tandem (HP NonStop) programmer. Dalam menunjukkan rasa hormat kepada mereka, saya juga harus menyebutkan keberadaan pemrogram HP 3000, pemrogram BULL, dan pemrogram DEC.

COBOL beroperasi pada kotak besi besar, sebagian besar. Mungkin satu-satunya programmer COBOL yang sebenarnya, dengan standar saya sendiri, adalah mereka yang menulis COBOL pada kotak UNIX. Wow, saya akan mendengar tentang ini.

Karena perangkat keras adalah bagian utama, kebanyakan programmer yang menulis COBOL mengidentifikasi diri mereka dengan perangkat keras tempat kode yang mereka tulis berjalan. Selama bertahun-tahun, mendengarkan programer lain memberi tahu saya tentang kelebihan Sperry, Burroughs, atau Tandem, saya sering bertanya-tanya perang seperti apa yang akan terjadi jika saya mengumpulkannya dan menempatkannya di sebuah ruangan bersama yang tidak bisa pergi sampai mereka menyetujui satu platform perangkat keras untuk semua COBOL. Saya tidak menyebutkan platform lain karena saya belum pernah bekerja pada mereka.

Saya telah bertemu dan berbicara dengan banyak programmer IBM, dan mereka akan menyebut diri mereka sebagai programmer COBOL. Namun, jika seseorang melibatkan mereka dalam percakapan, mereka dengan cepat mulai merujuk pada prosedur dan alat spesifik IBM. Mengingat COBOL memiliki sifat hardware-centric, ini sangat bisa dimengerti, untuk semua platform perangkat keras.

Karena COBOL biasanya terikat pada perangkat keras yang sangat mahal, selama perangkat keras itu menjalankan program COBOL yang disusun di atasnya maka tidak ada keinginan kuat untuk bermigrasi dari COBOL demi migrasi. Namun, dengan populasi tua dari programmer COBOL, migrasi tidak bisa dihindari.

Karena semua kotak besi besar yang menjalankan COBOL juga akan menjalankan Jawa, Jawa adalah jalur migrasi alami yang jauh dari COBOL. Kode dapat dikonversi, terutama sekarang dalam ekonomi turun, dengan harga yang agak ekonomis. Begitu tidak ada COBOL, hanya Java, pada perangkat keras besar yang mahal itu, maka seseorang yang lebih tinggi dalam organisasi akan mulai bertanya-tanya apakah mungkin untuk memindahkan kode Java ke perangkat keras lain yang jauh lebih murah.

Programmer IBM, Sperry, Burroughs, dan Tandem mengetahui hal ini, sehingga mereka kemungkinan besar TIDAK akan pernah menawarkan ide tersebut. Ini akan menjadi penistaan ​​bagi sebagian orang.


+1, sungguh sangat mahal. Ditambah lagi menunjukkan bahwa Jawa menjadi Cobol Baru - yang pernah saya lihat sendiri dan saya hanya anak muda, jadi menarik untuk melihat seseorang dengan pengalaman melakukan pengamatan yang sama.
Wayne Werner
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.