Veidi sellest, milline oli kooli "informaatika" 90ndatel ja miks olid kÔik programmerid siis peamiselt isekoolitunud.

Millega Ôpetati lapsi programmeerima
90ndate alguses hakkasid Moskva koolid vahelduvalt varustama klasse arvutitega. Ruumi pandi kohe pĂ€evasel ajal restid akendele ja rasked metallist uksed. Kustagilt ilmus arvutiklassi Ă”petaja (nĂ€htavasti pĂ€rast direktorit kĂ”ige tĂ€htsam isik), kelle peamine ĂŒlesanne oli jĂ€lgida, et keegi midagi ei puudutaks. Ăldse mitte. Isegi sissepÀÀsu ust.
Klassides vĂ”is kĂ”ige sagedamini kohata sĂŒsteeme BK-0010 (tema variatsioonides) ja BK-0011M.

Foto on vÔetud
Lastele rÀÀgiti ĂŒldseadmestikust ja umbes kĂŒmnest "Basic" kĂ€sust, et nad saaksid ekraanile joonistada jooni ja ringe. Algklasside ja keskmiste klasside jaoks oli see arvatavasti piisav.
Oma loomingute (programmide) salvestamisega olid siis eraldi probleemid. KĂ”ige sagedamini ĂŒhendati arvutid monokontrollerite abil ĂŒhte vĂ”rku âĂŒhine bussâ ja edastuskiirus oli 57600 baudi. Diskettajam oli tavaliselt ĂŒks ja see ei töötanud tihti. Kas töötab vĂ”i ei tööta, kas vĂ”rguĂŒhendus katkes vĂ”i diskett ei loe.
Tollal kandsin endaga kaasas seda loomingut, mille maht oli 360 kB.

TĂ”enĂ€osus, et suudan sellelt oma programmi jĂ€lle ĂŒles leida, oli umbes 50â70 protsenti.
Kuid peamine probleem kĂ”igi nende lugude juures arvutitega âBKâ olid lĂ”putud hangumised.
See vĂ”is juhtuda igal hetkel, olgu see siis koodi sisestamine vĂ”i programmi kĂ€itamine. JÀÀk sĂŒsteem tĂ€hendas, et 45 minutit aega oli raisatud, sest tuli kĂ”ik alustada uuesti, kuid jÀÀnud Ă”ppetööks ei olnud sellele enam piisavalt aega.
Aasta 1993 lĂ€henedes ilmnesid mĂ”nes koolis ja gĂŒmnaasiumites normaalsed klassid 286 masinatega, mĂ”nes kohas seisis isegi 'kolmnurk'. Programmeerimiskeelte osas oli kaks varianti: seal, kus lĂ”ppes 'BASIC', algas 'Turbo Pascal'.
Programmimine 'Turbo Pascalis' nÀidetes 'tankid'
Lastele Ă”petati âPascalisâ tsĂŒklite loomist, funktsioonide joonistamist ja massiividega töötamist. FĂŒĂŒsika-matemaatika gĂŒmnaasiumis, kus ma mĂ”nda aega âviibisinâ, antakse informaatikale ĂŒks Ă”ppetund nĂ€dalas. Ja seal oli kaks aastat seda igavust. Loomulikult tahtsin ma teha midagi tĂ”sist, mitte lihtsalt massiivi vÀÀrtuste vĂ”i mingi siinusfunktsiooni ekraanile vĂ€ljatrĂŒkki.
TankimÀngud
Battle City oli ĂŒks populaarsemaid mĂ€nge NES-i (Dendy jmt) koopia gazettidel.

1996. aastal oli 8-bitiste mĂ€ngude populaarsus möödas, nad olid ammu kapis tolmu kogumas, ja mulle tundus huvitav teha midagi mastaapset â nimelt kloon âTankimĂ€ngudestâ PC-le. Edasi rÀÀgin sellest, kuidas siis tĂ”eliselt nutikas olla, et âPascalisâ midagi graafika, hiire ja heliga tekitada.

