2 poin oleh GN⁺ 2025-02-10 | 1 komentar | Bagikan ke WhatsApp
  • Ringkasan argumen Jonathan Blow

    • Transfer informasi antargenerasi mengalami pengenceran.
    • Praktik lebih penting daripada teori dalam menjaga keberlanjutan teknologi.
    • Perangkat lunak menjalankan dunia.
    • Abstraksi mendorong ketidaktahuan terhadap pemrograman tingkat rendah.
    • Jika pengetahuan tingkat rendah dilupakan, perangkat lunak penting tidak akan bisa dipelihara dan peradaban akan runtuh.
  • Kritik dan sanggahan

    • Argumen Blow mengandung banyak kekeliruan dan kesalahpahaman.
    • Kebenaran informasi itu penting, dan informasi dari Blow salah dalam banyak hal.
    • Metrik "five nines" (uptime 99.999%) masih tetap digunakan.
    • Perangkat lunak yang tangguh masih ada, dan kemajuan teknologi terus berlanjut.
    • Klaim bahwa abstraksi menyebabkan hilangnya kemampuan adalah berlebihan.
  • Perkembangan teknologi dan abstraksi

    • Banyak programmer tidak ingin menangani manajemen memori dan pointer.
    • Masih banyak orang yang menulis kode C dan assembly.
    • Bahasa baru seperti Rust berfokus pada ketangguhan.
    • Abstraksi berkontribusi pada pengembangan teknologi baru.
  • Kontroversi produktivitas Facebook

    • Produk sejati Facebook adalah platform penyajian iklan.
    • Banyak programmer berkontribusi untuk meningkatkan sistem periklanan.
  • Perbandingan masa lalu dan masa kini

    • Lingkungan pengembangan perangkat lunak di masa lalu dan sekarang sangat berbeda.
    • Komputer modern jauh lebih tangguh dibanding masa lalu.
    • Seiring meningkatnya ekspektasi pengguna, kompleksitas perangkat lunak pun bertambah.
  • Abstraksi dan hilangnya pengetahuan

    • Abstraksi dapat mempercepat hilangnya pengetahuan.
    • Namun, abstraksi memberi banyak orang kesempatan untuk menyalurkan kreativitas.
    • Yang penting adalah mempertahankan fondasi keterampilan untuk memelihara sistem-sistem penting.
  • Kesimpulan

    • Argumen Blow sebagian masuk akal, tetapi dalam banyak hal berlebihan dan disalahpahami.
    • Kompleksitas perangkat lunak dan abstraksi adalah masalah yang dapat diatasi.
    • Masalah yang lebih besar di dunia digital adalah privasi dan kebebasan.

