Adakah Java COBOL seterusnya?

Dalam mania kami untuk yang baru, lebih mudah untuk melupakan berapa lama "lama" tinggal bersama kami. Ambil COBOL, sebagai contoh. Bahasa pengaturcaraan yang terhormat bertukar menjadi 60 bulan ini dan, seperti yang ditulis oleh Steven J. Vaughan-Nichols, dapat "hidup lebih lama dari kita semua."

Sememangnya, COBOL memberikan contoh hebat dari kemajuan yang sebenarnya dalam industri kita, sementara mungkin juga menawarkan beberapa petunjuk mengenai COBOL esok. Java dan SQL, ada orang? Atau mungkin Python?

COBOL tenaga kerja

Sebilangan besar orang yang membaca catatan ini tidak dilahirkan pada tahun 1959, tahun Mary Hawes mengemukakan idea untuk COBOL (Common-Oriented Language), yang kemudian diteruskan oleh Grace Hopper (dan lain-lain). Tujuan Hawes, seperti yang diingatkan oleh Vaughan-Nichols, adalah untuk membuat "perbendaharaan kata seperti bahasa Inggeris yang dapat digunakan di komputer yang berlainan untuk melakukan tugas-tugas asas perniagaan," bahasa netral vendor.

Walaupun masa kejayaan COBOL mereda pada tahun 1980-an, ia terus menggerakkan 70 persen sistem pemprosesan transaksi global, menurut Micro Focus (syarikat yang mengekalkan COBOL), dalam wawancara dengan Vaughan-Nichols. Tarik wang dari ATM? Anda menggunakan COBOL. Membayar gadai janji? COBOL. Digelar pusat panggilan? Ya, itu juga COBOL. Walaupun menempah percutian anda hampir pasti bergantung pada COBOL.

COBOL diduga telah berakhir selama beberapa dekad, namun 220 bilion saluran COBOL hidup dalam kerangka utama kehidupan kita. Menurut Lero, sebuah pusat penyelidikan kejuruteraan perisian, transaksi COBOL mengecilkan carian Google sebanyak 200x pada tahun 2014. Adakah Google akan berjaya?

COBOL lebih dari sekadar dotard yang tinggal di flat pesara kerangka utama. Selain mudah dibaca, bahasa ini sentiasa dikemas kini dengan jiran-jirannya. Hari ini COBOL berintegrasi dengan kontena Docker dan Java, semasa berjalan di awan atau di Linux atau Windows, atau di mana sahaja di mana sahaja. Ini adalah bahasa yang sangat mudah alih yang membolehkan pembangun memberi tumpuan untuk menulis aplikasi mereka sementara COBOL menangani selok-belok sistem operasi yang mendasari.

Hari ini, risiko terbesar bagi COBOL adalah semakin sukar untuk mencari pengaturcara yang berkelayakan. Bahasa ini mungkin mempunyai puluhan tahun lagi untuk hidup bersama kami, memandangkan kos dan risiko penggantian sistem berasaskan COBOL dengan alternatif, tetapi itu tidak bermakna pembangun semakin bermimpi untuk menulis program COBOL pertama mereka. Ini masalah, tetapi bukan satu yang ingin saya selesaikan dalam catatan ini. (Maaf!)

Sebaliknya, mengkaji sejarah COBOL selama 60 tahun membuat saya berfikir tentang bahasa hari ini yang boleh menjadi "COBOL" esok. Maksudnya, apa saja bahasa / teknologi yang masih akan diketengahkan di sebalik pelbagai teknologi masa depan?

Esok COBOL hari ini

Sudah tentu sukar untuk meramalkan masa depan, tetapi ada banyak kes yang harus dibuat untuk SQL, Python, dan Java. Selama bertahun-tahun Dave Kellogg memanggil SQL sebagai COBOL baru. Itu mungkin benar dari segi umur panjang dan persepsi bahawa ia sudah ketinggalan zaman, tetapi yang selari akhirnya membuahkan hasil. Hanya ada satu COBOL. Untuk semua kepalsuannya, SQL menggunakan dialek yang berbeza bergantung pada penyedia pangkalan data. Walaupun itu tidak menghalang SQL untuk bertahan (dan pasti akan tetap relevan untuk beberapa dekad yang akan datang), ia tidak begitu terasa seperti semangat keluarga COBOL.

Tentunya tidak sama dengan Java.

Java, seperti COBOL, agak mudah dibaca dan ditulis. Seperti COBOL, Java juga mengekalkan kemodenannya. Setiap kali Java kelihatan semakin pudar, ada sesuatu yang memakainya. Menurut Brian Leroux, Android pasti bertanggung jawab sebahagian untuk relevansi [Java] yang berterusan. " Beberapa saat kemudian, data besar menghidupkan kembali Java. Seperti yang disoroti oleh Nitin Borwankar, "Java menerima angin kedua karena Hadoop dan keseluruhan ekosistem sains data termasuk bahasa Hive, HBase, Spark, Cassandra, Kafka, dan JVM seperti Groovy dan Clojure. Semua itu tidak akan hilang dalam masa terdekat. "

Memang, seperti COBOL, salah satu sebab utama kita melihat Java terpahat di batu nisan kita adalah kerana, seperti yang ditulis oleh Jonathan Eunice, ia "digunakan secara mendalam dan meluas dalam aplikasi kritikal, menjadikannya layak untuk dikritik secara sistematik." Semakin banyak perusahaan memasukkan Java ke dalam aplikasi yang paling penting untuk misi mereka, semakin kecil kemungkinannya ia akan dirobek dan diganti untuk alternatif moden. Kos dan risiko dikurangkan daripada melakukannya.

Dengan cara yang sama, Python dapat membuktikan kekuatannya. Untuk fikiran Lauren Cooney, Python akan bertahan kerana itu adalah bahasa "GSD [menyelesaikan sesuatu] berbanding bahasa yang keren." Ini "tidak mewah." Ia hanya berfungsi. Yang penting, seperti Java, Python menjadi asas kepada sains data moden, antara lain, yang mungkin terbukti menjadi beban kerja transaksional esok yang menanggung sistem kewangan (yang, seperti yang disebutkan, adalah sebab besar COBOL tetap sejuk hari ini).

Apa-apa lagi? Nah, ada tindak balas tidak-lidah-di-pipi yang mungkin COBOL adalah COBOL masa depan. Seperti yang dinyatakan oleh Andrew Oliver, “Bertahun-tahun yang lalu saya mengatakan Java adalah COBOL masa depan. Semua orang memandang saya dengan pelik. Saya fikir ia adalah masa depan. "