Tanchiki yn Pascal: hoe't bern yn 'e jierren '90 programmearje waarden leard en wat der mis wie

In bytsje oer hoe't skoalle "kompjûterwittenskip" wie yn 'e jierren '90, en wêrom alle programmeurs doe wiene allinnich autodidakt.

Tanchiki yn Pascal: hoe't bern yn 'e jierren '90 programmearje waarden leard en wat der mis wie

Wat bern waarden leard te programmearjen op

Yn 'e iere jierren '90, Moskou skoallen begûnen selektyf útrist mei kompjûter klassen. De keamers wiene fuortdaliks foarsjoen fan traaljes foar de ruten en in swiere izerbeklaaide doar. Fan earne ferskynde in learaar ynformatika (hy like de wichtichste kammeraat nei de direkteur), waans haadtaak wie om te soargjen dat gjinien wat oanrekke. Neat. Sels de foardoar.
Yn klaslokalen koe men meastentiids de systemen BK-0010 (yn har farianten) en BK-0011M fine.

Tanchiki yn Pascal: hoe't bern yn 'e jierren '90 programmearje waarden leard en wat der mis wie
Foto makke fan hjir

De bern waarden ferteld oer de algemiene struktuer, en ek oer in tsiental BASIC kommando's sadat se linen en sirkels op it skerm tekenje koene. Foar junior en middelbere klassen wie dit wierskynlik genôch.

