1 poin oleh GN⁺ 2024-02-13 | 1 komentar | Bagikan ke WhatsApp

Kisah pengembangan sistem operasi Multics

  • Andre Bensoussan, yang mengembangkan sistem operasi Multics, bertanggung jawab atas pekerjaan perubahan utama pada sistem berkas.
  • Pengelola VTOC adalah subsistem yang menangani pemindahan informasi berkas antara disk dan memori, pengelolaan kumpulan buffer memori bersama, serta pengelolaan ruang informasi di disk.
  • Andre menangani perancangan, implementasi, dan pengujian pengelola VTOC, sambil membuat banyak diagram sebagai bagian dari proses desain.

Proses pengembangan dan keberhasilan

  • Koordinator proyek, Tom Van Vleck, sempat khawatir tentang jadwal, tetapi menjadi tenang setelah Andre mulai menulis kode.
  • Andre menulis kode dengan pensil alih-alih menggunakan terminal komputer, menolak bantuan pengetikan, dan melakukan seluruh pekerjaan sendiri.
  • Pada akhirnya, ia memasukkan kode rapi yang ditulis dengan pensil ke terminal untuk dikompilasi; setelah memperbaiki beberapa salah ketik, kode itu berhasil dikompilasi.
  • Saat diintegrasikan ke dalam sistem dan diuji, pengelola VTOC bekerja sempurna sejak awal.

Rahasia keberhasilan Andre

  • Andre menulis program yang sempurna hanya dengan menggunakan pensil sebagai alat.
  • Satu-satunya bug yang ditemukan pada pengelola VTOC berasal dari kesalahan Tom Van Vleck, yang salah memberi tahu urutan pemanggilan prosedur penanganan kesalahan.
  • Cara kerja Andre diperkenalkan sebagai kisah tentang rekayasa perangkat lunak dalam IEEE Computer edisi April 1994, dan diperbarui pada November 2003.

Pendapat GN⁺

  • Kisah Andre Bensoussan dalam pengembangan sistem operasi Multics menunjukkan bagaimana desain yang matang dan konsentrasi dapat menghasilkan karya yang sempurna.
  • Pendekatan tradisional yang hanya menggunakan pensil dan kertas, ketika dibandingkan dengan alat pengembangan perangkat lunak modern yang kompleks, menekankan pentingnya pendekatan yang setia pada dasar-dasarnya.
  • Kisah ini menjadi contoh baik yang mengingatkan pentingnya persiapan yang teliti dan pengujian dalam bidang rekayasa perangkat lunak, serta memberikan pelajaran penting bagi pendidikan teknik.

1 komentar

 
GN⁺ 2024-02-13
Opini Hacker News
  • Ringkasan komentar pertama:

    • Persyaratan yang jelas: Alasan perangkat lunak memiliki lebih sedikit bug dan berjalan cepat adalah karena persyaratannya didefinisikan dengan jelas. Perangkat lunak saat ini sering kabur soal apa yang harus dibuat, dan terus berubah karena pendekatan "agile". Jika pengembang diberi API yang jelas dan kriteria yang terdefinisi dengan baik, sebagian besar dapat menulis kode yang efisien.
  • Ringkasan komentar kedua:

    • Kemampuan programmer Soviet: Dari pengalaman bekerja dengan orang yang melarikan diri dari Uni Soviet, programmer Soviet unggul karena akses ke komputer sangat terbatas. Mereka harus memrogram dengan kertas dan pensil, sehingga ada dorongan untuk membuatnya benar sejak awal.
  • Ringkasan komentar ketiga:

    • Pentingnya ruang kerja pribadi: Mengutip komentar akun jrd259 dari thread Hacker News sebelumnya, menekankan pentingnya meja besar dan ruang kerja pribadi tanpa notifikasi.
  • Ringkasan komentar keempat:

    • Pengalaman memrogram di atas kertas: Saat kecil, di rumah kakeknya, ia menulis program Turbo Pascal dengan mesin tik tanpa komputer, lalu menjalankannya belakangan di PC. Ia juga berbagi pengalaman menyalin fungsi penjumlahan biner dari bahasa pemrograman eksotis buatannya, Ziim, ke kertas untuk menemukan dan memperbaiki bug. Menekankan bahwa membatasi cara yang "mudah" dapat menghasilkan kode yang lebih matang.
  • Ringkasan komentar kelima:

    • Pemrograman di masa lalu: Pada akhir era "big iron", programmer tidak jauh berbeda dari petugas entri data. Program ditulis di atas kertas, dan waktu komputasi mahal serta berharga. Jika terjadi bug, perbaikannya tidak bisa dilakukan sampai jadwal eksekusi CPU berikutnya. Ini mendorong pendekatan yang hati-hati. Sekarang pengembangan perangkat lunak dilakukan secara iteratif sambil debugging di IDE.
  • Ringkasan komentar keenam:

    • Kode yang ditulis André Bensoussan: Menyediakan tautan ke kode yang ditulis André Bensoussan.
  • Ringkasan komentar ketujuh:

    • Ukuran perangkat lunak di masa lalu: Perangkat lunak saat itu jauh lebih kecil daripada sekarang, dan sebagian besar proyek berukuran dalam megabita, meski tetap terlalu besar untuk "dicatat" dalam satu berkas.
  • Ringkasan komentar kedelapan:

    • Tugas pemrograman di sekolah: Dari pengalaman seorang teman, tugas pemrograman di sekolah dikumpulkan di atas kertas dan hasilnya diterima seminggu kemudian. "Waktu kompilasi" selama seminggu itu menjadi pengalaman edukatif yang membuat orang memeriksa ulang pekerjaannya.
  • Ringkasan komentar kesembilan:

    • Belum adanya agile/scrum: Sebagai jawaban atas bagaimana André bisa bekerja seperti itu, alasannya adalah karena metodologi pengembangan agile/scrum belum terpikirkan saat itu.
  • Ringkasan komentar kesepuluh:

    • Pengalaman coding di atas kertas: Pada usia 14 tahun, ia menulis sebagian besar kode di atas kertas untuk kelas pemrograman SMA. Sebagai anak miskin di negara miskin, ia tidak punya PC di rumah, dan klon ZX Spectrum di lab komputer sekolah tidak bisa menjalankan Turbo Pascal yang ia gunakan.