Tanchiki sa Pascal: kung paano tinuruan ang mga bata ng programming noong 90s at kung ano ang mali dito

Kaunti tungkol sa kung ano ang "computer science" ng paaralan noong dekada 90, at kung bakit ang lahat ng programmer noon ay eksklusibong itinuro sa sarili.

Tanchiki sa Pascal: kung paano tinuruan ang mga bata ng programming noong 90s at kung ano ang mali dito

Ano ang itinuro sa mga bata na magprograma

Noong unang bahagi ng 90s, ang mga paaralan sa Moscow ay nagsimulang pumili ng mga klase sa computer. Ang mga silid ay agad na nilagyan ng mga rehas sa mga bintana at isang mabigat na pintong nababalutan ng bakal. Mula sa isang lugar, lumitaw ang isang guro sa agham ng computer (mukhang siya ang pinakamahalagang kasama pagkatapos ng direktor), na ang pangunahing gawain ay upang matiyak na walang sinuman ang humipo ng anuman. Wala naman. Pati yung front door.
Sa mga silid-aralan pinakamadalas mahahanap ang BK-0010 (sa mga uri nito) at BK-0011M system.

Tanchiki sa Pascal: kung paano tinuruan ang mga bata ng programming noong 90s at kung ano ang mali dito
Kinuha ang larawan kaya

Ang mga bata ay sinabihan tungkol sa pangkalahatang istraktura, pati na rin ang tungkol sa isang dosenang BASIC command upang sila ay gumuhit ng mga linya at bilog sa screen. Para sa junior at middle grade, malamang na sapat na ito.

Nagkaroon ng ilang problema sa pag-iingat ng mga likha ng isang tao (mga programa). Kadalasan, ang mga computer na gumagamit ng mono-channel controllers ay pinagsama sa isang network na may topology na "common bus" at bilis ng transmission na 57600 baud. Bilang isang patakaran, mayroon lamang isang disk drive, at madalas na nagkamali dito. Minsan ito ay gumagana, kung minsan ay hindi, kung minsan ang network ay nagyelo, kung minsan ang floppy disk ay hindi nababasa.

Pagkatapos ay dinala ko ang paglikha na ito na may kapasidad na 360 kB.

Tanchiki sa Pascal: kung paano tinuruan ang mga bata ng programming noong 90s at kung ano ang mali dito

Ang mga pagkakataon na mailabas ko muli ang aking programa ay 50-70 porsyento.

Gayunpaman, ang pangunahing problema sa lahat ng mga kuwentong ito sa mga BC computer ay walang katapusang pag-freeze.

Maaaring mangyari ito anumang oras, mag-type man ng code o mag-execute ng program. Nangangahulugan ang isang nagyelo na sistema na gumugol ka ng 45 minuto nang walang kabuluhan, dahil... Kailangan kong gawin muli ang lahat, ngunit ang natitirang oras ng aralin ay hindi na sapat para dito.

Mas malapit sa 1993, sa ilang mga paaralan at lyceum, ang mga normal na klase na may 286 na mga kotse ay lumitaw, at sa ilang mga lugar mayroong kahit na tatlong rubles. Sa mga tuntunin ng mga programming language, mayroong dalawang pagpipilian: kung saan natapos ang "BASIC", nagsimula ang "Turbo Pascal".

Programming sa "Turbo Pascal" gamit ang halimbawa ng "tank"

Gamit ang Pascal, tinuruan ang mga bata na bumuo ng mga loop, gumuhit ng lahat ng uri ng mga function, at magtrabaho kasama ang mga array. Sa physics at mathematics lyceum, kung saan ako "nanirahan" nang ilang sandali, isang mag-asawa bawat linggo ang itinalaga sa computer science. At sa loob ng dalawang taon ay may ganitong boring na lugar. Siyempre, gusto kong gumawa ng isang bagay na mas seryoso kaysa sa pagpapakita ng mga halaga ng isang array o ilang uri ng sinusoid sa screen.

Mga tangke

Ang Battle City ay isa sa mga pinakasikat na laro sa NES clone consoles (Dendy, atbp.).

Tanchiki sa Pascal: kung paano tinuruan ang mga bata ng programming noong 90s at kung ano ang mali dito

Noong 1996, lumipas na ang katanyagan ng 8-bits, matagal na silang nangongolekta ng alikabok sa mga aparador, at tila cool sa akin na gumawa ng isang clone ng "Tanks" para sa PC bilang isang bagay na malakihan. Ang mga sumusunod ay tungkol lamang sa kung paano noon kinakailangan na umiwas upang magsulat ng isang bagay na may mga graphics, mouse at tunog sa Pascal.

