Dunia Modern Dibangun berdasarkan Kode Kuno. Itu Masalah

bahasa pengkodean kuno
Genevieve Poblano/Tren Digital

“Bagaimana kita bisa sampai di sini bahwa kita benar-benar membutuhkan pemrogram COBOL?” tanya Gubernur New Jersey Phil Murphy pada konferensi pers baru-baru ini.

Isi

  • Fortran
  • Ada
  • Pascal
  • DASAR / Visual Dasar
  • COBOL

Dihadapkan dengan jumlah yang belum pernah terjadi sebelumnya pengangguran mengajukan permohonan, negara bagian harus segera memperluas platform klaim pengangguran yang telah berusia 40 tahun – sebuah perbaikan yang langsung memulai pencarian panik untuk programmer yang akrab dengan bahasa pengkodean yang sudah berumur puluhan tahun COBOL.

Video yang Direkomendasikan

Namun, bukan hanya New Jersey yang mengalami masalah ini. Banyak sistem perbankan, pertahanan, dan kecerdasan buatan di dunia yang menggunakan bahasa pemrograman yang sedang populer ketika Apple kehabisan garasi.

Industri teknologi memiliki ketertarikan terhadap hal-hal yang baru dan mutakhir, namun jika bukan karena bahasa pengkodean kuno seperti COBOL, Ada, Pascal dan Fortran, industri kredit, organisasi penelitian ilmiah, dan berbagai sistem pertahanan akan terkena dampaknya berhenti. Dengan kata lain, tanpa semua kode lama ini, kita akan kacau.

Bahasa pemrograman berusia lima puluh tahun masih menghitung jutaan transaksi dan statistik, dan berfungsi sebagai tulang punggung sistem yang diandalkan oleh dunia modern. Misalnya, lebih dari 95 persen ATM dan 40 persen bank menggunakan kode COBOL, menurut survei tahun 2017. laporan Reuters.

Beberapa tabulator kuno ini masih menjalankan fungsi tertentu dengan sangat baik. Ada juga banyak eksekutif bisnis yang tidak ingin memilih perangkat lunak yang telah teruji waktu dan penting untuk bisnis perusahaan mereka, jadi alih-alih merombak dan memodernisasi, mereka hanya menambal kode lama dan berharap demikian terbaik.

Bergulat dengan teknologi kuno bukanlah fenomena baru. Misalnya, Kalifornia telah menghabiskan ratusan juta dolar untuk mencoba memperbarui DMV dan teknologi penggajiannya. Namun pandemi yang terjadi saat ini dan gelombang pengangguran yang diakibatkannya telah menjelaskan betapa banyak infrastruktur perangkat lunak Amerika yang hancur seperti infrastruktur fisiknya.

Berikut adalah lima bahasa “kuno” yang diandalkan oleh dunia kita lebih dari yang Anda sadari, dan mengapa hal itu mungkin membuat Anda sedikit gugup.

Fortran

penutup manual fortran

Jika bukan karena Fortran, banyak superkomputer dan model yang kita gunakan untuk hal-hal seperti prediksi cuaca, astrofisika, dan analisis statistik tingkat tinggi tidak akan berfungsi.

Dibangun oleh IBM pada tahun 1950an, Fortran (kependekan dari Formula Translation) adalah salah satu bahasa tingkat tinggi pertama yang menggunakan kata-kata daripada angka dan memungkinkan pembuat kode menulis program 500% lebih cepat dibandingkan saat menggunakan mesin kode. Saat ini, tidak banyak pengembang yang mempelajari bahasa tersebut.

“Saya menggunakan Fortran sepanjang waktu - saya tidak pernah memikirkannya,” kata James Howard, ilmuwan data di Laboratorium Fisika Terapan Johns Hopkins. Meskipun Howard sudah bertahun-tahun tidak memprogram dalam bahasa tersebut, aplikasinya secara teratur mengakses perpustakaan inti Fortran. Dibangun pada awal tahun 70an, bangunan-bangunan tersebut dirawat dengan baik dan “sangat cepat”.

Terakhir kali Howard menulis program Fortran adalah sekitar 10 tahun yang lalu. Dia bekerja di Federal Reserve dan perlu memindahkan data antara dua aplikasi; satu ditulis dalam C dan yang lainnya dalam Fortran. Program berhenti berkomunikasi karena vendor berhenti menyediakan perpustakaan Fortran.

