Apa itu COBOL? Penjelasan COBOL dijelaskan

Beberapa teknologi tidak pernah mati - mereka hanya memudar pada kayu. 

Tanya rata-rata pembangun perisian mengenai COBOL (Bahasa Berorientasi Perniagaan Umum) dan mereka akan melihat anda seolah-olah anda menyebut kertas karbon, petrol plumbum, atau catatan 78 RPM. Berbanding dengan bahasa moden seperti Go atau Python — atau bahkan Pascal atau C! —COBOL nampaknya kata-kata, kikuk, pas.

Tetapi COBOL telah bertahan. Jauh dari teknologi usang dengan senang hati kita berpisah, COBOL telah menjadi institusi. Pangkalan data COBOL besar-besaran masih digunakan di seluruh dunia, kebanyakannya berjalan hampir sama seperti ketika pertama kali dibuat. Dalam bahasa Hollywood, bahasa COBOL mempunyai "kaki."

Jadi, ya, COBOL masih relevan dan tepat pada masanya - sebenarnya menyakitkan. Dalam beberapa bulan kebelakangan ini COBOL kembali memasuki kesadaran masyarakat, ketika negara-negara seperti New Jersey mengemukakan permintaan untuk pengaturcara untuk membantu memindahkan aplikasi COBOL mereka ke abad ke-21.

Dalam petikan ini kita akan melihat asal-usul COBOL, bagaimana reka bentuk bahasa pengaturcaraan menonjol bahkan hari ini, dan apa yang menjadikan COBOL begitu bertahan dan begitu sukar.

Sejarah COBOL

COBOL muncul pada akhir 1950-an dan awal 1960-an. Pengembangan bahasa itu adalah sebuah projek yang ditaja oleh Jabatan Pertahanan Amerika Syarikat (DoD) yang merangkumi sebuah konsortium syarikat komputer termasuk IBM, Honeywell, Sperry Rand, dan Burroughs. Tujuannya adalah untuk membuat bahasa pengaturcaraan dengan atribut berikut:

  • Kemudahalihan antara sistem komputer, sehingga menjadikannya lebih mudah untuk memindahkan perisian di antara generasi generasi perkakasan dan di antara pembuat perkakasan.
  • Lebih banyak sintaks seperti bahasa Inggeris daripada bahasa lain pada masa itu (misalnya, FORTRAN) sebagai cara untuk mendorong pengaturcaraan oleh khalayak yang lebih luas, walaupun dengan mengorbankan beberapa kelajuan operasi.
  • Keupayaan untuk menampung perubahan bahasa pada masa akan datang.

Spesifikasi COBOL rasmi pertama dikeluarkan pada tahun 1960. Selama satu dekad berikutnya, dan kerana dikritik oleh pengkritiknya, COBOL menjadi pilihan lalai untuk menulis aplikasi perniagaan. Salah satu sebab penyebarannya yang pantas adalah kesan rangkaian: IBM, salah satu kolaborator asli dalam bahasa, menjadi pengguna awal yang agresif, dan kehadiran dominan IBM dalam dunia pengkomputeran membantu menyumbang kepada penerapan COBOL.

Oleh kerana kelebihan reka bentuk dan sokongan industri kelas berat, COBOL telah bertahan, melebihi sistem asalnya yang dirancang untuknya dengan jarak yang luas. Menurut pelbagai anggaran, pada tahun 1970 COBOL adalah bahasa pengaturcaraan yang paling banyak digunakan di dunia. Menjelang tahun 1997, COBOL dipercayai menjalankan sekitar 80 peratus aplikasi perniagaan.

Bahasa COBOL

Pereka COBOL memutuskan dengan sintaks bahasa bahasa pengaturcaraan lain pada masa itu (sekali lagi, seperti FORTRAN). Ideanya adalah untuk menciptakan bahasa pengaturcaraan yang dapat dibaca dan difahami oleh bukan pengaturcara, terutama perakaunan, kewangan, insurans, dan profesional bisnis lain.

Pertimbangkan program "hello world" yang ditulis dalam dialek awal COBOL:

BAHAGIAN PENGENALAN.

PROGRAM-ID. HAI DUNIA.

BAHAGIAN PROSEDUR.

TAMPILKAN 'Hello World!'.

TAMBAHAN TAMAT.

