Komunitas programming sedang ramai dengan perdebatan mengenai estimasi waktu yang realistis untuk proyek coding populer, yang dipicu oleh daftar rekomendasi toy software terbaru. Meskipun saran awal bertujuan membantu developer menemukan kembali kegembiraan programming melalui proyek hands-on, banyak programmer berpengalaman yang menolak rating kesulitan dan persyaratan waktu yang diusulkan.
Estimasi Waktu Memicu Ketidaksepakatan Besar
Anggota komunitas mengkritik apa yang mereka anggap sebagai timeline proyek yang tidak realistis. Beberapa developer menunjukkan bahwa estimasi tersebut tampak meleset dengan faktor tiga atau lebih, terutama untuk implementasi pertama kali. Contoh paling kontroversial melibatkan compiler sederhana yang dinilai membutuhkan waktu tiga bulan sementara emulator GameBoy diperkirakan hanya dua minggu - perbandingan yang banyak dianggap terbalik berdasarkan pengalaman mereka sendiri.
Bahkan proyek yang tampaknya dasar pun mendapat kritik atas estimasi waktunya. Seorang developer mempertanyakan mengapa membangun hash map membutuhkan waktu seminggu penuh, mencatat bahwa dalam C hal itu hanya sedikit lebih kompleks daripada membuat growable array. Demikian pula, saran bahwa POSIX shell dapat diselesaikan dalam tiga hari telah menimbulkan keraguan di antara mereka yang familiar dengan kompleksitas shell.
Proyek Pemrograman Mainan Populer Berdasarkan Tingkat Kesulitan (Diskusi Komunitas)
Jenis Proyek | Kesulitan Asli | Waktu Asli | Umpan Balik Komunitas |
---|---|---|---|
Hash Map | 4/10 | 1 minggu | "Hanya sedikit lebih sulit daripada growable array di C" |
Emulator GameBoy | 6/10 | 2 minggu | Dipertanyakan vs kompleksitas compiler |
Compiler Sederhana | 8/10 | 3 bulan | Banyak yang menganggap lebih mudah daripada emulator |
POSIX Shell | 4/10 | 3 hari | "Elemen kesulitan/waktu tersebar di mana-mana" |
Emulator CHIP-8 | 3/10 | 3 hari | Favorit komunitas untuk pemula |
Komunitas Berbagi Ide Proyek Alternatif
Selain mengkritik daftar asli, developer berkontribusi dengan proyek toy favorit mereka sendiri. Tambahan populer termasuk game bot berbasis GUI, implementasi algoritma konsensus Raft, ray casting engine, dan sistem penyimpanan B-tree atau LSM-tree. Emulator CHIP-8 terus mendapat pujian sebagai proyek pemula yang ideal, dengan anggota komunitas menyoroti test suite yang tersedia yang membantu memvalidasi implementasi dengan cepat.
Yang saya sukai dari proyek-proyek ini adalah Anda dapat membuatnya sesederhana atau serumit yang Anda inginkan.
Ide Proyek Tambahan dari Komunitas:
- Bot berbasis GUI untuk video game
- Implementasi algoritma konsensus Raft
- Mesin ray casting
- Mesin penyimpanan B-tree atau LSM-tree
- Behavior trees untuk AI
- Generasi terrain prosedural
- Integrasi dengan mesin scripting ( Lua )
- Mesin RPG multiplayer 2D
- Game fisika zero-player
Aplikasi Dunia Nyata Mendorong Minat
Banyak programmer berbagi cerita tentang bagaimana proyek toy mereka berkembang menjadi tool praktis. Seorang developer menjelaskan tentang memelihara script backup kustom selama 20 tahun, yang awalnya terinspirasi oleh wawasan tentang penggunaan rsync dan hard link untuk snapshot backup. Meskipun ada alternatif lain, kepuasan personal dan kesempatan belajar berkelanjutan membuat proyek tetap hidup dan berguna.
Diskusi mengungkapkan pola umum di mana developer mulai dengan implementasi sederhana dan secara bertahap menambah kompleksitas. Baik itu engine RPG multiplayer 2D yang menggabungkan berbagai sistem atau simulasi fisika yang berkembang selama bertahun-tahun, proyek-proyek ini berfungsi sebagai laboratorium pembelajaran berkelanjutan.
Konteks Lebih Luas tentang Kegembiraan Programming
Perdebatan ini mencerminkan kekhawatiran yang lebih dalam tentang mempertahankan antusiasme programming di era otomatisasi dan komodifikasi yang meningkat. Anggota komunitas menekankan bahwa proyek-proyek ini menawarkan cara untuk terhubung kembali dengan kegembiraan fundamental dalam menciptakan software, terlepas dari apakah estimasi waktu terbukti akurat untuk developer individual.
Wawasan kunci yang muncul dari diskusi adalah bahwa ruang lingkup dan kompleksitas proyek dapat disesuaikan dengan waktu dan tingkat keterampilan yang tersedia. Daripada fokus pada estimasi yang tepat, developer didorong untuk terjun langsung dan melakukan iterasi berdasarkan kecepatan dan minat mereka sendiri.
Referensi: Writing Toy Software Is A Joy