Saya menggunakan ChatGPT untuk menulis rutin yang sama dalam sepuluh bahasa pemrograman yang jarang dikenal ini

gambar9.jpg

Beberapa minggu yang lalu, saya melihat penggunaan ChatGPT untuk menulis rutin yang sama dalam beberapa bahasa pemrograman paling populer. Tetapi sebagai pecinta bahasa pemrograman, saya bertanya-tanya sejauh mana ChatGPT bisa pergi. Apakah ChatGPT dapat memprogram dalam bahasa dari tahun 1950-an? Apakah ChatGPT dapat memprogram dalam bahasa yang menggunakan set karakternya sendiri? Apakah ChatGPT dapat menulis kode dalam salah satu bahasa yang menulis kodenya sendiri?

Juga: AI chatbots terbaik: ChatGPT dan alternatif yang boleh dicuba

Dan seterusnya, saya terjun ke dalamnya. Saya telah menggunakan banyak bahasa yang saya soroti di sini, jadi saya akan berjalan-jalan ke masa lalu sedikit dan menyertakan beberapa cerita tentang pengalaman saya dengan bahasa-bahasa yang saya gunakan.

Walaupun saya belum menjalankan kod itu sendiri, saya telah membaca melalui semua program yang dihasilkan. Kebanyakan kelihatan betul, dan menunjukkan penanda yang sesuai memberitahu kita bahawa bahasa yang dipaparkan adalah bahasa yang saya minta.

Saya memberitahu Anda ini kerana tajuk-tajuk pada semua tangkapan skrin tersebut salah. Kebanyakan tercatat sebagai SQL. Untuk sebab yang tidak diketahui, BAL ditunjukkan sebagai VBNet, dan Prolog tercatat sebagai Rust. ChatGPT tidak membuat kesalahan ini pada kali yang lalu, tetapi ia terjadi hari ini untuk semua bahasa yang ditunjukkan di sini.

Dan dengan itu, mari kita mulai.

Fortran

Maklumat lanjut mengenai Fortran (atau FORTRAN seperti yang ditunjukkan pada masa itu) yang bermaksud Penterjemahan Formula. Ia dibangunkan terutamanya untuk pengiraan saintifik dan kejuruteraan. Walaupun ia berusia sejak tahun 1950an, ia sering menjadi bahasa pertama yang diajar kepada pelajar kejuruteraan pada tahun 1970an dan 1980an.

Juga: Teknologi baharu ini boleh mengatasi GPT-4 dan segala yang serupa

Bagi saya, ini adalah bahasa pengaturcaraan keempat saya, setelah BASIC, bahasa pemrograman PDP-8, dan kod binari PDP-8 (ya, saya menulis kod binari supaya saya boleh memainkannya pada panel depan minikomputer awal). Ayah saya dengan murah hati membawa saya selama satu jam ke Kolej Kejuruteraan Newark (kini NJIT) supaya saya boleh mengambil kursus pengaturcaraan tahun pertama mereka ketika saya masih di tingkatan dua sekolah menengah.

Fortran tidak pernah menjadi kegemaran, walaupun ia boleh menyelesaikan kebanyakan pekerjaan yang berkaitan dengan pengiraan. Varian Fortran masih digunakan hingga hari ini, tetapi ia terhad pada kerja saintifik pakar kerana banyak bahasa moden lain yang menyediakan analitik pada tahap Fortran, dan melakukannya dengan lebih baik.

Di sini, kerana penggunaan kata kunci implicit, nampaknya ChatGPT menggambarkan kod yang ditulis dalam varian Fortran-77.

gambar7.jpg

COBOL

Saya adalah seorang pemrogram COBOL remaja. Saya tidak tahu tentang COBOL pada waktu itu, tetapi sekitar tahun 1980 saya melihat iklan lowongan pekerjaan untuk seorang pemrogram COBOL di Pusat Data Wilayah Timur Laut International Paper di Denville, NJ. Tempat itu berjarak sekitar 40 menit dari rumah orang tua saya, dan saya membutuhkan pekerjaan musim panas. Begitu saya berhasil mengatur jadwal wawancara, saya segera pergi ke toko buku setempat dan menghabiskan akhir pekan untuk membaca semua materi bacaan COBOL yang saya temukan.

COBOL ditujukan untuk pemrosesan yang berorientasi pada bisnis. Hari ini, jenis pelanggan yang sama akan menjadi pengguna SAP atau Salesforce. Namun, COBOL, seperti yang Anda bisa lihat dari kode COBOL-88 di bawah ini, fungsional, tetapi tentu saja tidak elegan.

Ternyata, mereka menginginkan seorang pekerja tetap. Tetapi karena saya berhasil dalam tes mereka (ternyata akhir pekanku belajar berhasil mengalahkan skor para profesional yang melamar), mereka memutuskan untuk mempekerjakan saya selama musim panas. Mengatakan bahwa ada ketidakcocokan budaya adalah sebuah pernyataan yang kurang tepat. Ini adalah awal dari era komputer mikro (bayangkan pra-PC) dan saya sangat bersemangat dengan hal-hal seperti itu. Sementara itu, orang-orang ini sangat serius dengan jas dan dasi serta pusat data raksasa. Saya hampir segera mendapat julukan "Trouble". Hey, saya masih anak-anak.

