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:
- Hemat 70% dari bundel sertifikasi Excel ini dengan… StackCommerce Orang yang akrab dengan Microsoft Excel menghadapi peluang yang lebih baik untuk mendapatkan pekerjaan. Tidak memiliki keterampilan penting ini di resume Anda? Kemudian, dapatkan kecepatan — dan cepat —…
- NHTSA mengeluarkan penarikan keamanan pada hampir… Facepalm: Sejumlah terbatas kendaraan Tesla menjadi subjek penarikan keselamatan NHTSA baru-baru ini. Rupanya, Tesla berpikir itu akan menjadi ide bagus untuk memasukkan fitur dalam perangkat lunak self-driving-nya yang memungkinkan mobil…
- 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…
- Coinpool: Panduan Lengkap Mengenai Platform Mining… Mining cryptocurrency menjadi salah satu cara populer untuk mendapatkan mata uang digital. Coinpool adalah salah satu platform mining cryptocurrency yang dapat membantu Anda memulai aktivitas mining dengan lebih mudah. Dalam…
- Apa itu layanan desktop dan bagaimana cara kerjanya? Desktop sebagai layanan (DaaS) adalah model untuk mengirimkan data melalui Internet. Ini adalah cara untuk menyerahkan pengelolaan dan penyimpanan data kepada pihak ketiga. Dengan DaaS, perusahaan dapat fokus pada kompetensi…
- Sebuah Kata Peringatan untuk Tenaga Kerja… Menjelang peringatan dua tahun awal pandemi COVID-19, saya mengingat kembali berapa kali saya ditanya oleh klien dan kolega tentang apakah tenaga kerja TI jarak jauh akan menjadi pekerja sementara atau…
- Founder Ini Jadikan CEO Karyawan Sehari. Ini… Ville Houttu menjalankan pertunjukan di agen perangkat lunak Vincti USA. Anda mungkin belum pernah mendengarnya -- ada ratusan CEO perusahaan perangkat lunak di seluruh negara bagian, ribuan di seluruh negeri.…
- 5 tugas mudah yang meningkatkan keamanan Anda Melindungi data pribadi Anda tidak hanya cerdas akhir-akhir ini—tetapi juga suatu keharusan. Saat dunia semakin terhubung, info pribadi Anda menjadi semakin berharga. Baik itu menggunakan informasi yang bocor dari pelanggaran…
- 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…
- 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…
- Uji ketahanan Pixel 6 Pro adalah masalah besar Pixel 6 dan Android 12 mewakili perubahan yang cukup signifikan dari masa lalu Google. Perangkat lunak sekarang dirancang agar lebih mudah untuk dipersonalisasi dan perangkat keras telah ditingkatkan untuk mengikuti…
- Hemat 20% untuk MyDraw seumur hidup dengan kode… StackCommerce Ada beberapa manfaat untuk membuat diagram ide. Tetapi menggambar diagram alur dengan tangan itu rumit dan, jika artisnya tidak terlalu berbakat, itu bisa menjadi penghalang daripada bantuan. Namun, dengan…
- 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.…
- Berapa Banyak Uang yang Dihasilkan Tukang Ledeng? Berapa penghasilan tukang ledeng? Ini pertanyaan yang bagus jika Anda ingin memulai perdagangan . Plumbing adalah pekerjaan yang stabil dengan gaji rata-rata $25,55 per jam.Inilah semua yang perlu Anda ketahui…
- 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…
- Pengusaha perangkat lunak manajemen bisnis harus… Akan selalu ada beberapa hal yang terjadi, terlepas dari ukuran organisasi Anda. Mengelola terlalu banyak hal secara bersamaan tanpa membuat kesalahan tidak mungkin dilakukan. Jika Anda ingin memperbaiki semuanya, masuk…
- Alat Poker Digunakan oleh Pro Online pada tahun 2022 Situs poker online telah membuat poker lebih terjangkau dan meningkatkan jumlah uang yang tersedia bagi pemain untuk menang. Namun, mereka juga membuat poker lebih kompetitif. Saat ini, hanya memiliki keterampilan…
- Tahun Baru, Penjualan Baru Anda: Pelajari… StackCommerce Pasar game global diperkirakan akan melebihi $314 miliar AS pada tahun 2026. Itu menunjukkan tingkat pertumbuhan hampir dua kali lipat nilainya hanya dua tahun lalu. Ingin memasuki karir baru…
- Umpan RSS tentang apa yang dilakukan Pemerintah Umpan RSS tersedia untuk banyak koleksi govinfo dan umumnya mencakup 100 dokumen terbaru yang diterbitkan. Umpan juga tersedia untuk data massal, yang dapat digunakan dengan penyimpanan data massal GPO untuk…
- 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…
- Bagaimana pelacakan dan penelusuran paket dapat… Setiap tahun sekitar 1,3 miliar ton makanan yang diproduksi di dunia terbuang sia-sia.Untuk mengatasi masalah ini, perusahaan telah berinvestasi dalam solusi pelacakan dan pelacakan lot. Dengan berfokus pada peningkatan manajemen…
- Pra-Black Friday: Dapatkan XSplit Broadcaster… Kebocoran data Twitch baru-baru ini mengungkapkan berapa banyak uang yang diperoleh streamer teratas mereka. Dan, peringatan spoiler, itu banyak — Satu, pada kenyataannya, telah menghasilkan hampir $ 10 juta hanya…
- 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…
- Pertukaran Crypto HitBTC menambahkan XanPool sebagai… HitBTC, platform pertukaran crypto yang populer, hari ini mengumumkan keberhasilan integrasi dari mitra gateway baru, XanPool.XanPool adalah solusi fiat-gateway yang dirancang untuk platform cryptocurrency seperti pertukaran, dompet , dan lain-lain.…
- 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…
- 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…
- 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…
- 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,…
- Masa depan teknologi pintar Munculnya kecerdasan buatan (AI) telah mengantarkan era baru inovasi teknologi, mengubah perangkat sehari-hari menjadi pendamping cerdas yang dapat beradaptasi, belajar, dan meningkatkan kehidupan kita. Gadget bertenaga AI telah menjadi bagian…
- Datang ke laptop di dekat Anda: Jenis chip keamanan… AT LONG LAST — AMD menjadi pembuat CPU pertama yang mengintegrasikan chip rancangan Microsoft ke dalam produknya. Dan Goodin - 4 Jan 2022 22:15 UTC Pada November 2020, Microsoft meluncurkan…