Tanchiki dalam Pascal: bagaimana anak-anak diajari pemrograman di tahun 90an dan apa yang salah dengannya

Sedikit tentang seperti apa sekolah “ilmu komputer” di tahun 90an, dan mengapa semua programmer pada saat itu hanya belajar secara otodidak.

Tanchiki dalam Pascal: bagaimana anak-anak diajari pemrograman di tahun 90an dan apa yang salah dengannya

Apa yang diajarkan kepada anak-anak untuk diprogram

Pada awal tahun 90-an, sekolah-sekolah Moskow mulai dilengkapi secara selektif dengan kelas komputer. Kamar-kamar segera dilengkapi dengan jeruji di jendela dan pintu berlapis besi yang berat. Dari suatu tempat, seorang guru ilmu komputer muncul (dia tampak seperti kawan paling penting setelah direktur), yang tugas utamanya adalah memastikan tidak ada yang menyentuh apa pun. Tidak ada sama sekali. Bahkan pintu depan.
Di ruang kelas, sistem BK-0010 (dalam variasinya) dan BK-0011M paling sering ditemukan.

Tanchiki dalam Pascal: bagaimana anak-anak diajari pemrograman di tahun 90an dan apa yang salah dengannya
Foto diambil karenanya

Anak-anak diberitahu tentang struktur umum, serta selusin perintah DASAR sehingga mereka dapat menggambar garis dan lingkaran di layar. Untuk kelas junior dan menengah, ini mungkin sudah cukup.

Ada beberapa masalah dalam melestarikan kreasi (program) seseorang. Paling sering, komputer yang menggunakan pengontrol saluran tunggal digabungkan menjadi jaringan dengan topologi "bus umum" dan kecepatan transmisi 57600 baud. Biasanya, hanya ada satu disk drive, dan sering kali terjadi kesalahan di dalamnya. Kadang berfungsi, kadang tidak, kadang jaringan macet, kadang floppy disk tidak terbaca.

Saya kemudian membawa kreasi ini dengan kapasitas 360 kB.

Tanchiki dalam Pascal: bagaimana anak-anak diajari pemrograman di tahun 90an dan apa yang salah dengannya

Kemungkinan saya akan kembali menjalankan program saya adalah 50-70 persen.

Namun, masalah utama dari semua cerita dengan komputer BC ini adalah macet yang tak ada habisnya.

Hal ini bisa terjadi kapan saja, baik saat mengetik kode atau menjalankan suatu program. Sistem yang dibekukan berarti Anda menghabiskan 45 menit dengan sia-sia, karena... Saya harus mengulang semuanya lagi, tetapi sisa waktu pelajaran tidak lagi cukup untuk ini.

Mendekati tahun 1993, di beberapa sekolah dan bacaan, kelas normal muncul dengan 286 mobil, dan di beberapa tempat bahkan ada tiga rubel. Dalam hal bahasa pemrograman, ada dua pilihan: di mana “BASIC” berakhir, “Turbo Pascal” dimulai.

Pemrograman dalam "Turbo Pascal" menggunakan contoh "tank"

Dengan menggunakan Pascal, anak-anak diajari membuat loop, menggambar segala macam fungsi, dan bekerja dengan array. Di bacaan fisika dan matematika, tempat saya “tinggal” selama beberapa waktu, satu pasangan per minggu ditugaskan untuk ilmu komputer. Dan selama dua tahun ada tempat yang membosankan ini. Tentu saja, saya ingin melakukan sesuatu yang lebih serius daripada menampilkan nilai array atau semacam sinusoid di layar.

Tank

Battle City adalah salah satu game terpopuler di konsol klon NES (Dendy, dll.).

Tanchiki dalam Pascal: bagaimana anak-anak diajari pemrograman di tahun 90an dan apa yang salah dengannya

Pada tahun 1996, popularitas 8-bit telah berlalu, mereka telah lama mengumpulkan debu di lemari, dan bagi saya tampaknya keren untuk membuat tiruan "Tank" untuk PC sebagai sesuatu yang berskala besar. Berikut ini adalah tentang bagaimana dahulu perlunya mengelak untuk menulis sesuatu dengan grafik, mouse dan suara di Pascal.

