19 Sep 2016
Dari “Kelayakhunian dan Pertumbuhan Sedikit demi sedikit,” oleh Richard Gabriel:
Ada karakteristik perangkat lunak yang mungkin belum pernah Anda pikirkan dan mungkin memiliki pengaruh terhadap desain bahasa pemrograman dan tentu saja metodologi perangkat lunak. Ini adalah kelayakan huni .
Habitability adalah karakteristik dari kode sumber yang memungkinkan programmer, coders, bug-fixer, dan orang-orang yang datang ke kode di kemudian hari untuk memahami konstruksi dan niatnya dan untuk mengubahnya dengan nyaman dan percaya diri.
Kelayakhunian membuat tempat layak huni, seperti rumah. Dan inilah yang kami inginkan dalam perangkat lunak—yang membuat para pengembang betah, dapat menempatkan tangan mereka pada item apa pun tanpa harus berpikir mendalam tentang di mana letaknya.
Saya pernah mendengar Gregor Kiczales—salah satu desainer CLOS—mengatakan bahwa dia berharap praktik ilmu komputer dapat mencapai tingkat keunggulan teknik yang menciptakan bangunan seperti Superdome di New Orleans. Dia menunjukkan bahwa desain Superdome menyatukan potongan-potongan yang terbuat dari berbagai bahan dan dari berbagai disiplin ilmu teknik dan bangunan. Hasilnya adalah monumen untuk keterampilan teknik itu. Ini adalah gambar yang menggoda, tapi menurut saya itu tidak masuk akal.
Bangunan seperti Superdome kurang layak huni. Dalam hal ini orang-orang menghuni bangunan tersebut, tetapi hanya untuk jangka waktu yang sangat singkat, dan untuk acara-acara yang sangat khusus—dan bangunan seperti itu tidak mudah tumbuh atau diubah. Superdome adalah bangunan statis, dan karena itu dapat berdiri sebagai monumen, menjadi sedikit lain.
Sebuah gedung pencakar langit modern, untuk mengambil contoh lain, memiliki interior tetap yang tidak fleksibel, yang merupakan sekunder dari keindahan desain eksterior. Sedikit perhatian diberikan pada cahaya alami, dan seringkali interiornya dibangun sebagai “ruang kantor fleksibel”, yang berarti bilik. Fleksibilitas bagi manajemen untuk mendirikan kantor untuk perusahaan, bukan untuk penghuni—karyawan—untuk menyesuaikan ruang mereka sendiri. Ketika Anda kehabisan ruang di gedung pencakar langit, Anda membangun yang lain; Anda tidak mengubah yang sudah ada atau menambahkannya.
Bandingkan ini dengan rumah pertanian New England. Ini dimulai sebagai rumah kecil dengan gudang di belakang. Saat keluarga tumbuh dan kebutuhan pertanian tumbuh, ruang belakang ditambahkan ke rumah, lalu ruang pengalengan, lalu ruang untuk nenek; kandang ditambahkan ke gudang, kemudian sayap untuk memerah susu lebih banyak sapi. Akhirnya rumah dan gudang terhubung karena terlalu sulit untuk pergi dari rumah ke gudang dalam badai salju. Hasilnya bertele-tele, tetapi setiap bagian sesuai dengan kebutuhannya, setiap bagian cocok dengan yang lain, dan hasilnya indah karena merupakan struktur hidup dengan orang-orang yang hidup di dalamnya. Penduduk dapat memodifikasi lingkungan mereka karena setiap bagian dibangun sesuai dengan pola desain, penggunaan, dan konstruksi yang sudah dikenal dan karena pola tersebut mengandung benih untuk pertumbuhan sedikit demi sedikit.
Saya pikir ini harus menjadi tujuan praktik ilmu komputer. Sebagian besar bahasa pemrograman sangat bagus untuk membangun program yang merupakan monumen untuk merancang kecerdikan—sangat efisien, tepat, dan jelas—tetapi orang tidak membuat program seperti itu. Program hidup dan berkembang, dan penghuninya—para pemrogram—perlu bekerja dengan program itu seperti cara petani bekerja dengan wisma.
Apa saja hal-hal yang berkontribusi pada program tidak layak huni? Terlalu sering menggunakan abstraksi dan kompresi yang tidak tepat muncul di pikiran..
Baca Lagi
Rekomendasi:
- Mengapa permainan langsung adalah masa depan kasino online Jika Anda seorang penggemar permainan kasino online, Anda akan tahu bahwa teknologi telah membuka jalan bagi beberapa permainan baru dan klasik yang luar biasa. Ini bahkan lebih baik dari ini…
- Lebih Banyak Permainan Crypto Dari Sebelumnya Muncul… Jika Anda pernah bertaruh dengan Bitcoin dan mata uang kripto lainnya sebelumnya, Anda akan memahami bahwa kasino kripto baru bermunculan setiap saat. Anda mungkin juga tahu bahwa hari-hari judul homebrew…
- Jalan bagi teknologi TI dari globalisasi Berkat kemajuan teknologi saat ini, kita sekarang hidup di dunia yang benar-benar digital yang sebagian besar didorong oleh beberapa teknologi TI yang berbeda. Inilah mengapa masyarakat saat ini telah sepenuhnya…
- Microsoft baru saja memberi pembeli alasan untuk… Ketika Microsoft mengumumkan keberadaan Surface Duo yang diberdayakan Android dan saudara kandungnya Surface Neo pada tahun 2019, ada banyak kegembiraan atas desain dan proposisi unik keduanya. Mereka akhirnya membuat mimpi…
- Cara membuat Windows 11 berjalan lebih baik di… Microsoft sedang mengerjakan pembaruan baru untuk Windows 11 yang akan membuat sistem operasi (OS) baru berjalan lebih baik pada perangkat keras yang usang dan murah.Windows 11 Build 22526 saat ini…
- Obral Valentine: Pelajari cara membuat kode dengan… StackCommerce Pemrogram profesional mendapatkan upah yang layak. Gaji bervariasi dari satu negara bagian ke negara bagian lainnya dan bergantung pada faktor lain, tetapi mungkin saja seorang pembuat kode yang berbakat…
- Teknologi di balik permainan kasino online favorit Anda Sejak kasino online pertama yang mengizinkan pembayaran otomatis membuka pintu virtualnya pada tahun 1996, teknologi terus berkembang. Ini membeli grafik yang lebih baik, fitur baru, dan lebih banyak permainan daripada…
- WhiteSource menambahkan deteksi, perbaikan untuk… Bergabunglah dengan para eksekutif terkemuka hari ini secara online di Data Summit pada 9 Maret. Daftar disini. WhiteSource hari ini berkembang melampaui pengamanan penggunaan kode sumber terbuka dalam pengembangan aplikasi,…
- Bagaimana Amazon Membawa Produknya Dari Ide ke Eksekusi Mendesain produk dari awal bisa seperti mengemudi di malam hari: Jalan di depan gelap, dan hanya beberapa meter di depan Anda diterangi oleh lampu depan Anda.Itu menurut Apurva Gupta, desainer…
- Monorepo: Mengenal Konsep, Keuntungan, dan… Selamat datang di blog kami yang membahas tentang monorepo. Dalam dunia pengembangan perangkat lunak, monorepo adalah konsep yang semakin populer dalam pengelolaan kode sumber. Pada blog ini, kami akan menjelaskan…
- Clerky sedang merekrut insinyur perangkat lunak… Bantu perbaiki industri hukum!Cara penyelesaian dokumen hukum dipenuhi dengan ketidakefisienan, yang menyebabkan biaya hukum yang sangat tinggi. Kami memperbaikinya dengan membuat perangkat lunak yang mengotomatiskan dan menyederhanakan proses.Kami menguntungkan dan…
- Pixel 6 dan Pixel 6 Pro akan hadir dengan pembaruan… Dengan asumsi Anda berhasil memesan Pixel 6 atau Pixel 6 Pro, maka Anda harus tahu bahwa setelah ponsel ada di tangan Anda, Anda akan memerlukan sedikit waktu ekstra untuk menyiapkan…
- Bagaimana menjaga rumah pintar Anda tetap aman dan… Konsep rumah pintar menjadi semakin lazim dalam beberapa tahun terakhir, dan perangkat rumah pintar dapat menawarkan kenyamanan dan membuat segalanya menjadi lebih sederhana. Gadget seperti kamera pintar dan bel pintu…
- 5 Alat Manajemen Proyek untuk Pengembang Perangkat Lunak Ketika sebagian besar tim memikirkan perangkat lunak manajemen proyek, mereka berpikir untuk menggunakannya agar tetap teratur dan sesuai tugas. Namun, untuk pengembang perangkat lunak, alat manajemen proyek lebih dari itu.…
- Teknologi berbasis ML adalah terobosan berikutnya… 29 November 2021 16:40 Kredit Gambar: kentoh/Shutterstock Mendengar dari CIO, CTO, dan eksekutif tingkat C dan senior lainnya tentang data dan strategi AI di Future of Work Summit 12 Januari…
- Tanggapan 5 Kata Elon Musk terhadap Saran Pengguna… Anda harus memberi penghargaan kepada CEO Tesla, Elon Musk. Dia mampu melakukan sesuatu dengan Tesla yang tidak dimiliki pembuat mobil lain--membangun kendaraan listrik (EV) yang ingin dibeli dan dikendarai orang.…
- Intel hybrid Alder Lake menawarkan versi non-hibrida… Intel berencana untuk menawarkan versi hibrida chip Alder Lake—tanpa inti efisiensi—dan AVX512 memang mati pada gen ke-12. Perusahaan mengkonfirmasi dengan PCWorld bahwa AVX512 tidak akan hadir dalam chip generasi ke-12…
- Layanan Pelanggan Lebih Penting Dari Sebelumnya--Dan… Bagi banyak perusahaan, Nenek dan cucu--dan itu tidak berkurang.Menemukan pekerja yang cocok untuk tugas telah lama menjadi tantangan, tetapi kemitraan baru antara Arianna Huffington's Thrive dan perusahaan perangkat lunak pengalaman…
- Microsoft Teams akhirnya mendapatkan pembaruan yang… Bekerja sama dengan orang lain di luar organisasi Anda di Microsoft Teams akan segera dimungkinkan berkat pembaruan baru untuk alat kolaborasi online Microsoft.Kelompok kerja sering kali melampaui satu organisasi dengan…
- Betapa terburu-buru untuk proses penyiapan aplikasi… Meskipun tantangan pertama bagi pengembang aplikasi — dan pemasar — dalam permainan pemasangan aplikasi adalah membuat aplikasi yang disukai dan ingin digunakan orang setiap hari, langkah penting berikutnya adalah mendistribusikan…
- Perusahaan Miliarder Orlando Bravo Berencana untuk… Orlando Bravo – salah satu pendiri Thoma Bravo – telah mengkonfirmasi bahwa perusahaannya berencana untuk berinvestasi di industri blockchain yang lebih luas. Rencana Investasi Thomas Bravo Pengusaha miliarder itu mengungkapkan…
- Ethereum Foundation Meluncurkan Program Insentif… Ethereum Foundation (EF) telah mengumumkan peluncuran program insentif baru untuk tim kliennya. Dijuluki Program Insentif Klien, EF mengatakan inisiatif ini dirancang untuk mendorong tim pengembangan perangkat lunak seperti Besu, Erigon,…
- Superconductive, startup yang mengembangkan solusi… Bergabunglah dengan para eksekutif terkemuka hari ini secara online di Data Summit pada 9 Maret. Daftar disini. Biarkan buletin OSS Enterprise memandu Anda perjalanan sumber terbuka! Daftar di sini. Masalah…
- Petunjuk kebocoran perangkat Chromecast baru pada… Dengan Google yang menyulap begitu banyak platform, tidak mudah untuk melacaknya, apalagi mencari tahu mana yang pada akhirnya akan dihapus. Ini bahkan lebih tidak pasti di sisi hiburan dan multimedia,…
- Simpan Changelog Apa itu changelog? Changelog adalah file yang berisi daftar perubahan penting yang disusun secara kronologis untuk setiap versi proyek. Mengapa menyimpan changelog? Untuk memudahkan pengguna dan kontributor melihat dengan tepat…
- Dompet kripto USB terbaik Dompet cryptocurrency perangkat keras adalah salah satu cara paling aman untuk menyimpan aset digital Anda. Mereka adalah perangkat kecil yang terpasang pada komputer atau tablet mana pun untuk mengirim pembayaran,…
- Kabel USB ini akan mematikan laptop Anda jika terputus Beranda Berita Komputasi (Kredit gambar: BusKill)Meskipun Anda dapat menggunakan perangkat lunak antivirus untuk melindungi dari virus dan VPN untuk melindungi privasi online Anda, melindungi perangkat Anda dari serangan fisik bisa…
- Perangkat Lunak Pajak Terbaik untuk Wiraswasta Jika Anda membeli sesuatu melalui tautan kami, kami dapat memperoleh uang dari mitra afiliasi kami. Pelajari lebih lanjut.Proses pengajuan pajak untuk individu ini sedikit berbeda. Anda perlu memperhitungkan pendapatan bisnis…
- Tips untuk menjual Google Pixel 7 Pro Anda Penting untuk dicatat bahwa apakah Anda menjual Pixel 7 tergantung pada keadaan dan kebutuhan Anda masing-masing. Namun, ada beberapa alasan mengapa seseorang mempertimbangkan untuk menjual perangkatnya. Misalnya, jika seseorang ingin…
- Google meluncurkan Ripple, standar terbuka yang… Google telah secara publik membuat chip radar kecil sejak 2015. Mereka dapat memberi tahu Anda seberapa baik Anda tidur, mengontrol jam tangan pintar, menghitung lembaran kertas, dan memungkinkan Anda memainkan…