Politik dan Komputer
Apa itu Filsafat?
Menurut Anda, apa itu filsafat? Definisi kamus menyatakan bahwa itu adalah aktivitas berpikir dan mencari jawaban atas kehidupan dan pertanyaan mendasar di dunia
. Ini juga dapat didefinisikan secara perilaku sebagai memperluas pemikiran melalui serangkaian pertanyaan yang sama, atau pertanyaan yang berurutan, dan membagikan jawaban tersebut, daripada memecahkan masalah dengan jawaban yang sudah ditentukan.
Dulu, saat saya menempuh studi sarjana, saya pernah mengambil mata kuliah yang berkaitan dengan filsafat politik. Saya ingat saat itu, pada waktu perkenalan diri saya, profesor saya mengatakan sesuatu yang serupa dengan filsafat politik dan ilmu komputer adalah disiplin ilmu yang berada di puncak filsafat yang berbeda
. Meskipun bukan persis kata-kata atau kalimat ini, saya rasa maknanya kira-kira seperti itu.
Ilmu Komputer
Saya menganggap ilmu komputer sebagai penyelidikan mendasar untuk memecahkan masalah logis
. Oleh karena itu, setiap orang yang memikirkan suatu masalah dapat menghasilkan berbagai jawaban. Contoh yang paling umum adalah pengurutan. Dalam penyelidikan tentang cara mengurutkan data yang sama secara berurutan, terdapat berbagai metode seperti bubble, insertion, selection, merge, quick, heap, dan tim. Dan dengan memisahkannya, algoritma yang lebih baik dapat muncul.
Selain itu, jika dilihat secara lokal, dapat juga dikatakan sebagai membangun dan membuktikan
. Pengurutan yang disebutkan di atas terus dibangun dan hasilnya dibuktikan. Bagi para pengembang, contoh yang lebih dekat adalah ketika perencanaan proyek muncul, itu dapat dilihat sebagai implementasi dan pembuktian bahwa itu berfungsi dengan baik.
Filsafat Politik
Saya menganggap filsafat politik sebagai penyelidikan mendasar untuk memecahkan masalah sosial
. Setiap zaman secara berulang mengajukan pertanyaan tentang masalah yang sudah ada, menghasilkan jawaban, dan membagikannya kepada masa kini dan masa depan. Ini terutama membahas nilai-nilai abstrak yang ditafsirkan secara berbeda sesuai dengan zaman dan budaya, seperti keadilan, kebebasan, kesetaraan, dan kekuasaan, dan tidak ada batasan yang jelas antara baik dan buruk, benar dan salah, dan memiliki karakteristik yang tidak ditentukan.
Selain itu, jika dilihat secara lokal seperti ilmu komputer, dapat dilihat sebagai bertanya dan merenung
. Terus-menerus bertanya tentang masalah yang muncul, mengapa itu terjadi, apa arah yang lebih baik, merenung, dan menghasilkan jawaban. Ini juga menghasilkan banyak jawaban sebanding dengan jumlah orang yang berpikir.
Mengapa Kita Perlu Tahu Politik/Komputer?
Hubungan Panggilan Timbal Balik
Kedua dunia ini tampaknya menjelajahi domain yang berbeda, namun pada kenyataannya mereka berbagi banyak kesamaan, dan memiliki banyak poin di mana mereka menjadi sebab dan akibat satu sama lain.
Mari kita ambil satu contoh.
- Jika data kesehatan pribadi disimpan dengan aman di cloud, setiap rumah sakit dapat dengan cepat mengaksesnya saat dibutuhkan. ⇒ Ini diimplementasikan dengan pemrograman menggunakan fungsi-fungsi setiap domain secara aman dan mudah diakses.
- Lalu, data itu milik siapa? Saya? Petugas yang mendaftar? Atau penyelenggara? Pengembang? Negara? Lalu, sejauh mana mereka bisa melihat data saya? Sejauh mana dan bagaimana privasi saya dijamin terlindungi? ⇒ Akan ada wacana politik tentang perbedaan posisi dan kepentingan berbagai komunitas dan individu.
- Setelah itu, wacana politik dan desain serta implementasi pemrograman akan saling mengikuti dan berulang.
Demikian pula, ilmu komputer digunakan untuk memecahkan masalah sosial yang ada, dan kemudian filsafat politik digunakan untuk menyadari dan memecahkan masalah yang muncul dari sana, mengajukan pertanyaan, dan memecahkan masalah berikutnya. Ini adalah fenomena yang wajar di masyarakat informasi modern.
Apakah Politik dan Komputer Serupa?
Poin yang Tampak Tidak Serupa
Kedua dunia ini juga telah berkembang dalam bentuk yang serupa. Namun, dasar-dasarnya memiliki perbedaan antara ekspresi yang ambigu dan ekspresi yang jelas, sama seperti hubungan antara filsafat sosial dan filsafat alam. Jika filsafat politik didasarkan pada definisi yang variabel dan ambigu yang terdiri dari bahasa alami, ilmu komputer didasarkan pada proposisi yang tidak berubah dan jelas yang terdiri dari rumus daripada bahasa alami.
Selain itu, arahnya juga diekspresikan secara halus berbeda. Ilmu komputer melihat bahwa solusi optimal mungkin ada. Dan filsafat politik berbicara tentang konsep-konsep ambigu seperti argumen yang lebih meyakinkan, argumen yang lebih beralasan, argumen yang lebih etis. Namun, menurut saya, arah keduanya hampir serupa. Pada akhirnya, mereka tampaknya mengejar yang berikutnya yang lebih baik
. Meskipun ilmu komputer memiliki berbagai bidang saat ini, mereka berupaya menunjukkan rasio kompresi, kinerja kompresi, dan biaya lisensi yang lebih baik untuk kompresi media, yang secara representatif disebut codec.
Poin yang Tampak Serupa
Secara representatif, bahasa pemrograman dan ideologi pemerintahan tampaknya diterapkan secara serupa pada manusia. Meskipun setiap bahasa dan ideologi tidak dapat disesuaikan, saya akan mencantumkannya untuk hiburan.
- Bahasa C (
pengembang tahu apa yang mereka lakukan
): Saya ingin membandingkannya dengan republikanisme. Ini mirip dengan republikanisme, yang secara historis menjadi dasar sistem politik Barat, dan juga menyerupai komunitarisme yang menekankan kesadaran individu warga negara dan upaya individu untuk mencapai cita-cita yang lebih baik. Saya juga merasa bahwa hak-hak disertai dengan tanggung jawab yang serupa. - Java (
tulis sekali, jalankan di mana saja
): Saya tidak tahu. Ada hukum yang kuat, dan orang hidup seragam dengan mematuhinya, tetapi itu stabil dan bebas di dalamnya. Dan jika Anda masuk ke Spring, berbagai kesejahteraan menunggu Anda. Haruskah kita menyebutnya liberalisme? - C# (
harmoni antara produktivitas pengembang dan prinsip-prinsip rekayasa perangkat lunak
): Di bawah perlindungan pemerintah yang kuat, semuanya dirancang dengan baik, dan dalam apa yang direncanakan di atasnya, produktivitas dan kinerja dapat dimaksimalkan. Ekonomi terencana cocok. Bukan komunisme karena sarana produksi telah dilepaskan dan produsen tidak dibatasi. - Go (
tinggalkan kompleksitas, ambil kepraktisan dan efisiensi
): Tidak ada yang serupa. Berikan semuanya, jadilah negara kesejahteraan. - Rust (
keamanan tanpa penurunan kinerja
): Kepemilikan dan lifetime Rust dikelola oleh penguasa, yaitu kompiler yang ketat. Ini adalah sosialisme, karena untuk mencegah ketidaksetaraan dan risiko yang timbul dari kegiatan ekonomi bebas individu, komunitas mengelola dan merencanakan sarana produksi untuk menjamin kehidupan yang stabil, yang terlihat sebagai pembatasan sebagian kebebasan individu untuk mengejar keamanan dan kesetaraan sistem secara keseluruhan. - JavaScript (
fleksibilitas dan toleransi, dan keberadaan di mana-mana
): Saya ingin membandingkannya dengan kapitalisme. Bahasa ini memungkinkan individu untuk memiliki sarana produksi, dan bahkan fasilitas pun dimiliki secara melimpah oleh individu. Berkat itu, berbagai produk industri muncul, dan siapa pun dapat mencari keuntungan melalui persaingan bebas. Namun, pasar tanpa regulasi segera jatuh ke dalam kekacauan. - TypeScript (
JavaScript yang diperluas
): Tentu saja, ini adalah kapitalisme yang dimodifikasi. Kepercayaan pada kapitalisme hancur, dan pemerintah campur tangan sampai batas tertentu untuk mengatasi ketidakstabilan pasar. Kebebasan penuh yang ada sebelumnya relatif mundur, tetapi siapa pun masih dapat memasuki pasar dan bersaing secara bebas.
Dan secara mengejutkan, tidak sedikit pengembang yang bertengkar hebat tentang bahasa, seolah-olah mereka sedang dalam perang ideologi di dunia nyata. Bahasa itu sendiri adalah ideologi yang familiar bagi pengembang, dan ideal yang harus dikejar.
Negara dan Arsitektur
- Arsitektur Monolitik dan Negara Terpusat: Semua termasuk dalam satu basis kode raksasa dan satu biner. Ini memiliki struktur yang mirip dengan negara tunggal dengan pemerintah pusat yang kuat atau monarki absolut. Semua fungsi negara dikendalikan oleh satu sistem kekuasaan.
- Keuntungannya adalah paling mudah untuk membentuk negara dan pengambilan keputusan dapat dilakukan dengan cepat. Ini sejalan dengan keuntungan bahwa seluruh perangkat lunak dapat dirilis dengan cepat. Karena semua sumber daya dan informasi terkonsentrasi di satu tempat, pengelolaannya jelas.
- Namun, semakin besar negara, semakin sulit untuk beradaptasi dengan perubahan, dan bahkan untuk mengubah undang-undang atau sistem kecil, seluruhnya harus ditinjau dan diterapkan. Ada juga risiko bahwa masalah di satu bidang dapat melumpuhkan seluruh negara. Monolitik juga sulit beradaptasi dengan perubahan karena basis kode yang besar dan kode yang saling terkait, dan bahkan untuk mengubah satu baris kode, ruang lingkup dampaknya harus dihitung, dan masalah yang terjadi di satu modul mudah memengaruhi seluruh sistem.
- MSA (Microservices Architecture) dan Negara Federal: Setiap fungsi sistem dipisahkan menjadi layanan independen. Ini memiliki kesamaan dengan negara federal di mana setiap bagian negara terdiri dari beberapa negara bagian yang independen. Selain itu, setiap layanan dan negara bagian memiliki infrastruktur yang independen. Campur tangan pemerintah pusat longgar, dan kesamaan lainnya adalah tidak diketahui kapan kemerdekaan dan penggabungan akan terjadi.
- Pada dasarnya, setiap negara bagian dan layanan independen dapat mengamandemen hukum/menulis kode secara independen. Ini menghilangkan kebutuhan untuk menyesuaikan tempo satu sama lain. Selain itu, bahkan jika masalah terjadi di satu tempat, seluruh federasi sulit lumpuh. Dan dapat memilih sistem (teknologi) yang sesuai dengan setiap daerah atau bidang.
- Namun, mencapai kesepakatan timbal balik atau membuat saluran komunikasi adalah hal yang sulit. Sulit untuk menerapkan kebijakan yang konsisten, yang dapat menyebabkan kebingungan.
- EDA (Event-Driven Architecture) dan Masyarakat Sipil: Daripada pemerintah pusat atau perwakilan langsung memerintah, individu secara proaktif dan otonom menangani masalah sosial yang muncul. Ini mirip dengan karakteristik EDA di mana ketika suatu peristiwa terjadi, seseorang dari pelanggan secara otonom mengambil dan memprosesnya.
- Siapa pun dapat dengan mudah berpartisipasi. EDA juga memungkinkan layanan baru dengan mudah menjadi pelanggan baru dan berpartisipasi dalam proses.
- Namun, ada kelemahan yaitu tidak dapat memahami seluruh alur. Sulit untuk melacak siapa yang memproses dan bagaimana, dan tidak diketahui rantai reaksi apa yang akan ditimbulkan oleh satu peristiwa.
- Layered Architecture dan Feodalisme: Feodalisme adalah struktur di mana setiap lapisan memenuhi peran dan tanggung jawab yang diberikan, melakukan kewajiban kepada lapisan yang lebih tinggi. Mereka terikat dalam semacam hubungan kontraktual, dan membentuk struktur dominasi vertikal yang ketat, yang memiliki kesamaan dengan arsitektur berlapis.
Meskipun lebih banyak analogi dimungkinkan, inti dari tulisan ini terletak pada proses pembangunan struktur itu sendiri, bukan pada strukturnya.
Apakah Penyelesaian Masalah Pengembangan dan Politik Sama?
Jika arsitektur perangkat lunak dan sistem negara serupa, maka proses membangun keduanya juga secara mengejutkan sejajar. Proses pengembangan perangkat lunak pada dasarnya tidak berbeda dengan tindakan politik untuk membangun dan mengembangkan tatanan baru di ruang digital.
- Publikasi Masalah Sosial dan Analisis Persyaratan**: Semuanya dimulai dengan pertanyaan "Apa masalahnya?". Sama seperti penderitaan dan ketidaknyamanan masyarakat sipil dipublikasikan dan menjadi agenda politik, ketidaknyamanan dan persyaratan pengguna, setelah melalui analisis, menjadi tonggak pertama pengembangan, yaitu 'Spesifikasi Persyaratan'.
- Desain Konstitusi dan Desain Arsitektur**: Negara seperti apa yang akan dibangun? Sistem seperti apa yang akan dibangun? Sama seperti politisi yang membangun kerangka konstitusi dan undang-undang berdasarkan ideologi dan filosofi, arsitek menggambar cetak biru arsitektur yang akan menjadi dasar sistem berdasarkan keyakinan teknis. Keputusan pada tahap ini menentukan nasib sistem.
- Pelaksanaan Kebijakan dan Implementasi Perangkat Lunak**: Setelah desain selesai, pengembang menulis kode sebenarnya, dan pejabat administrasi melaksanakan kebijakan sesuai dengan undang-undang. Ini adalah proses di mana rencana abstrak terlahir sebagai entitas konkret yang berfungsi di dunia nyata.
- Penilaian melalui Pemilu dan Pengujian Perangkat Lunak**: Kebijakan dinilai keabsahannya melalui pemilu dan opini publik. Perangkat lunak diverifikasi nilainya melalui pengujian tim QA dan umpan balik pengguna. Keduanya pada akhirnya hanya dapat bertahan jika mendapatkan persetujuan dari kedaulatan (warga negara, pengguna).
- Reformasi Institusi dan Pemeliharaan Sistem**: Undang-undang dan sistem yang telah dibuat tidak abadi. Sama seperti undang-undang lama direvisi dan institusi direformasi untuk beradaptasi dengan perubahan zaman, perangkat lunak juga akan menjadi kode mati jika berhenti
refactoring
untuk beradaptasi dengan lingkungan yang berubah dan meningkatkan inefisiensi internal.
Dengan demikian, seluruh proses, mulai dari definisi masalah hingga desain, implementasi, verifikasi, dan perbaikan berkelanjutan, menunjukkan bahwa kedua dunia berbagi irama penyelesaian masalah yang sama.
Hari Para Legislator Baru
Masyarakat informasi telah membuat jarak antara dua puncak filsafat itu tidak berarti. Kode bukan lagi hanya sirkuit logika sederhana, tetapi telah menjadi 'hukum (Code is Law)' yang mengatur hubungan antarmanusia, mendistribusikan kekuasaan, dan mewujudkan nilai-nilai sosial. Jika arsitektur yang kita rancang menyerupai struktur pemerintahan suatu negara, dan proses pengembangan yang kita ikuti sama dengan proses kesepakatan politik, lalu siapakah kita para pengembang ini? Dan apa yang harus dilakukan politisi? Oleh karena itu, pengembang sekarang harus merenungkan tidak hanya logika kode, tetapi juga masyarakat yang akan diciptakan oleh kode tersebut, dan politisi harus memahami tidak hanya logika suara, tetapi juga logika teknologi yang menggerakkan dunia. Karena kekuasaan besar yang kita pegang di dunia masing-masing disertai dengan tanggung jawab etis yang setara.