D'r wiene wat problemen mei it behâld fan 'e kreaasjes (programma's). Meast faak, kompjûters mei help fan mono-kanaal controllers waarden kombinearre yn in netwurk mei in "gewoane bus" topology en oerdracht snelheid fan 57600 baud. Yn 'e regel wie der mar ien skiif drive, en it gie faak mis mei it. Soms wurket it, soms net, soms is it netwurk beferzen, soms is de diskette net lêsber.

Ik haw doe mei my dizze skepping mei in kapasiteit fan 360 kB.

Tanchiki yn Pascal: hoe't bern yn 'e jierren '90 programmearje waarden leard en wat der mis wie

De kâns dat ik myn programma der wer út helje soe wie 50-70 prosint.

Lykwols, it wichtichste probleem mei al dizze ferhalen mei BC kompjûters wie einleaze freezes.

Dit kin op elk momint barre, of jo koade typearje of in programma útfiere. In beferzen systeem betsjutte dat jo 45 minuten tevergeefs trochbrocht hawwe, om't... Ik moast alles nochris dwaan, mar de oerbleaune lestiid wie hjir net mear genôch foar.

Tichter by 1993 ferskynden yn guon skoallen en lyceums normale klassen mei 286 auto's, en op guon plakken wiene der sels trije roebels. Yn termen fan programmeartalen wiene d'r twa opsjes: wêr't "BASIC" einige, begon "Turbo Pascal".

Programmearje yn "Turbo Pascal" mei it foarbyld fan "tanks"

Mei help fan Pascal waarden bern leard om loops te bouwen, allerhanne funksjes te tekenjen en te wurkjen mei arrays. Op it natuer- en wiskundelyceum, dêr't ik in skoft "wenne", waard ien pear yn 'e wike tawiisd oan kompjûterwittenskip. En foar twa jier wie der dit saai plak. Fansels woe ik wat serieuzer dwaan dan de wearden fan in array as in soarte fan sinusoïde op it skerm werjaan.

Tanks

Battle City wie ien fan 'e populêrste spultsjes op NES-kloonkonsoles (Dendy, ensfh.).

Tanchiki yn Pascal: hoe't bern yn 'e jierren '90 programmearje waarden leard en wat der mis wie

Yn 1996 wie de populariteit fan 8-bits foarby, se hiene lang stof sammele yn kasten, en it like my cool om in kloon fan "Tanks" foar de PC te meitsjen as wat grutskalich. It folgjende giet gewoan oer hoe't it doedestiids nedich wie om te ûntwykjen om wat te skriuwen mei grafiken, in mûs en lûd op Pascal.

Tanchiki yn Pascal: hoe't bern yn 'e jierren '90 programmearje waarden leard en wat der mis wie

Jo kinne allinich stokken en sirkels tekenje

Litte wy begjinne mei grafiken.

Tanchiki yn Pascal: hoe't bern yn 'e jierren '90 programmearje waarden leard en wat der mis wie

Yn syn basisferzje liet Pascal jo inkele foarmen tekenje, skilderje en de kleuren fan punten bepale. De meast avansearre prosedueres yn 'e Graph-module dy't ús tichter by sprites bringe binne GetImage en PutImage. Mei har help wie it mooglik om in diel fan it skerm te fangen yn in earder reservearre ûnthâldgebiet en dit stik dan as bitmapôfbylding te brûken. Mei oare wurden, as jo guon eleminten of ôfbyldings op it skerm opnij brûke wolle, tekenje se earst, kopiearje se nei it ûnthâld, wiskje it skerm, tekenje de folgjende, ensafuorthinne oant jo de winske biblioteek yn it ûnthâld meitsje. Om't alles fluch bart, merkt de brûker dizze trúkjes net.

De earste module dêr't sprites waarden brûkt wie de kaart bewurker.

Tanchiki yn Pascal: hoe't bern yn 'e jierren '90 programmearje waarden leard en wat der mis wie

It hie in markearre spielfjild. Troch mei de mûs te klikken brocht in menu op wêr't jo ien fan fjouwer obstakelopsjes kinne selektearje. Oer de mûs sprutsen...

De mûs is al ein jierren '90

Fansels hie elkenien mûzen, mar oant de midden fan 'e jierren '90 waarden se allinich brûkt yn Windows 3.11, grafyske pakketten en in lyts oantal spultsjes. Wolf en Doom waarden allinich mei it toetseboerd spile. En yn 'e DOS-omjouwing wie de mûs net spesjaal nedich. Dêrom hat Borland de mûsmodule net iens opnommen yn it standertpakket. Jo moasten him sykje troch jo kunde, dy't de hannen opstutsen en as antwurd rôpen: "Wêrfoar hawwe jo him nedich?"

It finen fan in module om de mûs te ûndersiikjen is lykwols mar de helte fan 'e slach. Om mei de mûs op de knoppen op it skerm te klikken, moasten se tekene wurde. Boppedat, yn twa ferzjes (yndrukt en net yndrukt). In knop dy't net yndrukt wurdt hat in ljochte top en in skaad derûnder. As it yndrukt is, is it oarsom. En tekenje it dan trije kear op it skerm (net yndrukt, yndrukt, dan net wer yndrukt). Plus, ferjit net om fertragingen yn te stellen foar werjefte, en de rinnerke te ferbergjen.

Tanchiki yn Pascal: hoe't bern yn 'e jierren '90 programmearje waarden leard en wat der mis wie

Bygelyks, it ferwurkjen fan it haadmenu yn koade seach der sa út:

Tanchiki yn Pascal: hoe't bern yn 'e jierren '90 programmearje waarden leard en wat der mis wie

Lûd - allinich PC-sprekker

In apart ferhaal mei lûd. Yn 'e iere njoggentiger jierren wiene Sound Blaster-klonen gewoan tariede op har oerwinnende mars, en de measte applikaasjes wurken allinich mei de ynboude sprekker. It maksimum fan syn mooglikheden is de simultane reproduksje fan mar ien toan. En dat is krekt wat Turbo Pascal jo tastien hat. Troch de lûdproseduere wie it mooglik om mei ferskillende frekwinsjes te "squeaken", wat genôch is foar de lûden fan gewearskoaten en eksploazjes, mar foar in muzikale skermbefeiliging, lykas doe moade, wie dat net geskikt. Dêrtroch waard in heul slûchslimme oplossing fûn: yn it eigen argyf fan 'e software waard in "exe-bestân" ûntdutsen, ien kear ynladen fan guon BBS. Hy koe wûnders dwaan - spielje net-komprimeare wavs fia in PC-sprekker, en hy die it fanút de kommandorigel en hie gjin eigentlike ynterface. Alles wat nedich wie wie it te neamen fia de Pascal exec proseduere en derfoar te soargjen dat dizze konstruksje net ynstoarte.

As gefolch, de killer muzyk ferskynde op 'e skermbefeiliging, mar der barde in grappich ding mei. Yn 1996 hie ik in systeem op in Pentium 75, cranked oant 90. Alles wurke goed op it. Oan 'e universiteit dêr't Pascal yn it twadde semester foar ús ynstallearre waard, wiene d'r goed droegen "trije roebel" yn 'e klasse. Yn oerienstimming mei de learaar haw ik dizze tanks nei de twadde les brocht om in test te heljen en der net wer hinne te gean. En sa, nei lansearring, kaam in lûd brul mongen mei gurgjende guttural lûden út 'e sprekker. Yn 't algemien die bliken dat de 33-megahertz DX "trije-roebelkaart" net yn steat wie om itselde "útfierbere" goed te spinnen. Mar oars wie alles goed. Fansels, net telle de trage toetseboerd polling, dy't bedoarn de hiele gameplay, nettsjinsteande PC prestaasjes.

Mar it wichtichste probleem is net yn Pascal

Yn myn begryp, "Tanks" is it maksimum dat koe wurde geperst út Turbo Pascal sûnder gearkomste Inserts. De foar de hân lizzende tekoartkommingen fan it einprodukt binne trage toetseboerdpolling en trage grafyske werjefte. De situaasje waard fergrutte troch it ekstreem lytse oantal biblioteken en modules fan tredden. Se koenen wurde teld op 'e fingers fan ien hân.

Mar wat my it meast opfoel wie de oanpak fan it skoalûnderwiis. Nimmen fertelde bern doe oer de foardielen en mooglikheden fan oare talen. Yn 'e klasse begûnen se hast fuortendaliks te praten oer begjinne, println en as, dy't de learlingen yn it BASIC-Pascal-paradigma opsluten. Beide talen kinne wurde beskôge as eksklusyf edukatyf. Harren "combat" gebrûk is in seldsum foarkommen.

Wêrom leare bern falske talen is in mystearje foar my. Lit se mear fisueel wêze. Lit fariaasjes fan BASIC hjir en dêr brûkt wurde. Mar, yn alle gefallen, as in persoan beslút om syn takomst te ferbinen mei programmearring, sil hy oare talen fanôf it begjin moatte leare. Dus wêrom soene bern net deselde edukative taken krije, mar allinnich op in gewoan platfoarm (taal), dêr't se har selsstannich yn fierder ûntwikkelje kinne?

Oer taken sprutsen. Op skoalle en kolleezje wiene se altyd abstrakt: wat berekkenje, in funksje konstruearje, wat tekenje. Ik studearre op trije ferskillende skoallen, plus wy hiene "Pascal" yn it earste jier fan it ynstitút, en net ien kear hawwe de learkrêften posearje gjin echte tapast probleem. Meitsje bygelyks in notebook of wat oars nuttich. Alles wie fierstente. En as in persoan moannen besteget oan it oplossen fan lege problemen, dy't dan yn 'e jiskefet gean ... Oer it algemien ferlitte minsken it ynstitút al útbaarnd.

Trouwens, yn it tredde jier fan deselde universiteit krigen wy "pluses" yn it programma. It like in goede saak, mar de minsken wiene wurch, fol fakes en "training" taken. Nimmen wie sa entûsjast as de earste kear.

PS Ik haw googled oer hokker talen no leard wurde yn kompjûterwittenskippen op skoallen. Alles is itselde as 25 jier lyn: Basic, Pascal. Python komt yn sporadyske ynklúzjes.

Boarne: www.habr.com

Add a comment