Pemrogram berusia 40-an ini mengingat sesuatu yang dia baca saat masih kecil, bahwa struktur pemanggilan data untuk bahasa pemrograman C berlawanan dengan struktur Fortran. Dia menulis naskah sederhana untuk membalikkan keadaan dan, voila, Federal Reserve kembali berbisnis.

fortran pukulan

Ada

Pemrogram pemerintah mengandalkan basis kode Ada yang relatif tidak jelas ketika mengembangkan sistem yang memerlukan keandalan, seperti sistem pertahanan dan keselamatan. Apa sebenarnya yang diprogram di dalamnya? Itu sedikit rahasia pemerintah, tapi NASA dan Boeing sama-sama menggunakan kode berbasis Ada dalam beberapa tahun terakhir untuk memprogram satelit dan pesawat terbang.

Departemen Pertahanan (DOD) mengawasi pengembangan Ada pada tahun 1970an untuk mengurangi jumlah bahasa pemrograman yang digunakan oleh militer, yang pada saat itu berjumlah lebih dari 400 bahasa. Ada dibangun agar dapat diandalkan dalam situasi hidup atau mati dan dibentengi dari kesalahan programmer. Meskipun bahasa tersebut diperkenalkan pada tahun 1980, Kongres baru mewajibkan penggunaannya di semua sistem pemerintahan pada tahun 1995. Dua tahun kemudian, Departemen Pertahanan mengabaikan mandat tersebut, dengan pertimbangan bahwa akan lebih murah dan lebih fleksibel jika menggunakan sistem yang tersedia secara luas dan terkini. Tapi itu masih digunakan sampai sekarang.

Pascal

poster pascal
Pada awal tahun 80-an, poster Apple Pascal dapat ditemukan di seluruh kantor perusahaan, memberikan wawasan kepada programmer tentang cara menggunakan kode tersebut.

Banyak pemrogram menganggap Pascal sebagai bahasa pemrograman yang hampir mati, namun ia tetap bertahan dalam beberapa hal. “Percaya atau tidak, bahasa ini masih menjadi bahasa yang sangat populer di banyak belahan dunia, namun di A.S., Anda mungkin juga kita bisa berbicara bahasa Latin,” kata Dave Hatter, yang menghabiskan tiga tahun di sebuah perusahaan asuransi besar membantu memperbarui a juta baris kode yang memperkirakan biaya polis dan jumlah pembayarannya.

Banyak dari program lama ini ditulis jauh sebelum kekhawatiran mengenai pelanggaran keamanan saat ini dan memiliki informasi hak milik yang sensitif. Hatter, yang kini bekerja sebagai teknisi keamanan siber, memperkirakan bahwa program tersebut mungkin relatif aman hanya karena “keamanan karena ketidakjelasan” – pembuat kode muda tidak tahu apa yang harus dilakukan dengan kode yang sudah berusia puluhan tahun. “Seorang peretas berusia 15 tahun tidak akan tahu cara bekerja dengan mainframe IBM 390 dengan COBOL,” katanya. “Sekarang saya tidak mengatakan mereka tidak bisa belajar. Tapi mereka tidak akan tahu.”

Pascal adalah dasar dari sistem operasi awal Apple, dan turunan bahasa tersebut, Delphi, masih memiliki pendukung yang kuat. Faktanya, Skype — salah satu aplikasi panggilan video pertama yang mendapatkan popularitas dan penggunaan luas — pada awalnya ditulis dalam Delphi.

DASAR / Visual Dasar

BASIC tidak berada di urutan teratas dalam daftar bahasa yang digunakan orang pada tahun 2020, namun banyak aplikasi modern yang kami andalkan tidak akan ada tanpanya. Misalnya, jika Anda pernah memprogram makro Excel, Anda telah menggunakan bentuk BASIC.

Kependekan dari Kode Instruksi Simbolik Serba Guna Pemula, BASIC diluncurkan pada tahun 1963 di Dartmouth College sebagai cara untuk mengajar a khalayak umum tentang teori dan kemampuan pemrograman — menyelami air terlebih dahulu sebelum mempelajari bahasa yang lebih kuat seperti itu Fortran. Popularitas BASIC meningkat seiring dengan komputer pribadi — komputer Apple, IBM, dan Atari semuanya memiliki versinya masing-masing.