Momen yang menentukan bagi saya datang saat salah satu programmer yang lebih berpengalaman di perusahaan itu mengajak saya berbincang, dan saya kutip, "COBOL adalah kehidupan." Saya menerima pesan tersebut dengan penuh pengertian dan memutuskan bahwa saya tidak ingin hidup saya hanya tentang COBOL. Musim panas itu adalah kali terakhir saya memprogram dalam COBOL.

gambar11.jpg

RPG (Report Program Generator)

Tidak, ia bukan granat berkuasa roket atau permainan peranan. RPG adalah satu program untuk mencipta laporan. Anda dapat melihat perkembangan dalam bahasa (dan pemikiran bahasa komputer, secara umum) di antara dua versi yang ditunjukkan di bawah ini. RPG II berasal dari akhir tahun 1950-an. RPG IV dikemaskini pada tahun 1990-an, dan jauh lebih moden (tetapi masih pastinya usang).

Saya pernah menulis beberapa program RPG III untuk AS/400 sebagai pekerjaan sampingan ketika masih kuliah, tetapi saya tidak terlalu mengikutinya dengan cermat.

gambar3.jpg

Lisp

Saya mempunyai hubungan cinta jangka panjang dengan Lisp. Lisp, dinamakan berdasarkan LISt Processor, kadang-kadang digambarkan sebagai Lots of Insipid Stupid Parentheses. Mengapa pun, tanda kurungan tersebut memberi kesan dalam pemikiran saya. Lisp merupakan penggerak bagi saya untuk melibatkan diri dalam pemrograman AI, dan seperti yang kita pelajari daripada pemprosesan bahasa ChatGPT, pengetahuan boleh diwakili sebagai rentetan perkataan, atau senarai.

Kembali pada tahun 1980-an, saya menjadi seorang pengurus produk untuk pelaksanaan Common Lisp berdasarkan RISC, dan mengkod dalamnya untuk beberapa waktu. Berdasarkan sintaks defun greeting dan let yang dihasilkan oleh ChatGPT, kelihatannya kod di bawah ini juga Common Lisp, variasi terkini daripada pelaksanaan Lisp asal yang dibangunkan oleh John McCarthy pada akhir tahun 1950-an. McCarthy adalah salah seorang bapa penemu penyelidikan AI, jadi adalah sesuai sekali jika AI menulis dalam bahasa itu.

gambar4.jpg

Algol

ALGOL (ALGOritmaik Language) merupakan sebuah bahasa yang maju pada zamannya. Ia membolehkan pemindahan fungsi sebagai parameter, dan membenarkan penggunaan rekursi. Ini adalah dua komponen utama dalam pengaturcaraan moden yang tidak terdapat dalam bahasa popular seperti Fortran dan COBOL, yang ketika itu sedang popular pada masa pengenalan ALGOL.

Jika Fortran, BASIC, dan bahasa rakitan mengajarkan saya pemrograman dari atas ke bawah, ALGOL mengajarkan saya bagaimana memperstruktur kode saya. Ini adalah bahasa dasar yang menetapkan dasar bagi penggunaan saya terhadap C, Pascal, Java, JavaScript, dan sebagian besar bahasa terstruktur modern yang kita gunakan saat ini.

gambar5.jpg

Simula

Simula, seperti yang anda boleh bayangkan, telah dibangunkan untuk simulasi dan pemodelan. Seperti ALGOL, Simula juga lebih maju dari zamannya, menyokong penggunaan objek dan kelas. Pemrograman berorientasikan objek sejak itu telah menjadi asas bagi banyak bahasa pengaturcaraan yang paling berkesan hari ini.

Penggunaan kata kunci OUTFIX memberitahu saya bahawa ChatGPT mungkin menulis kod berikut dalam Simula-67.

gambar6.jpg

Bahasa Bal-IBM (Bahasa rakitan IBM 360/370)

BAL, yang merujuk kepada "basic assembly language," merupakan bahasa perakitan untuk raksasa besi IBM pada tahun 1970an dan 1980an. Bahasa perakitan dianggap lebih tingkat "rendah" daripada bahasa "tingkat tinggi," berarti setiap instruksi dan kata kunci dipetakan ke instruksi prosesor individu. Dalam bahasa tingkat tinggi (seperti yang banyak kita gunakan sekarang), bahasa tersebut sering jauh dari arsitektur mesin yang mendasarinya, dan dirancang lebih untuk efisiensi pemrograman daripada penggunaan perangkat keras yang efisien.

Saya mengambil satu semester kursus BAL di universiti. Ia amat mencabar. Profesor tersebut kebanyakannya berdiri dengan belakangnya menghadap pelajar, merenung dengan monoton sambil menulis tanpa henti di papan hitam. Saya duduk di barisan belakang bersama seorang gadis bernama Laura. Suatu hari, Laura dan saya memutuskan untuk menyelinap keluar tingkap belakang untuk membeli kopi. Setelah mendapatkan kopi kami, kami memanjat semula ke dalam tingkap. Profesor tersebut tidak pernah menyedari.