Tanchiki sa Pascal: kung paano tinuruan ang mga bata ng programming noong 90s at kung ano ang mali dito

Maaari ka lamang gumuhit ng mga stick at bilog

Magsimula tayo sa graphics.

Tanchiki sa Pascal: kung paano tinuruan ang mga bata ng programming noong 90s at kung ano ang mali dito

Sa pangunahing bersyon nito, pinahintulutan ka ni Pascal na gumuhit ng ilang mga hugis, pintura at matukoy ang mga kulay ng mga puntos. Ang pinaka-advanced na mga pamamaraan sa Graph module na naglalapit sa atin sa mga sprite ay GetImage at PutImage. Sa kanilang tulong, posible na makuha ang isang seksyon ng screen sa isang dating nakalaan na lugar ng memorya at pagkatapos ay gamitin ang piraso na ito bilang isang bitmap na imahe. Sa madaling salita, kung gusto mong muling gamitin ang ilang elemento o imahe sa screen, iguguhit mo muna ang mga ito, kopyahin ang mga ito sa memorya, burahin ang screen, iguhit ang susunod, at iba pa hanggang sa magawa mo ang nais na library sa memorya. Dahil mabilis ang lahat, hindi napapansin ng user ang mga trick na ito.

Ang unang module kung saan ginamit ang mga sprite ay ang editor ng mapa.

Tanchiki sa Pascal: kung paano tinuruan ang mga bata ng programming noong 90s at kung ano ang mali dito

Ito ay may markang playing field. Ang pag-click sa mouse ay naglabas ng isang menu kung saan maaari kang pumili ng isa sa apat na pagpipilian sa balakid. Nagsasalita tungkol sa daga...

Ang mouse ay ang katapusan ng 90s

Siyempre, lahat ay may mga daga, ngunit hanggang sa kalagitnaan ng 90s ay ginamit lamang sila sa Windows 3.11, mga pakete ng graphics, at isang maliit na bilang ng mga laro. Ang Wolf at Doom ay nilalaro lamang gamit ang keyboard. At sa kapaligiran ng DOS ang mouse ay hindi partikular na kailangan. Samakatuwid, hindi isinama ng Borland ang module ng mouse sa karaniwang pakete. Kinailangan mong hanapin siya sa pamamagitan ng iyong mga kakilala, na nagtaas ng kanilang mga kamay at bumulalas bilang tugon, "Bakit mo siya kailangan?"

Gayunpaman, ang paghahanap ng isang module upang poll ang mouse ay kalahati lamang ng labanan. Upang mag-click sa mga pindutan sa screen gamit ang mouse, kailangan nilang iguhit. Bukod dito, sa dalawang bersyon (pinindot at hindi pinindot). Ang isang pindutan na hindi pinindot ay may isang ilaw na tuktok at isang anino sa ilalim nito. Kapag pinindot, baligtad. At pagkatapos ay iguhit ito sa screen ng tatlong beses (hindi pinindot, pinindot, pagkatapos ay hindi pinindot muli). Dagdag pa, huwag kalimutang magtakda ng mga pagkaantala para sa pagpapakita, at itago ang cursor.

Tanchiki sa Pascal: kung paano tinuruan ang mga bata ng programming noong 90s at kung ano ang mali dito

Halimbawa, ang pagproseso ng pangunahing menu sa code ay ganito ang hitsura:

Tanchiki sa Pascal: kung paano tinuruan ang mga bata ng programming noong 90s at kung ano ang mali dito

Tunog – PC Speaker lang

Isang hiwalay na kwento na may tunog. Noong unang bahagi ng nineties, ang mga clone ng Sound Blaster ay naghahanda lamang para sa kanilang matagumpay na martsa, at karamihan sa mga application ay gumagana lamang sa built-in na speaker. Ang maximum ng mga kakayahan nito ay ang sabay-sabay na pagpaparami ng isang tono lamang. At iyon mismo ang pinahintulutan ng Turbo Pascal na gawin mo. Sa pamamagitan ng sound procedure, posible na "humirit" na may iba't ibang mga frequency, na sapat para sa mga tunog ng mga putok ng baril at pagsabog, ngunit para sa isang musical screensaver, tulad ng uso noon, hindi ito angkop. Bilang resulta, natagpuan ang isang napaka-tusong solusyon: sa sariling archive ng software, natuklasan ang isang "exe file", na na-download nang isang beses mula sa ilang BBS. Maaari siyang gumawa ng mga himala - maglaro ng hindi naka-compress na mga wav sa pamamagitan ng isang PC Speaker, at ginawa niya ito mula sa command line at walang aktwal na interface. Ang kailangan lang ay tawagan ito sa pamamagitan ng Pascal exec procedure at tiyaking hindi bumagsak ang construction na ito.