Tanchiki dalam Pascal: bagaimana anak-anak diajari pemrograman di tahun 90an dan apa yang salah dengannya

Anda hanya bisa menggambar tongkat dan lingkaran

Mari kita mulai dengan grafik.

Tanchiki dalam Pascal: bagaimana anak-anak diajari pemrograman di tahun 90an dan apa yang salah dengannya

Dalam versi dasarnya, Pascal memungkinkan Anda menggambar beberapa bentuk, melukis, dan menentukan warna titik. Prosedur paling canggih dalam modul Graph yang membawa kita lebih dekat ke sprite adalah GetImage dan PutImage. Dengan bantuan mereka, dimungkinkan untuk menangkap bagian layar ke dalam area memori yang sebelumnya dicadangkan dan kemudian menggunakan bagian ini sebagai gambar bitmap. Dengan kata lain, jika Anda ingin menggunakan kembali beberapa elemen atau gambar di layar, Anda menggambarnya terlebih dahulu, menyalinnya ke memori, menghapus layar, menggambar yang berikutnya, dan seterusnya hingga Anda membuat perpustakaan yang diinginkan di memori. Karena semuanya terjadi dengan cepat, pengguna tidak memperhatikan trik ini.

Modul pertama yang menggunakan sprite adalah editor peta.

Tanchiki dalam Pascal: bagaimana anak-anak diajari pemrograman di tahun 90an dan apa yang salah dengannya

Itu memiliki lapangan bermain yang ditandai. Mengklik mouse menampilkan menu di mana Anda dapat memilih salah satu dari empat opsi rintangan. Berbicara tentang tikus...

Mouse sudah akhir tahun 90an

Tentu saja, setiap orang memiliki mouse, tetapi hingga pertengahan tahun 90an mouse hanya digunakan di Windows 3.11, paket grafis, dan sejumlah kecil game. Wolf dan Doom dimainkan hanya dengan keyboard. Dan di lingkungan DOS, mouse tidak terlalu dibutuhkan. Oleh karena itu, Borland bahkan tidak menyertakan modul mouse dalam paket standarnya. Anda harus mencarinya melalui kenalan Anda, yang mengangkat tangan dan menjawab, “Untuk apa Anda membutuhkannya?”

Namun, menemukan modul untuk melakukan polling pada mouse hanyalah setengah dari perjuangan. Untuk mengklik tombol di layar dengan mouse, tombol tersebut harus digambar. Apalagi dalam dua versi (ditekan dan tidak ditekan). Tombol yang tidak ditekan memiliki bagian atas yang terang dan bayangan di bawahnya. Saat ditekan, yang terjadi adalah sebaliknya. Lalu gambarlah di layar sebanyak tiga kali (tidak ditekan, ditekan, lalu tidak ditekan lagi). Selain itu, jangan lupa mengatur penundaan tampilan, dan menyembunyikan kursor.

Tanchiki dalam Pascal: bagaimana anak-anak diajari pemrograman di tahun 90an dan apa yang salah dengannya

Misalnya, pemrosesan menu utama dalam kode terlihat seperti ini:

Tanchiki dalam Pascal: bagaimana anak-anak diajari pemrograman di tahun 90an dan apa yang salah dengannya

Suara – Hanya Speaker PC

Cerita terpisah dengan suara. Pada awal tahun sembilan puluhan, klon Sound Blaster baru saja bersiap untuk meraih kemenangan, dan sebagian besar aplikasi hanya bekerja dengan speaker internal. Kemampuan maksimalnya adalah reproduksi simultan hanya satu nada. Dan itulah yang diizinkan oleh Turbo Pascal untuk Anda lakukan. Melalui prosedur suara dimungkinkan untuk "mencicit" dengan frekuensi yang berbeda, yang cukup untuk suara tembakan dan ledakan, tetapi untuk screensaver musik, seperti yang sedang populer saat itu, ini tidak cocok. Hasilnya, solusi yang sangat licik ditemukan: dalam arsip perangkat lunak itu sendiri, sebuah "file exe" ditemukan, diunduh satu kali dari beberapa BBS. Dia dapat melakukan keajaiban - memutar gelombang yang tidak terkompresi melalui Speaker PC, dan dia melakukannya dari baris perintah dan tidak memiliki antarmuka yang sebenarnya. Yang diperlukan hanyalah menghentikannya melalui prosedur eksekutif Pascal dan memastikan bahwa konstruksi ini tidak runtuh.

