Era Disrupsi
2025 ini adalah tahun terpesat dimana dunia Artificial Intelligence berkembang pesat, dimana pengerjaan kode sudah terlampaui oleh sistem kecerdasan buatan ini, semua aspek komprehensif didalam dunia programming seperti syntax itu sudah terkuasai oleh data, sehingga memungkinkan penggunanya untuk cukup memerintahkan penulisan kode yang begitu sederhana. Namun, di lain waktu, cara orang untuk mempelajari bahasa pemrograman pun akan terlihat lebih sederhana karena bantuan alat kecerdasan buatan, AI.
Pengenalan Software Programming
Programming yang akan kita bicarakan ini adalah software programming, saya akan menyingkat kata ini menjadi programming dan programmer saja untuk mempersingkat kalimat; Banyak orang yang sedang belajar bahasa pemrograman, mereka belajar hal-hal dasar seperti variabel, struktur, fungsi, hingga hal-hal yang lebih konseptual seperti syntax, class, dan konsep yang lebih besar lagi seperti object-oriented programming; semua aspek mereka pelajari untuk mengeksekusi pembuatan sistem apa yang akan dibangun oleh sang programmer. Semakin kompleks kebutuhan untuk menyelesaikan masalah dunia nyata, semakin mengikis banyak waktu pula untuk sang programmer membangun semua sistem itu; barulah mereka membuat program dengan file-file yang terstruktur seperti library, atau saya nyaman menyebutnya module.
| Sebuah snippet kode Python yang menunjukkan import sebuah objek component_a dan sebuah fungsi function_do_thing dari sebuah module file |
Module ini bisa dijadikan sebuah komponen yang berwujud file, dimana didalamnya terlibat dan terdapat mekanisme semisal import dan export untuk menggunakan ulang variabel, struktur, maupun fungsi atau yang lainnya; Banyak sekali sistem-sistem yang kompleks dapat dipecah dengan salah satu cara ini, hingga banyak juga orang yang mengembangkan berbagai macam pattern atau pola penciptaan sistem ini sebagai model guna mempermudah dan menyederhanakan masalah yang nantinya akan diselesaikan, contohnya semisal pattern yang cukup populer didalam pengembangan web, yaitu Model-View-Controller, dan banyak orang yang membuat sebuah framework sebagai implementasi siap guna dari model pattern ini untuk para programmer.
Jurang Para Programmer
Karena banyak programmer yang terkadang sedang belajar; sementara mereka juga terkadang tidak mengetahui dan bodo amat pada module yang mereka instal untuk sistem mereka, yang bahwasanya module itu biasanya mereka instal dari repositori yang siap pakai. Disinilah jurang-jurang dan kecacatan itu dimulai karena segala komponen-komponen yang didalam module terkadang mereka tidak baca, atau bahkan terlalu kompleks hanya untuk membaca sistem didalam kodenya saja. Saya ingat, pernah ada orang yang mengutip seperti ini:
You may not like it, but the truth is you're not a software engineer; you're a "frameworker" or someone who can copy and paste better. - Muneeb Hussain @ Medium
Dan memang itulah kenyataannya yang dibiasakan para programmer, dan sebenarnya tidak hanya itu juga yang menjadi jurang para programmer, melainkan ada pula hal-hal lain seperti ketergantungan update module, dimana keamanan yang telah ada namun belum teridentifikasi menjadi sebuah bencana bagi banyak orang, seperti insiden yang membuka celah Remote Code Execution (eksekusi kode secara remote) pada module Apache Log4j di beberapa tahun yang lalu.