Bilang isang resulta, ang pamatay na musika ay lumitaw sa screensaver, ngunit isang nakakatawang bagay ang nangyari dito. Noong 1996, mayroon akong sistema sa isang Pentium 75, na-crank hanggang 90. Lahat ay gumana nang maayos dito. Sa unibersidad kung saan na-install si Pascal para sa amin sa ikalawang semestre, may mga nakasuot na "tatlong rubles" sa silid-aralan. Sa pamamagitan ng kasunduan sa guro, dinala ko ang mga tangke na ito sa ikalawang aralin upang makakuha ng pagsusulit at hindi na muling pumunta doon. At kaya, pagkatapos ng paglunsad, isang malakas na dagundong na may halong gurgling guttural sounds ang lumabas sa speaker. Sa pangkalahatan, ang 33-megahertz DX na "three-ruble card" ay naging hindi maayos na paikutin ang parehong "executable". Ngunit kung hindi man ay maayos ang lahat. Siyempre, hindi binibilang ang mabagal na botohan sa keyboard, na sumisira sa buong gameplay, anuman ang pagganap ng PC.

Ngunit ang pangunahing problema ay wala sa Pascal

Sa aking pag-unawa, ang "Tanks" ay ang maximum na maaaring maipit sa Turbo Pascal nang walang mga pagsingit ng assembly. Ang mga halatang pagkukulang ng panghuling produkto ay mabagal na keyboard polling at mabagal na pag-render ng graphics. Ang sitwasyon ay pinalala ng napakaliit na bilang ng mga third-party na aklatan at mga module. Maaari silang mabilang sa mga daliri ng isang kamay.

Ngunit ang pinaka ikinagalit ko ay ang diskarte sa edukasyon sa paaralan. Walang nagsabi sa mga bata noon tungkol sa mga pakinabang at posibilidad ng ibang mga wika. Sa klase, halos agad nilang sinimulan ang pag-uusap tungkol sa begin, println at kung, na nagkulong sa mga mag-aaral sa loob ng BASIC-Pascal paradigm. Ang parehong mga wikang ito ay maaaring ituring na eksklusibong pang-edukasyon. Ang kanilang paggamit ng "labanan" ay isang bihirang pangyayari.

Kung bakit turuan ang mga bata ng mga pekeng wika ay isang misteryo sa akin. Hayaan silang maging mas visual. Hayaang gamitin ang mga variation ng BASIC dito at doon. Ngunit, sa anumang kaso, kung ang isang tao ay nagpasya na ikonekta ang kanyang hinaharap sa programming, kailangan niyang matuto ng iba pang mga wika mula sa simula. Kaya bakit hindi dapat bigyan ang mga bata ng parehong mga gawaing pang-edukasyon, ngunit sa isang normal na plataporma (wika), kung saan maaari silang higit na umunlad nang nakapag-iisa?

Nagsasalita ng mga gawain. Sa paaralan at kolehiyo sila ay palaging abstract: kalkulahin ang isang bagay, bumuo ng isang function, gumuhit ng isang bagay. Nag-aral ako sa tatlong magkakaibang paaralan, at mayroon kaming "Pascal" sa unang taon ng institute, at ni minsan ay hindi nagbigay ng anumang problema ang mga guro. Halimbawa, gumawa ng kuwaderno o ibang bagay na kapaki-pakinabang. Ang lahat ay napakalayo. At kapag ang isang tao ay gumugol ng mga buwan sa paglutas ng mga walang laman na problema, na pagkatapos ay napupunta sa basurahan... Sa pangkalahatan, ang mga tao ay umalis na sa institute na nasunog.

Nga pala, sa ikatlong taon ng parehong unibersidad, binigyan kami ng "plus" sa programa. Mukhang isang magandang bagay, ngunit ang mga tao ay pagod, puno ng mga pekeng at "pagsasanay" na mga gawain. Walang sinuman ang masigasig tulad ng unang pagkakataon.

PS Nag-google ako tungkol sa kung anong mga wika ang itinuturo ngayon sa mga klase sa computer science sa mga paaralan. Ang lahat ay pareho sa 25 taon na ang nakakaraan: Basic, Pascal. Ang Python ay dumarating sa mga sporadic inclusions.

Pinagmulan: www.habr.com

Magdagdag ng komento