Adalah suatu keajaiban kalau salah seorang dari kita lulus, tetapi tidak mengherankan bahwa hampir tidak ada dari kita yang memilih BAL programming sebagai senjata pemrograman pilihan kita.

gambar8.jpg

APL

APL, atau A Programming Language, adalah bahasa pengaturcaraan lain. Salah satu aspek yang paling menarik mengenai APL adalah ia menggunakan set karakter bukan piawai untuk beberapa operator dan kodnya. Anda boleh melihatnya dalam imej di bawah. Glif-glif kecil ini adalah apa yang ChatGPT dapat paparkan daripada fon yang digunakan, tetapi APL direka untuk menggunakan fon Unicode APL385, yang unik untuk pengaturcaraan dalam APL.

Kerana sintaks ringkasnya dan keupayaannya mengendalikan set data yang besar, ia digunakan dalam sebilangan projek sains, kewangan, dan analitik.

gambar10.jpg

Prolog

Prolog (yang berasal dari frasa Programming in Logic) adalah bahasa lain yang difokuskan pada AI. Prolog adalah bahasa deklaratif, yang mencantumkan aturan dan kondisi, lalu menjalankan kueri atas deklarasi tersebut. Menurut ChatGPT:

Prolog adalah salah satu bahasa pemrograman yang digunakan dalam pengembangan ChatGPT, khususnya untuk pembangkitan teks. Ia digunakan dalam modul Prolog-to-English, yang menerjemahkan bentuk logika dalam Prolog menjadi kalimat dalam bahasa alami.

gambar1.jpg

Percakapan Ringkas

Smalltalk adalah istimewa. Ia telah dibangunkan di Xerox PARC, makmal penyelidikan yang sama yang mempengaruhi perkembangan tetikus dan persekitaran berjendela. Ia menggabungkan beberapa inovasi Simula dalam pemrograman berorientasikan objek dan pergi lebih jauh. Ia juga merupakan salah satu bahasa pertama yang membuat penggunaan aktif terhadap persekitaran pemrograman interaktif berdasarkan GUI. Banyak bahasa terkini, termasuk Java, Python, dan Ruby, telah sangat dipengaruhi oleh Smalltalk.

Saya hanya bermain-main dengan Smalltalk, terutamanya untuk mengenalinya. Ketika itu saya tinggal di Lembah Silicon dan berkenalan dengan para perancang Smalltalk yang kemudian memisahkan diri dan membentuk ParcPlace Systems, dengan tujuan untuk memasarkan Smalltalk di luar kekakuan korporat Xerox. Saya mempunyai banyak kenangan indah mengenai teori pemrograman yang dibincangkan sambil menikmati tulang rusuk dan salad kobis di sebuah restoran barbecue kecil yang agak lusuh di Palo Alto.

Salah seorang VP yang bekerja dengan saya di syarikat komputer tempat saya bekerja mencuba untuk membuat saya memulakan syarikat bersamanya untuk mengaplikasikan Smalltalk ke pasaran korporat, tetapi pada masa itu saya belum terjalin dengan demam mula syarikat. Smalltalk tidak pernah berjaya dalam pasaran. Walaupun demikian, walaupun saya begitu gembira dengan jalan hidup yang saya pilih, kadang-kadang saya tertanya-tanya apa yang akan terjadi jika saya menerima tawarannya.

imej2.jpg

Saya mempunyai pemikiran

Saya tidak menjalankan kod ini, dan kerana saya tidak sefamiliar baru-baru ini dengan bahasa-bahasa ini seperti yang saya lakukan dengan PHP dan JavaScript, saya tidak dapat memastikan bahawa kajian visual saya menjamin kod yang ditunjukkan di atas akan berjalan dengan berjaya. Seperti yang kita lihat pada awal minggu ini dengan penerokaan kemahiran pemrograman baru Bard, adalah mungkin untuk menulis kod tanpa kod tersebut berfungsi.

Juga: Saya meminta ChatGPT untuk menulis sebuah plugin WordPress yang saya perlukan. Ia melakukannya dalam waktu kurang dari 5 minit

Kami memang tahu bahawa setiap contoh terdapat sekurang-kurangnya satu kesalahan: tajuk-tajuknya salah. Jadi walaupun keupayaan AI untuk menghasilkan kod dalam beberapa bahasa yang agak jarang digunakan ini sungguh menakjubkan, jangan anggap ia menjalankan keseluruhan tugas dengan betul.

Jika anda memutuskan untuk menggabungkan pemrograman ChatGPT ke dalam aliran kerja anda, anda perlu memeriksa, menguji, dan membetulkan kod yang dihasilkannya sama seperti anda akan memeriksa jika anda mengambil seseorang untuk menulis rutin dasar untuk anda.

Artikel Berkaitan

Lihat Lebih Banyak >>

Buka kunci kuasa AI dengan HIX.AI!