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:
- 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…
- Pra-Black Friday Doorbuster: Dapatkan langganan… StackCommerce Sebagian besar remaja memiliki ponsel mereka sendiri akhir-akhir ini. Tapi apakah Anda benar-benar tahu apa yang Anda lakukan saat mereka menggunakan perangkat mereka? Jika Anda seperti kebanyakan orang tua,…
- Kesepakatan Black Friday Tentang Perlindungan… Catatan Editorial: Kami mendapatkan komisi dari tautan mitra di Penasihat Forbes. Komisi tidak mempengaruhi opini atau evaluasi editor kami. Black Friday adalah saat yang tepat untuk menemukan penawaran perlindungan Antivirus…
- 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…
- 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,…
- 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…
- 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…
- 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…
- 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…
- Seperti Apa 10 Tahun Ke Depan Kemungkinan Akan… Tidak seorang pun (kecuali Steve Jobs, mungkin) dapat memprediksi dampak iPhone ketika diperkenalkan pada tahun 2007. Tak terhitung banyaknya smartphone lain yang telah dirilis dengan fitur perangkat keras yang luar…
- Langganan Windows 365 sekarang menawarkan Windows 11 Microsoft Pada bulan Juli, Microsoft meluncurkan layanan Windows 365 Windows-in-the-cloud tanpa Windows 11. Microsoft kini telah memperbaiki pengawasan itu, sebagai bisnis yang berlangganan Windows 365 sekarang memiliki opsi Windows 11…
- 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…
- 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…
- Bagaimana mengetahui kapan Anda membutuhkan komputer baru Di dunia teknologi yang berkembang pesat, komputer memainkan peran yang sangat diperlukan dalam kehidupan kita sehari-hari. Mulai dari tugas pekerjaan hingga hiburan dan segala sesuatu di antaranya, ketergantungan kita pada…
- 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.…
- 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…
- 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…
- Chip Qualcomm khusus akan mendukung masa depan… Qualcomm mengatakan pada hari Selasa di CES bahwa perusahaan tersebut bekerja sama dengan Microsoft untuk mengembangkan chip augmented-reality khusus untuk membantu kedua perusahaan mengembangkan kacamata augmented-reality yang ringan. Qualcomm, yang…
- 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…
- Peretas Nvidia Menawarkan untuk Menjual Bypass… Grup peretas yang mengklaim telah menyusup ke server Nvidia mencoba menjual beberapa data yang mencakup cara membuka kunci kartu grafis untuk penambangan Ethereum. Pada akhir Februari, raksasa semikonduktor Nvidia melaporkan…
- 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…
- 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…
- 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…
- 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 |…
- 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…
- 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…
- 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…
- 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.…
- 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…
- Nikmati penghematan Cyber Monday hingga 70% untuk… Kebanyakan orang akan setuju bahwa gamer adalah kelompok yang cukup selektif. Dan itu membuat mereka sangat sulit untuk berbelanja, terutama di sekitar liburan. Jadi kami telah menyusun daftar lima item…