1 komentar

 
GN⁺ 2025-02-10
Komentar Hacker News
  • Saya mengajar kelas sistem di Montana State, dan sering kali mahasiswa tidak memahami apa itu sistem berkas saat mulai mengikuti kelas

    • Saya tidak sepenuhnya setuju dengan Blow, tetapi saya rasa pendidikan bergaya NAND-to-Tetris diperlukan, mulai dari siswa sekolah menengah hingga mahasiswa teknik
    • Saya menggunakan model "jadul" seperti Little Man Computer dan emulator MIPS sederhana untuk membantu mahasiswa memahami asal-usul teknologi
    • Saya jadi tertawa kalau melihat buku arsitektur 64-bit modern
    • Menghubungkan teknologi sampai ke dasarnya adalah masalah yang sulit
  • Saya setuju dengan pendapat Anda. Saya menonton ceramah Blow dan menurut saya kritik itu penting

    • Saat Blow berkata "tidak bisa menggambar piksel di layar", saya rasa itu benar
    • Saya adalah programmer game engine di perusahaan game ukuran menengah, dan sekarang makin sulit merekrut orang untuk mengerjakan kode grafis
    • DX12 menuntut jauh lebih banyak dari programmer dibanding generasi sebelumnya (DX11), dan Microsoft juga mengakui bahwa mempelajari DX12 sangat sulit tanpa pengalaman API grafis sebelumnya
    • API seperti ini ditujukan bagi pengembang yang ingin menembus batas kartu grafis dan menerapkan optimisasi tingkat rendah, tetapi sekarang sudah menjadi standar industri sehingga sulit diajarkan kepada orang yang belum berpengalaman
    • Jika tidak ada perubahan, kumpulan kandidat akan terus menyusut
  • Jika pengembang web lama mengeluh soal abstraksi, sasarannya adalah pengembang React

    • Jika pengembang Python mengeluh soal abstraksi, sasarannya adalah pengembang web lama
    • Jika pengembang aplikasi C++ mengeluh soal abstraksi, sasarannya adalah pengembang Python
    • Jika pengembang firmware mengeluh soal abstraksi, sasarannya adalah pengembang aplikasi
    • Jika insinyur listrik mengeluh soal abstraksi, sasarannya adalah pengembang firmware
    • Menetapkan batas "abstraksi berlebihan" berdasarkan pengetahuan pribadi, lalu menyebut semua hal setelahnya sebagai "penghancuran peradaban", adalah sudut pandang yang cukup unik
  • JavaScript di server dan hal-hal seperti React telah menjadikan web sebagai kekacauan pengembangan perangkat lunak

    • Banyak anak muda tidak tahu bahwa HTML dirender di browser, dan mengira React-lah yang dirender di browser
    • Bodoh sekali kalau CEO Vercel menganggap React sebagai Linux kernel-nya pengembangan
  • Blow sering menunjukkan hal-hal bagus soal pengembangan, tetapi sering juga meleset dari inti masalah

    • Ia telah meraih pencapaian besar dan punya ide-ide yang layak didengar, tetapi kadang juga bicara omong kosong
    • Menurut saya, cerita soal runtuhnya peradaban termasuk salah satu omong kosong itu, dan saya berterima kasih atas sanggahan yang diberikan OP
    • Saya tidak akan menyinggung Casey Muratori; dia mencoba seperti Blow, tetapi bahkan bagian bagusnya pun tidak benar-benar bisa ia lakukan
  • Ada banyak masalah dalam lingkungan perangkat lunak modern, dan saya rasa abstraksi berlebihan memang salah satunya

    • Namun, ekstrem sebaliknya juga buruk, dan orang-orang terlalu meromantisasi masa lalu
    • Bukan cuma masalah crash dan reboot; bahkan sistem yang mengejar kompatibilitas pun tetap mengalami masalah inkonsistensi
    • Bahkan pada sistem modern yang dianggap paling tidak andal (Windows 11), komputer saya tetap lebih andal daripada komputer mana pun sebelum 2010
    • Ia bahkan masih bisa menjalankan perangkat lunak yang ditulis untuk Windows 95
  • Tidak semua penyederhanaan adalah abstraksi. Tidak semua abstraksi adalah penyederhanaan

    • Upaya mengejar penyederhanaan biasanya menjadi motivasi lahirnya abstraksi
    • Saya tidak berpikir abstraksi membunuh perangkat lunak atau peradaban, tetapi abstraksi yang buruk menghambat fleksibilitas dan aksesibilitas
    • Syntactic sugar di hampir semua bahasa bisa dijadikan contoh
    • Bukan berarti unsur tertentu membuat kita lebih sering salah; yang sulit adalah menggunakan alat dengan baik untuk menyelesaikan masalah yang kompleks
  • Ada banyak abstraksi yang buruk. Karena "agama kecepatan" dan kesombongan di dunia teknologi, sering kali hal itu berhenti di percobaan pertama

    • Begitu menjadi bagian dari proyek populer, orang lain akan menirunya
    • Jika itu berulang selama 10-20 tahun, hasilnya adalah kekacauan besar
    • Saya suka ceramah Jonathan Blow dan menontonnya lagi sekali setiap tahun
    • Ia mengatakan hal-hal yang tidak kontroversial, tetapi saya tahu banyak pengembang tidak benar-benar memberikan usaha terbaik mereka
  • Penulis termasuk generasi baru dan tidak memahami apa yang dikatakan Blow

    • Jika Anda bilang Figma sedang merusak dunia desain, desainer muda akan menganggap semuanya baik-baik saja
    • Karena mereka tidak tumbuh dalam lingkungan itu, kemungkinan mereka mempelajari padanan budaya dan pengalaman tersebut juga lebih kecil
  • Saya menolak klaim bahwa "jika kita melupakan hal-hal tingkat rendah, peradaban akan runtuh"

    • Ada terlalu banyak kompleksitas dalam menggunakan sistem tingkat rendah untuk memodelkan proses tingkat tinggi
    • Kompleksitas adalah masalah, dan kita harus meminimalkannya serta menghindari kompleksitas insidental