HENTIKAN JALAN.

Bagi pembangun perisian moden yang menggunakan bahasa seperti Python, kod ini adalah verbose. Tetapi ketajaman COBOL (jika bukan pelaksanaannya) berasal dari kesombongan yang sama yang memberitahu bahasa moden seperti Python - kod itu dibaca berkali-kali lebih banyak daripada yang ditulis, jadi ia harus ditulis agar dapat dibaca.

Program serupa dalam versi COBOL yang lebih moden mungkin kelihatan seperti ini:

program-id. hello.

pembahagian prosedur.

paparkan "Hello world!".

berhenti berlari.

Walaupun contoh ini lebih ringkas, prinsip asas yang sama berlaku: Kod ini berusaha untuk menjadi eksplisit mengenai apa yang berlaku pada setiap langkah.

COBOL mempunyai peraturan yang ketat mengenai sintaks dan organisasi dalaman program. Program COBOL dibahagikan secara eksplisit kepada beberapa bahagian, atau bahagian , yang menjadikannya lebih mudah untuk mencari dan memahami komponennya sekilas:

  • Bahagian pengenalan: Pada dasarnya bahagian metadata, yang mengandungi perincian mengenai program, pengarangnya, dan sebagainya.
  • Pembahagian persekitaran: Mengandungi perincian tentang lingkungan waktu proses, misalnya alias untuk peranti luaran, yang mungkin perlu diedit ketika menjalankan program pada perkakasan yang berlainan. Ini membantu mudah alih program antara sistem, di mana misalnya I / O mungkin ditangani secara berbeza.
  • Pembahagian data: Mengandungi  fail dan bahagian penyimpanan yang berfungsi , bahagian Data menerangkan fail dan pemboleh ubah (masing-masing) yang digunakan dalam program.
  • Pembahagian prosedur: Kod program sebenarnya tinggal di sini, dipecah menjadi unit logik yang disebut bahagian, perenggan, ayat , dan pernyataan . Sangat menggoda untuk menganalisis struktur ini dengan modul atau fungsi, kerana berfungsi dengan fungsi yang hampir sama (membahagi kod menjadi blok, dengan input dan output yang dibatasi) tetapi strukturnya jauh lebih fleksibel.

COBOL juga mempunyai peraturan pemformatan yang sangat ketat untuk kod tersebut, hingga jumlah ruang sebelum perintah. (Pengguna Python akan menganggapnya tidak asing lagi!) Sebilangan sekatan ini adalah produk sampingan dari usia COBOL pada era mainframe tahun 1960-an, ketika program dikodkan pada kad tebukan dan format tepat garis 80-lajur penting. . Tetapi sekatan pemformatan lain menguatkan kebolehbacaan.

Idea di sebalik regimen ketat program COBOL adalah menjadikannya pendokumentasian diri mungkin. Bagaimanapun, program COBOL cenderung untuk tetap berjalan selama bertahun-tahun atau beberapa dekad. Tujuannya (jika tidak selalu menjadi hasil akhir) adalah untuk menjadikan setiap program COBOL sebagai artifak yang dapat difahami oleh mana-mana pengaturcara COBOL, bahkan bertahun-tahun kemudian, tanpa bantuan pengaturcara yang membuatnya. 

Cabaran COBOL

Sebilangan besar kelaziman COBOL yang berterusan - dan inersia - berasal dari kenyataan bahawa aplikasi COBOL, setelah ditulis, cenderung ditinggalkan selama-lamanya, dengan hanya sedikit pengubahsuaian. Aplikasi yang lebih besar dan lebih kritikal terhadap misi, kemungkinannya akan terganggu. Kerangka utama, seperti persembahan IBM, memainkan peranan penting: Mereka dibina untuk menjadi serasi dengan kebolehbelakang dan menjalankan perisian lama — seperti aplikasi COBOL — di semua generasi perkakasan dengan pengubahsuaian minimum. Hasilnya: Berjuta-juta baris kod COBOL berjalan pada dasarnya tidak berubah selama beberapa dekad.

Selama bertahun-tahun, COBOL telah berkembang, jika perlahan. Ia kini mempunyai varian berorientasi objek, OO-COBOL, yang merangkumi sokongan untuk ciri moden seperti Unicode, lokal, dan jenis data yang lebih maju di luar rentetan dan bilangan bulat. Tetapi COBOL secara agresif mengekalkan keserasian yang mundur, sehingga penambahbaikan dan peluasan ini mematuhi mandat bahawa aplikasi COBOL yang ada harus terus berjalan.