Hasilnya, musik mematikan muncul di screensaver, tetapi hal lucu terjadi dengannya. Pada tahun 1996, saya memiliki sistem pada Pentium 75, yang dapat diputar hingga 90. Semuanya berfungsi dengan baik. Di universitas tempat Pascal dilantik untuk kami pada semester kedua, ada “tiga rubel” usang di ruang kelas. Atas persetujuan guru, saya membawa tank-tank ini ke pelajaran kedua untuk mendapatkan ujian dan tidak kesana lagi. Maka, setelah peluncuran, suara gemuruh keras bercampur suara gemericik parau keluar dari speaker. Secara umum, "kartu tiga rubel" DX 33-megahertz ternyata tidak dapat memutar "dapat dieksekusi" yang sama dengan benar. Tapi selain itu semuanya baik-baik saja. Tentu saja, belum termasuk polling keyboard yang lambat, yang merusak keseluruhan gameplay, terlepas dari performa PC.

Namun masalah utamanya bukan pada Pascal

Dalam pemahaman saya, "Tank" adalah jumlah maksimum yang dapat dihasilkan dari Turbo Pascal tanpa sisipan perakitan. Kekurangan yang jelas dari produk akhir ini adalah polling keyboard yang lambat dan rendering grafis yang lambat. Situasi ini diperburuk oleh sangat sedikitnya jumlah perpustakaan dan modul pihak ketiga. Jumlahnya bisa dihitung dengan jari satu tangan.

Namun yang paling membuat saya kesal adalah pendekatan terhadap pendidikan sekolah. Tidak ada yang memberi tahu anak-anak tentang kelebihan dan kemungkinan bahasa lain. Di kelas, mereka segera mulai membicarakan tentang mulai, cetak, dan jika, yang mengunci siswa dalam paradigma BASIC-Pascal. Kedua bahasa ini dapat dianggap eksklusif untuk pendidikan. Penggunaan “tempur” mereka jarang terjadi.

Mengapa mengajari anak-anak bahasa palsu adalah sebuah misteri bagi saya. Biarkan mereka menjadi lebih visual. Biarkan variasi BASIC digunakan di sana-sini. Namun, bagaimanapun juga, jika seseorang memutuskan untuk menghubungkan masa depannya dengan pemrograman, dia harus belajar bahasa lain dari awal. Jadi mengapa anak-anak tidak diberikan tugas pendidikan yang sama, tetapi hanya pada platform (bahasa) yang normal, di mana mereka dapat berkembang lebih lanjut secara mandiri?

Berbicara tentang tugas. Di sekolah dan perguruan tinggi mereka selalu abstrak: menghitung sesuatu, membangun suatu fungsi, menggambar sesuatu. Saya belajar di tiga sekolah yang berbeda, ditambah lagi kami memiliki “Pascal” di tahun pertama institut tersebut, dan tidak sekali pun para guru mengajukan masalah penerapan yang nyata. Misalnya membuat buku catatan atau hal lain yang bermanfaat. Semuanya tidak masuk akal. Dan ketika seseorang menghabiskan waktu berbulan-bulan untuk memecahkan masalah-masalah kosong, yang kemudian dibuang ke tempat sampah... Secara umum, orang-orang sudah meninggalkan institut dalam keadaan kelelahan.

Ngomong-ngomong, di tahun ketiga di universitas yang sama, kami diberi “nilai tambah” dalam program tersebut. Kelihatannya seperti hal yang baik, tetapi orang-orangnya lelah, penuh dengan tugas palsu dan “pelatihan”. Tidak ada yang seantusias pertama kali.

PS Saya mencari di Google tentang bahasa apa saja yang sekarang diajarkan di kelas ilmu komputer di sekolah. Semuanya sama seperti 25 tahun lalu: Basic, Pascal. Python hadir dalam inklusi sporadis.

Sumber: www.habr.com

Tambah komentar