Sa saad joonistada ainult pulkasid ja ringe
Alustame graafikast.

PĂ”hiversioonis vĂ”imaldas âPascalâ joonistada teatud kuju, neid tĂ€ita ja punktide vĂ€rve mÀÀrata. KĂ”ige arenenumad protseduurid, mis modulis Graph meid sprite'ide juurde viisid, olid GetImage ja PutImage. Nende abil sai eelnevalt reserveeritud mĂ€lu alasse ekraani osa salvestada ja seejĂ€rel kasutada seda lĂ”igatud rasterpildina. TeisisĂ”nu, kui soovite ekraanil mitmeid elemente vĂ”i pilte korduvalt kasutada, joonistate need esmalt, kopeerite mĂ€lu, kustutate ekraani, joonistate jĂ€rgmise ja nii edasi, kuni olete loonud vajaliku teegi mĂ€llu. Kuna kĂ”ik toimub kiiresti, ei pane kasutaja neid trikke tĂ€hele.
Esimene moodul, kus kasutati sprite'e, oli kaardiredaktor.

Seal oli markeeritud mĂ€nguvĂ€li. HiireklĂ”ps kutsus esile menĂŒĂŒ, kus vĂ”is valida ĂŒhe neljast takistuse variandist. Muide hiire kohta...
Hiir â see on juba 90ndate lĂ”pp
Hiiri oli muidugi kĂ”igil, kuid 90ndate keskpaigani kasutati neid vaid Windows 3.11, graafiliste paketide ja vĂ€hese arvu mĂ€ngude puhul. Wolfis ja Doom'is mĂ€ngiti ainult klaviatuuriga. Ka DOS-i keskkonnas ei olnud hiir eriti vajalik. SeetĂ”ttu ei sisaldanud Borlandi hiire kasutamise moodulit isegi standardne pakkumine. Seda pidi otsima tuttavatelt, kes lehvitasid kĂ€si ja kĂŒsisid: âMilleks sul seda vaja on?â
Kuid hiirekursoriga menĂŒĂŒelementide klĂ”psamine on vaid osa töödest. Esmalt tuleb need ekraanile joonistada, kahes variandis (tavaolekus ja vajutatuna). Tavaolekus on nupul hele ĂŒlemine osa ja all on vari. Vajutatuna on vastupidi. Ja see tuleb ekraanil kuvada kolm korda (tavaolekus, vajutatuna, siis taas tavaolekus). Lisaks ei tohi unustada, et seadistada viivitused kuvamiseks ja peita kursor.

NĂ€iteks nĂ€gi peamenĂŒĂŒ töötlemine koodis vĂ€lja nii:

Heli â ainult PC Speakeri piiks
Heli on eraldi lugu. KaheksakĂŒmnendate alguses valmistusid Sound Blasteri kloonid oma vĂ”idukĂ€iguks ja enamus rakendusi töötasid vaid sisseehitatud kĂ”lariga. Selle maksimaalsed vĂ”imalused piirduvad ĂŒhe tooni samaaegse esitamisega. Just seda vĂ”imaldas teha Turbo Pascal. Protseduuri sound kaudu sai 'piiksuda' erinevatel sagedustel, mis oli piisav paugutamise ja plahvatuste helide jaoks, kuid muusikapala esitlemiseks, nagu sel ajal moes oli, see ei sobinud. LĂ”puks leiti ĂŒsna nutikas lahendus: oma tarkvara arhiivist leiti mingi "ekzeshniku", mis kunagi mingist BBS-ist alla laaditud. See suutis imesid teha â esitada kompressimata wav-faile PC Speakeri kaudu, tehes seda kĂ€surealt, ilma eraldi liidese olemasoluta. KĂ”ik, mis oli vajalik, oli kutsuda see vĂ€lja pascalite protseduuri exec kaudu ja jĂ€lgida, et see struktuur ei kukuks kokku.
LĂ”puks ilmus ekraanile lahe muusika, kuid sellega juhtus naljakas asi. 1996. aastal oli mul Pentium 75, mille olin ĂŒle kelle 90-ni ĂŒles keeranud. Sellel töötas kĂ”ik suurepĂ€raselt. Kuid ĂŒlikoolis, kus me teisel semestril Pascalit Ă”ppima hakkasime, olid Ă”petlikus klassis vanad "kolmandad" arvutid. Kokku lepitud Ă”petajaga, tĂ”in ma teisele tunnile need tankid, et saada arvestus ja rohkem sinna mitte minna. Ja nii, pĂ€rast kĂ€ivitamist kostus kĂ”laritest vali möiramine koos kĂ”hklsete hÀÀletustega. ĂhesĂ”naga, 33-megahertsine "kolmas" DX ei suutnud isegi seda "ekzeshnikut" korralikult tööle panna. Aga muidu oli kĂ”ik hĂ€sti. Loomulikult, arvestamata klaviatuuri mahajÀÀmust, mis rikkus kogu mĂ€ngukogemuse sĂ”ltumata PC jĂ”udlusest.

