Tiga puluh tahun kemudian, QBasic masih yang terbaik



Putra tertua saya Nuh berusia tujuh tahun tiga bulan lalu. Jika dia bisa menukar seluruh keluarganya selama dua jam bermain Minecraft, dia akan melakukannya tanpa ragu-ragu. Cinta lain dalam hidupnya adalah Super Mario Maker. Saya merinding ketika saya melihatnya memainkan level yang saya lalui di usianya. Sekitar lima bulan yang lalu, saya meninggalkan keluarga saya untuk ziarah tahunan ke ludum berani: kompetisi pengembang game, di mana kita mengunci diri di apartemen bersama teman-teman, kembali ke keadaan manusia gua, tetap terjaga selama 48 jam dan membuat game yang sudah selesai dari awal. Ketika saya dengan bangga mendemonstrasikan game AAA revolusioner saya kepada istri saya, Noah secara alami menjadi tertarik. Jadi saya memperkenalkan dia ke dunia kode, menunjukkan kepadanya bagaimana Anda dapat membuat permainan nyata dari kata-kata sederhana (dia baru belajar membaca). Sejak hari itu, Noah terus-menerus meminta saya untuk mengajari saya cara membuat video game sendiri. Dan selama lima bulan berikutnya, saya mencari Cawan Suci bahasa / IDE untuk anak-anak, berharap dapat mengubah percikan minat itu menjadi pengalaman yang tak terlupakan ...



Pencarian saya telah membawa saya ke forum tanpa akhir, di mana saya telah mencoba banyak bahasa dan platform yang direkomendasikan: SmallBasic, Pico-8, Smalltalk, Scratch, dll. Saya bahkan telah mengajukan pertanyaan oracle StackOverflow yang hebat, tetapi tidak berhasil. Lima bulan kemudian, saya sampai pada kesimpulan yang mengecewakan: tidak ada yang mendekati apa yang saya miliki selama bertahun-tahun. 30 tahun kemudian, QBasic masih menjadi bahasa terbaik untuk pemula dalam pemrograman.



"Ya Tuhan, tolong jangan ajari dia cara menggunakan GOTO!"


10 PRINT " ,    ?!”
20 GOTO 10






Ya, QBasic adalah bahasa prosedural yang mengerikan. Dia memperkenalkan konsep yang dianggap berbahaya oleh sebagian besar orang, menggunakan sintaks yang tidak nyaman untuk deklarasi implisit, tidak peka huruf besar-kecil, indeks di dalamnya tidak dimulai dari nol, dan seterusnya, daftarnya tidak ada habisnya ... Saat mengembangkan keterampilan , jauh lebih baik untuk mengembangkan refleks yang benar sejak awal daripada memperbaiki latihan yang salah selama bertahun-tahun. Mengikuti saran ini, saya mungkin harus mulai dengan dasar-dasar bahasa Ruby yang saya sukai. Namun demikian, meskipun sebagian besar dari konsep-konsep ini dianggap oleh sebagian besar "tanda bahaya" QBasic, pada saat itu mereka memiliki tujuan: untuk menjaga bahasa tetap sederhana dan mudah diakses; prinsip ini ditinggalkan oleh semua bahasa lain demi fleksibilitas, kompleksitas, dan logika.



Hari ini saya menginstal QBasic pada HP Stream 11 inci anak saya, instalasi harus dilakukan secara manual melalui DOSBox. Dia mengklik dua kali pada ikon desktop dan sepersekian detik kemudian kami melihat IDE menyambut kami dengan layar pengantar yang membawa kembali banyak kenangan kepada saya:





Kemudian saya memberi tahu Nuh bahwa ada ritual sakral yang harus dimiliki setiap orang di lingkaran rahasia programmer: mulai belajar dengan program yang menyambut semua programmer di dunia. Saat saya mendiktekan rumusnya, dia perlahan mencari setiap tombol, dengan hati-hati mengetik kata-kata ajaib dengan tangan kanannya: PRINT "hello world"







Dia menekan F5 dan kagum melihat bagaimana kodenya disalin ke dalam teks yang ditampilkan di layar hitam. Dia tersenyum, memberi saya lima, dan kemudian menuliskan kode di buku catatan kecilnya untuk referensi di masa mendatang.





Kami mempelajari beberapa perintah lagi: CLS, COLOR, PLAY, INPUT, dan IF. Tidak ada yang perlu dijelaskan: tidak ada kerumitan, tidak ada operator yang canggung, tidak ada konsep abstrak, tidak ada dokumentasi untuk dipelajari, tidak ada konsep objek / kelas / metode, tidak ada kerangka kerja yang diperlukan untuk dipasang, tidak ada banyak menu dan tombol di IDE, tidak ada kata kunci khusus atau tanda kurung. Itu adalah kode dalam semua kesederhanaan dan bentuknya yang paling murni.



Kurang dari satu jam kemudian, ia menulis programnya sendiri - aplikasi interaktif dan sangat canggih yang memberi tahu Anda apa yang dipikirkan komputer tentang Anda:





... yang Nuh luncurkan dengan bangga untuk sepupu dan sahabatnya Christian:





... kemudian dia dengan mudah menjelaskan cara kerjanya dan apa yang dilakukan kode itu!





Artinya, hanya dalam waktu satu jam, anak saya yang berusia tujuh tahun tidak hanya bisa menulis teks game pertamanya, tetapi juga merasakan kesenangan dan sensasi yang muncul saat membuat, menyusun, dan menjalankan programnya sendiri. Poin ekstra untuk pemasangan pada satu halaman buku catatan:





Saya sangat senang dia mengerti mengapa saya terus-menerus mengatakan bahwa saya memiliki pekerjaan terbaik di dunia.



Satu-satunya hal yang saya sesali sekarang adalah bahwa selama lebih dari tiga puluh tahun kami tidak dapat menemukan sesuatu yang lebih baik untuk anak-anak: Qbasic memiliki serangkaian kata kunci sederhana yang terbatas (semua bantuan muat di satu layar, disebut oleh F1, dan dilengkapi dengan contoh sederhana!), tidak mengganggu pembuat kode dengan artefak visual, memiliki lingkungan pengembangan yang sangat ringkas dan nyaman, segera menunjukkan kesalahan, mengkompilasi dan mengeksekusi kode dalam sepersekian detik dengan menekan satu tombol, dan juga sangat sederhana. Kami telah membangun bahasa / kerangka kerja / IDE yang lebih kuat dan kompleks (yang tentu saja penting untuk aplikasi praktis apa pun), tetapi kami tidak pernah menemukan cara yang lebih mudah untuk mendapatkan akses langsung ke kesenangan pemrograman selain QBasic . Bahkan meluncurkan QBasic hari ini telah menjadi tugas yang menakutkan bagi pemula.berjalan di mesin Mac / PC / Linux modern, meskipun sebelumnya cukup dengan memasukkan floppy disk 3,5 inci ke A: \ ...



Tapi, omong-omong, cukup banyak khotbah, hari ini kita perlu merayakan perkenalan orang lain dengan kegembiraan dan keindahan pemrograman!



Hore!






Periklanan



Perusahaan kami menawarkan server modern untuk disewa untuk proyek apa pun. Buat paket tarif Anda sendiri dalam beberapa klik, konfigurasi maksimum memecahkan rekor - 128 core CPU, 512 GB RAM, 4000 GB NVMe!



Bergabunglah dengan obrolan Telegram kami .






All Articles