Komuniti pengaturcaraan sedang hangat berdebat mengenai anggaran masa yang realistik untuk projek pengaturcaraan popular, dipicu oleh senarai cadangan perisian mainan yang terkini. Walaupun cadangan asal bertujuan membantu pembangun menemui semula kegembiraan pengaturcaraan melalui projek hands-on, ramai pengaturcara berpengalaman menolak penilaian kesukaran dan keperluan masa yang dicadangkan.
Anggaran Masa Mencetuskan Perselisihan Besar
Ahli komuniti mengkritik apa yang mereka lihat sebagai garis masa projek yang tidak realistik. Beberapa pembangun menunjukkan bahawa anggaran tersebut nampaknya meleset dengan faktor tiga atau lebih, terutamanya untuk pelaksanaan kali pertama. Contoh yang paling kontroversial melibatkan compiler mudah yang dinilai mengambil masa tiga bulan manakala emulator GameBoy dianggarkan hanya dua minggu - perbandingan yang dianggap terbalik oleh ramai berdasarkan pengalaman mereka sendiri.
Malah projek yang kelihatan asas turut menerima kritikan terhadap anggaran masa mereka. Seorang pembangun mempersoalkan mengapa membina hash map memerlukan seminggu penuh, dengan menyatakan bahawa dalam C ia hanya sedikit lebih kompleks daripada mencipta growable array. Begitu juga, cadangan bahawa POSIX shell boleh disiapkan dalam tiga hari telah menimbulkan keraguan di kalangan mereka yang biasa dengan kerumitan shell.
Projek Pengaturcaraan Mainan Popular mengikut Tahap Kesukaran (Dibincangkan Komuniti)
Jenis Projek | Kesukaran Asal | Masa Asal | Maklum Balas Komuniti |
---|---|---|---|
Hash Map | 4/10 | 1 minggu | "Hanya sedikit lebih sukar daripada growable array dalam C" |
Emulator GameBoy | 6/10 | 2 minggu | Dipersoalkan berbanding kerumitan compiler |
Compiler Mudah | 8/10 | 3 bulan | Ramai menganggap lebih mudah daripada emulator |
Shell POSIX | 4/10 | 3 hari | "Elemen kesukaran/masa tersebar di mana-mana" |
Emulator CHIP-8 | 3/10 | 3 hari | Kegemaran komuniti untuk pemula |
Komuniti Berkongsi Idea Projek Alternatif
Selain mengkritik senarai asal, pembangun menyumbang projek mainan kegemaran mereka sendiri. Tambahan popular termasuk bot permainan berasaskan GUI, melaksanakan algoritma konsensus Raft, enjin ray casting, dan sistem penyimpanan B-tree atau LSM-tree. Emulator CHIP-8 terus menerima pujian sebagai projek pemula yang ideal, dengan ahli komuniti menyerlahkan test suite yang tersedia yang membantu mengesahkan pelaksanaan dengan cepat.
Apa yang saya suka tentang projek-projek ini ialah anda boleh menjadikannya semudah atau serumit yang anda mahukan.
Idea Projek Tambahan daripada Komuniti:
- Bot berasaskan GUI untuk permainan video
- Pelaksanaan algoritma konsensus Raft
- Enjin ray casting
- Enjin storan B-tree atau LSM-tree
- Pokok tingkah laku untuk AI
- Penjanaan rupa bumi prosedural
- Integrasi dengan enjin skrip ( Lua )
- Enjin RPG multiplayer 2D
- Permainan fizik tanpa pemain
Aplikasi Dunia Sebenar Memacu Minat
Ramai pengaturcara berkongsi cerita tentang bagaimana projek mainan mereka berkembang menjadi alat praktikal. Seorang pembangun menerangkan tentang mengekalkan skrip sandaran tersuai selama 20 tahun, pada asalnya diilhamkan oleh wawasan tentang menggunakan rsync dan hard link untuk sandaran snapshot. Walaupun terdapat alternatif sedia ada, kepuasan peribadi dan peluang pembelajaran berterusan mengekalkan projek tersebut hidup dan berguna.
Perbincangan mendedahkan corak biasa di mana pembangun bermula dengan pelaksanaan mudah dan secara beransur-ansur menambah kerumitan. Sama ada enjin RPG multiplayer 2D yang menggabungkan pelbagai sistem atau simulasi fizik yang berkembang selama bertahun-tahun, projek-projek ini berfungsi sebagai makmal pembelajaran berterusan.
Konteks Lebih Luas Kegembiraan Pengaturcaraan
Perdebatan ini mencerminkan kebimbangan yang lebih mendalam tentang mengekalkan semangat pengaturcaraan dalam era automasi dan komoditisasi yang semakin meningkat. Ahli komuniti menekankan bahawa projek-projek ini menawarkan cara untuk berhubung semula dengan kegembiraan asas mencipta perisian, tanpa mengira sama ada anggaran masa terbukti tepat untuk pembangun individu.
Wawasan utama yang muncul daripada perbincangan ialah skop dan kerumitan projek boleh diselaraskan untuk sesuai dengan masa dan tahap kemahiran yang ada. Daripada memfokuskan pada anggaran yang tepat, pembangun digalakkan untuk terjun masuk dan berulang berdasarkan kadar dan minat mereka sendiri.
Rujukan: Writing Toy Software Is A Joy