Pelaksanaan pelayan web baharu yang ditulis sepenuhnya dalam COBOL telah menarik perhatian para pembangun, mencetuskan perbincangan mengenai keselamatan memori, keaslian bahasa pengaturcaraan, dan aplikasi praktikal bahasa warisan dalam sistem moden. Projek ini, dipanggil Webbol , menunjukkan bahawa COBOL boleh mengendalikan tugas rangkaian kontemporari, tetapi ia juga telah menimbulkan persoalan penting mengenai keselamatan dan amalan pembangunan.
Batasan Pelayan Webbol:
- Operasi benang tunggal (satu permintaan pada satu masa)
- Tiada sokongan SSL/TLS
- Saiz fail maksimum: 64KB
- Organisasi fail berurutan baris sahaja
- Tiada caching atau pemampatan
- Tiada sokongan permintaan julat atau kandungan separa
Kebimbangan Keselamatan Memori Timbul dalam Pelaksanaan COBOL
Komuniti dengan cepat mengenal pasti kelemahan keselamatan yang berpotensi dalam pelaksanaan pelayan web COBOL . Para pembangun menyatakan bahawa COBOL , walaupun mempunyai reputasi untuk kestabilan, tidak sememangnya selamat dari segi memori seperti bahasa moden seperti Rust . Bahasa ini membenarkan pengubahsuaian rujukan yang boleh mengakses memori di luar sempadan struktur data asal, mewujudkan risiko keselamatan yang berpotensi.
Satu kebimbangan khusus timbul berkenaan kemungkinan limpahan penimbal dalam pengendali HTTP , di mana ruang yang hilang antara kaedah dan laluan berpotensi melimpahi penimbal memori yang diperuntukkan. Walaupun pengkompil COBOL moden menangkap banyak pelanggaran sempadan semasa kompilasi atau masa jalan, fleksibiliti bahasa dalam akses memori bermakna pembangun mesti sentiasa berwaspada tentang amalan keselamatan.
Pengubahsuaian rujukan: Ciri COBOL yang membenarkan program mengakses bahagian tertentu medan data, serupa dengan operasi subrentetan dalam bahasa lain.
Amalan Pengaturcaraan COBOL Tulen Membahagikan Pendapat
Perdebatan menarik timbul mengenai penggunaan mod format tetap COBOL projek ini, yang meniru gaya pengaturcaraan era kad tebuk asal. Format ini memerlukan kedudukan lajur khusus untuk elemen kod yang berbeza, dengan lajur 1-6 untuk nombor baris, lajur 7 untuk penunjuk, dan lajur 12-72 untuk kenyataan program sebenar.
Jika anda akan menulis COBOL pada tahun 2025, anda mungkin juga cuba mendapatkan pengalaman yang paling tulen!
Walau bagaimanapun, sesetengah pembangun menyatakan ketidakkonsistenan di mana Makefile projek menggunakan bendera -free
untuk kompilasi, mencadangkan pendekatan bercampur kepada konvensyen pemformatan COBOL . Ini menyerlahkan ketegangan berterusan antara mengekalkan amalan pengaturcaraan bersejarah dan menyesuaikan diri dengan aliran kerja pembangunan moden.
Mod format tetap: Gaya pengaturcaraan COBOL asal berdasarkan kekangan kad tebuk, memerlukan kedudukan lajur khusus untuk elemen kod yang berbeza.
Struktur Lajur Format Tetap COBOL :
- Lajur 1-6: Nombor baris
- Lajur 7: Aksara penunjuk (* untuk komen)
- Lajur 8-11: Penanda bahagian khas
- Lajur 12-72: Penyata COBOL
- Lajur 73-80: Komen/nota pengaturcara
Pengaturcaraan Logik Perniagaan Mendapat Tafsiran Literal
Perbincangan mengambil giliran yang lucu apabila pembangun menunjukkan ironi tujuan asal COBOL . Seperti yang dinyatakan oleh seorang ahli komuniti, orang sering berkata untuk memilih alat terbaik untuk kerja tetapi kemudian enggan menggunakan COBOL untuk masalah Common Business Oriented Language - tujuan tepat yang mana COBOL direka.
Pemerhatian ini mencetuskan refleksi tentang bagaimana pemilihan bahasa pengaturcaraan sering melibatkan faktor budaya dan persepsi di luar merit teknikal tulen. Komen yang luas di seluruh kod pelayan web COBOL juga mencabar andaian tentang kod yang mendokumentasikan diri sendiri, terutamanya apabila khalayak yang dimaksudkan mungkin tidak biasa dengan bahasa pengaturcaraan tersebut.
Projek Webbol berfungsi sebagai demonstrasi teknikal dan pemula perbualan tentang peranan bahasa warisan dalam pengkomputeran moden. Walaupun ia mungkin tidak sedia untuk pengeluaran kerana had seperti benang tunggal dan had saiz fail 64KB, ia berjaya menunjukkan bahawa walaupun bahasa pengaturcaraan yang berusia beberapa dekad boleh menyesuaikan diri dengan cabaran pengkomputeran kontemporari apabila digunakan secara kreatif.
Rujukan: Webbol