Tidak semua pilihan reka bentuk bahasa COBOL menjadi popular bagi pengaturcara COBOL. Sebahagiannya menyebabkan program yang terlalu kompleks yang sukar difahami atau disahpepijat, tidak menggalakkan penulisan semula atau penambahbaikan. GO TOPerintah COBOL , seperti rakan sejawatnya di C, membolehkan pengaturcara melompat bebas di sekitar program, dan dengan itu menulis aplikasi yang lebih kuat. Tetapi penggunaan tidak berdisiplin GO TOdapat mengubah program COBOL menjadi sarang tikus yang menjadi rujukan silang yang sukar dikesan.

Pengaturcaraan COBOL hari ini

COBOL bertahan hari ini dalam beberapa penjelmaan. IBM secara aktif mengekalkan implementasi COBOL sendiri dan mengekalkan banyak aplikasi COBOL yang ada di mana ia dijalankan. Micro Focus COBOL adalah edisi COBOL komersial yang berjalan di Microsoft Windows, menyusun aplikasi COBOL ke Java dan .NET, dan bahkan menyebarkan ke persekitaran awan seperti Azure. Anda juga akan menemui pelaksanaan sumber terbuka COBOL, seperti GnuCOBOL, yang tersedia secara bebas dan menyusun kod mesin asli. Namun, mereka mungkin kekurangan beberapa fitur penyebaran atau penyahpepijatan yang lebih maju dari COBOL komersial.

Walaupun COBOL masih digunakan secara meluas, keahlian COBOL yang mendalam semakin sukar untuk didapat dengan setiap tahun yang berlalu. Akibatnya, banyak mantan pengaturcara COBOL harus dibujuk keluar dari masa pensiun untuk menggunakan wang yang lebih lama ke abad ke-21. Selalunya, bukan pengetahuan pengaturcaraan COBOL yang paling tinggi, tetapi pemahaman mendalam mengenai persekitaran kerangka utama di mana COBOL berjalan. Banyak aplikasi COBOL bekerja sama dengan teknologi lama seperti sistem pengurusan pangkalan data IMM dan CICS IBM dan sistem pangkalan data, yang semuanya memerlukan kepakaran yang semakin jarang berlaku.

Oleh itu, seperti sekolah lama seperti COBOL, keperluan untuk bahasa COBOL dan kepakaran-persekitaran pengembangan berkembang dengan setiap tahun yang berlalu. Senarai pekerjaan untuk COBOL dan kepakaran berkaitan banyak. Pada bulan Mac 2020, New Jersey mengeluarkan panggilan kecemasan untuk pengaturcara COBOL untuk membantu menaik taraf sistem faedah pengangguran negeri berikutan krisis COVID-19.

Belajar COBOL

Sumber pembelajaran untuk COBOL semakin bertambah, memandangkan permintaan untuk bahasa itu semakin meningkat. Pembangun moden yang ingin maju dengan bahasa yang paling kuat ini mempunyai beberapa pilihan:

  • University of Limerick, di Ireland, menawarkan kursus pengaturcaraan COBOL lengkap dalam talian, dengan ihsan dari Jabatan Sains Komputer dan Sistem Maklumatnya. Ia tidak terkini seperti beberapa sumber lain, tetapi memandangkan sedikit perubahan COBOL dengan masa, itu tidak semestinya menjadi kekurangan.
  • Open Mainframe Project (sebahagian daripada Linux Foundation) juga menawarkan sumber COBOL. Salah satunya adalah kursus penuh dalam pengaturcaraan COBOL, yang ditaja bersama oleh IBM. Ini lebih moden daripada kursus University of Limerick, dan disesuaikan dengan pelaksanaan COBOL oleh IBM zOS, yang merupakan versi bahasa yang banyak digunakan.

COBOL telah menjadi asas pengkomputeran perniagaan selama beberapa dekad, dan permintaan untuk bakat pengaturcaraan COBOL hanya terus berkembang. Sekiranya mengekalkan atau memodenkan program COBOL menarik minat anda, waktunya nampak lebih pantas daripada sebelumnya.