Kuid peamine probleem ei olnud "Pascalis".
Minu arusaama jĂ€rgi on «Tankid» maksimum, mis Turbo Pascalist ilma assembleri sisestusteta vĂ€lja pigistada sai. Selgeks puuduseks lĂ”pptootes olid aeglane klaviatuuri kĂŒsitlus ja aeglane graafika joonistamine. Olukorda sĂŒvendas ÀÀrmiselt vĂ€hene kolmandate osapoolte teekide ja moodulite arv. Neid sai ĂŒhe kĂ€e sĂ”rmedega lugeda.
Aga kĂ”ige rohkem hĂ€iris mind lĂ€henemine koolihariduses. Lastele ei rÀÀgitud siis teiste keelte eeliste ja vĂ”imaluste kohta. Tundides hakati peaaegu kohe rÀÀkima begin, println ja if, mis lukustas Ă”pilased Basic-Pascal'i paradigmasse. Neid kahte keelt saab pidada ainuĂŒksi Ă”pikuteatekse. Nende "lahedat" rakendamist esines harva.
Miks Ă”petada lastele vale keeli â see on minu jaoks mĂŒsteerium. Olgu nad visuaalselt arusaadavamad. Olgu Basic'i variandid kusagil kasutusel. Aga igal juhul, kui inimene plaanib oma tulevikku programmeerimisega siduda, peab ta siiski nullist Ă”ppima teisi keeli. Miks mitte seada lastele samu Ă”pikĂŒsimusi, vaid juba normaalses platvormis (keeles), mille raames nad saaksid edasi areneda iseseisvalt?
Muide, ĂŒlesannete kohta. Koolis ja instituudis olid need alati abstraktsed: arvutada midagi, koostada funktsioon, joonistada midagi. Ăppisin kolmes erinevas koolis, pluss meil oli "Pascal" esimesel kursusel instituudis, ja kordagi ei seadnud Ă”ppejĂ”ud mingit reaalselt rakenduslikku ĂŒlesannet. NĂ€iteks teha mĂ€rkmik vĂ”i midagi kasulikku. KĂ”ik oli vĂ€lja mĂ”eldud. Ja kui inimene kuude kaupa lahendab tĂŒhje ĂŒlesandeid, mis siis minema visatakse⊠KokkuvĂ”tteks, instituudist tulevad inimesed juba lĂ€bi pĂ”letatuna.
Muide, kolmandal kursusel sama ĂŒlikooli programmis said meil "plussid". Tundus, et asi on hea, kuid rahvas oli vĂ€sinud, kĂŒllastunud vale ja "Ă”ppimise" ĂŒlesannetest. Entusiasm ei olnud enam see, nagu esimesel korral.
P.S. Otsisin teavet selle kohta, milliseid keeli praegu koolides infotehnoloogia tundides Ă”petatakse. KĂ”ik on nagu 25 aastat tagasi: Basic, Pascal. Ăksikud sisestused on Python.
Allikas: habr.com