Pada pertengahan tahun 1980-an, para kutu buku komputer yang belajar secara otodidak tidak terlalu tertarik dengan BASIC dan lebih tertarik pada program pihak ketiga. Kemudian Microsoft meluncurkan Visual Basic pada tahun 1991, yang sebenarnya bukan merupakan pembaruan dari BASIC, tetapi menggunakan beberapa perintah dan struktur yang sama serta memiliki antarmuka grafis yang lebih baik. Kemudian bahasa tersebut digunakan oleh banyak bisnis untuk menulis program besar dan kecil. Meskipun Microsoft telah menyatakan menghentikan dukungan untuk Visual Basic 6 (versi terbaru) pada tahun 2008, namun bahasa tersebut masih memiliki banyak pengguna. Periksalah Indeks Tiobe (yang memetakan bahasa pemrograman paling populer): VB masih berada di 10 besar!

COBOL

poster kobol
Poster tahun 1969 yang mempromosikan Kelas MIT COBOL.

“Menurut saya, lebih dari 90% orang yang kita lihat memiliki COBOL sebagai bagian inti dari apa yang mereka tulis,” perkiraan Brandon Edenfield, yang memperbarui dan mentransisikan aplikasi lama untuk Sistem Modern dan telah membantu merevisi kode untuk bursa saham New York dan Singapura. “Perusahaan besar mana pun yang Anda pikirkan mungkin memiliki jumlah barang-barang ini yang tidak sehat.”

COBOL, singkatan dari Common Business-Oriented Language, diluncurkan pada tahun 1959 yang ditujukan untuk tugas pemrosesan data seperti pelacakan anggaran, transaksi perbankan, dan akuntansi penggajian. Departemen Pertahanan (DOD) awalnya merancang bahasa tersebut sebagai proyek sementara. Kemudian DOD mewajibkan produsen komputer untuk menyertakan COBOL pada mesin yang mereka jual dan bahasa tersebut dengan cepat menyebar selama beberapa dekade berikutnya. Lebih dari 95% ATM dan 40% bank masih menggunakan kode COBOL, menurut laporan tahun 2017 laporan Reuters.

Sebagian besar pemrograman ini diterapkan melalui komputer mainframe dan sistem modern telah dipindahkan ke cloud. Seperti yang diilustrasikan oleh kesulitan di New Jersey, para pengembang yang mengetahui cara memelihara kode COBOL sudah tidak lagi bekerja atau sudah pensiun.

Perusahaan yang memodernisasi program ini biasanya melakukannya dengan beberapa cara berbeda.

“Integrator sistem yang besar akan memberikan banyak hal pada kode; mereka akan duduk, melihatnya, dan menulis ulang,” kata Edenfield. Pendekatan tersebut sering kali merupakan pendekatan yang paling berisiko, memakan waktu, dan mahal. Rata-rata, pekerjaan replatforming besar yang menggunakan kode tangan dapat memakan waktu 3 hingga 10 tahun dan dapat menelan biaya ratusan juta dolar.

Edenfield merekomendasikan solusi otomatis dan mengatakan bahwa langkah logis pertama mungkin adalah memindahkan kodenya versi COBOL yang sudah ketinggalan zaman ke versi saat ini, yang memungkinkan banyak sistem bertransisi ke modern server. Ia mengibaratkan pembaruan mesin seperti menerjemahkan bahasa Prancis ke bahasa Inggris: “Dasar dari apa yang dikatakan diterjemahkan dengan sempurna. Anda hanya perlu memperbaiki sintaksis cara pengungkapannya.” Pendekatan ini juga dapat mengurangi waktu dan biaya pembaruan, antara enam dan 24 bulan, katanya.

Apakah akan murah? Yah, itu akan lebih murah. Proyek Sistem Modern biasanya memiliki kisaran harga mulai dari $200.000 hingga $10 juta. Sebagian besar proyek, jelas Edenfield, tidak menerjemahkan kode, namun melakukan pengujian untuk memastikan semuanya berfungsi dengan benar.

Alasan pembaruan ini tidak terjadi?

“Tidak ada yang pernah mendengar hal ini sebelumnya karena ini bukan topik yang seksi, dan orang-orang biasanya tidak mencoba membicarakan cucian kotor yang mereka miliki,” jelasnya. Para eksekutif TI juga mempunyai kebiasaan membuang-buang waktu.

“Saya berani bertaruh bahwa negara bagian New Jersey akan memperhatikan masalah ini sekarang, tapi saya juga berani bertaruh bahwa setengah dari rekan mereka akan berpikir hal ini tidak akan terjadi pada mereka, 'Bukan saya.'”