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:
- 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,…
- 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…
- Google Pixel 6 dan Pixel 6 Pro siap menyala di semua… Kredit Gambar: Eric Zeman/ Otoritas Android Paket OTA Januari untuk Google Pixel 6 (“oropiole”) dan Google Pixel 6 Pro ("gagak") telah mulai diluncurkan. Pembaruan perangkat lunak membawa perbaikan mulai Desember…
- Hubungan FSF dengan firmware berbahaya bagi pengguna… FSF memiliki hubungan yang tidak menguntungkan dengan firmware, menghasilkan kebijakan yang masuk akal di akhir 1980-an, tetapi secara aktif merugikan pengguna saat ini, dengan merekomendasikan peralatan usang, yang membutuhkan peningkatan…
- 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,…
- Hemat 20% untuk berlangganan seumur hidup Prelo… StackCommerce Mencoba membangun start-up dari awal? Maka Anda memiliki jalan panjang di depan saat Anda mencoba untuk mendapatkan pelanggan — itulah sebabnya orang-orang mulai menggunakan Prelo. Dan sekarang adalah waktu…
- Monorepo: Meningkatkan Efisiensi Pengembangan… Monorepo: Meningkatkan Efisiensi Pengembangan Perangkat Lunak Pendahuluan Halo Sobat Sekitar! Selamat datang di dunia pengembangan perangkat lunak yang terus berkembang. Pada kesempatan kali ini, kita akan membahas tentang monorepo, sebuah…
- 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…
- Video Quick Take: James Markarian tentang… Todd Pruzan, HBR Selamat datang di Pengambilan Cepat Video HBR. Keluarnya Australia yang, Menteri keuangan Turki dan proyek khusus di Harvard Business Review. Pandemi global telah mempercepat kebutuhan perusahaan perangkat…
- Cara menggunakan ponsel Anda dengan aman 3 Rundown: Apa yang 1973. Tujuan awal ponsel adalah untuk meningkatkan mobilitas komunikasi. Teknologi modern telah jauh melampaui fungsi ini, mengantarkan era baru konektivitas.Secara historis, hanya ada sedikit contoh barang…
- 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…
- 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…
- 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…
- 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…
- Platform pelokalan berkelanjutan Lokalise… 14 Desember 2021 01:00 Lokalis: Ilustrasi konsep Kredit Gambar: Lokalise Bergabunglah dengan para pemimpin game, bersama GamesBeat dan Facebook Gaming, untuk GamesBeat & Facebook Gaming Tahunan ke-2 mereka Puncak |…
- 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…
- 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…
- 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…
- 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…
- DevCycle (YC W14) sedang membangun kembali flag… DevCycle adalah untuk pengembang perangkat lunak yang bosan dengan tekanan, kerumitan, dan risiko yang datang dengan merilis kode baru. Alat yang sederhana dan kuat untuk digunakan pengembang yang juga memudahkan…
- 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…
- KubeCon + CloudNativeCon Soroti Keamanan untuk Open Source KubeCon + CloudNativeCon Amerika Utara minggu ini secara langsung dan konferensi virtual menempatkan keamanan untuk pengembangan sumber terbuka kembali menjadi sorotan sementara juga membicarakan peningkatan pesat cloud native. Pryanka Sharma,…
- 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…
- 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…
- 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…
- 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 —…
- Perangkat terbaik untuk permainan kasino online Teknologi inovatif memengaruhi perkembangan industri perjudian online dari berbagai perspektif. Pertama, mereka bergantung pada opsi dan kemampuan permainan kasino. Aspek lain dari dampak ini adalah variabilitas perangkat iGaming. Gadget ini…
- Intro ramah pemula untuk pemrograman Java ini hanya… StackCommerce Kami mengunduh lebih banyak aplikasi pada tahun 2021 daripada sebelumnya. Dan tren menunjukkan bahwa kami akan mengunduh lebih banyak lagi tahun ini. Inti nya? Jika Anda mencari karier yang…
- Mengapa Anda Harus Mempekerjakan Pengembang dengan… Musim panas lalu, komunitas Reddit /r/programmerhumor diguncang oleh pertanyaan yang didengar seseorang dalam wawancara kerja. Subreddit penuh dengan balasan seperti "Ini mengerikan" atau "Saya mungkin akan berbohong ... karena saya…
- 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…