JCL por ĉiuj, aŭ kiel mi konatiĝis kun programado

Kiel mi rakontis en la antaŭa glogero, mi instalis gemini-legantan kromaĵon por KOReader, kaj tio provizis min je pli komforta rimedo por esplori gemini-kosmon dum miaj horoj de neniofarado. Mi do faris iom da tia kosmovagado lastatempe. Unu el la lokoj, kiujn mi trafis, estis artikoleto, en kiu hai2u rakontas pri siaj fruaj komputilumaj spertoj.

Mi experiencia con las computadoras

Kaj mi pensis, ke ankaŭ miaj fruaj spertoj estis sufiĉe amuzaj pro meriti rakonteton.

Do jen, estas mezo de la 80-j en tiam-Soveta Latvio, kaj mi estas 12-jara nesociema knabo, kiu ŝatas librojn kaj matematikon kaj scivolas pri ĉio ajn. Kaj kiu ĵus serioze malsaniĝis kaj pasigos la sekvan jarduonon en hospitaloj kaj sanatorioj. Kion mi faru? Kompreneble mi trovu libron por distri min.

Mi ne memoras detale, kiel kaj kiam mi aĉetis tiun libron. Scienc-popularigaj kaj teĥnik-edukaj libroj estis malmultekostaj, kaj mi aĉetadis plurajn kaj pri diversaj temoj, malgraŭ ke mia familio neniam havis multe da mono. Tiu ĉi nomiĝis “Programado por ĉiuj”. Ĝi estis malaltkvalita eldono kun mola kovrilo, kaj la tempo estis kruela al ĝi. Mi pensas, ke mi ankoraŭ havas kelkajn partojn de ĝi ie, sed kunmeti ilin en la tuton malfacilus. Sed mi ja trovis skanaĵon rete. Nostalgio, ho!

Tiu “por ĉiuj” estis tradicia titolofino en la ĝenro. Oni klarigis ion ajn por ĉiuj. “Neŭropatologio por ĉiuj“ tute ekzistis. “Ĝenerala relativeco por ĉiuj” – mi ja legis ĝin.

La eldoneja priskribo de tiu ĉi diris: “La libro prezentas bazojn de programado por EKM. Pritraktataj estas la demandoj, ligitaj al prezentado de solvoj pri matematikaj problemoj kiel algoritmoj kaj programoj. Ĉefaj artifikoj de programado estas ilustrataj per la programligvo Fortran. Tio ebligas por la legantoj akiri scipovojn pri programado, sufiĉajn por praktika laboro per EKM (ekzemple per BESM-6 aŭ ES EKM)”. Jes, ĝi estas tiel pezostila. Kaj mi uzas mallongigon EKM (elektronika komputad-maŝino), kiun mi normale tradukus kiel “komputilo”, por emfazi tiun burokrate-arĥaikan stilon kun ĝia sovetunia ĉarmo. Neniu plu diras “ЭВМ” ankaŭ en la rusa, krom burokratoj.

Tiutempe, mi neniam vidis ajnan komputad-maŝinon, krom pure meĥanikaj. La plej potenca “komputilo”, kiun mi vidis estis “Felikso”, meĥanika kalkulilo, kiun oni havis ĉe oficejo de mia panjo. Kiam mi estis jam ne bebo sed ankoraŭ tro eta por lasi min sola hejme, ŝi kunprenis min laborejen, kaj mi uzis tiun Felikson kiel ludilon.

Феликс-М

Nek tiutempe, nek iam ajn poste, mi vidis per miaj propraj okuloj monstron kiel BESM-6. La dua komputilo, pri kiu la libro parolas, tiu ES, estas fakte ne specifa komputilo sed la tuta serio, kopiita de IBM-aj System/360 kaj /370. Mi ja renkontis unu el ili dum miaj universitataj jaroj, sed ĝi jam estis antikvaĵo tiutempe, kiun oni montris, sed ne plu uzis. Do mi neniam havis ŝancon ekscii, ĉu la libro vere donis al mi sufiĉajn scipovojn pro regi tiujn aparatojn.

Ĉiel ajn, mi estis en hospitalo, la doloroj ne estis fortaj, do mi ne multe suferis pro ili. Mi multe enuis kaj sopiris hejmon, tamen, do mi plonĝis en la libron kun entuziasmo.

La esencan parton de la libro, tiun pri kiel oni trovas algoritmon kaj esprimas ĝin per formala lingvo, mi trovis relative facila, ŝajne mi ja havas naturan inklinon por tiaĵoj. La libro enhavis plurajn ekzercojn, kiujn mi diligente plenumis en papera kajero. Ĝi ne konserviĝis, bedaŭrinde, do mi ne povas nun kontroli, kiom da cimoj miaj programetoj enhavis. Sed la libro havis ankaŭ sekcion kun solvoj por ekzercoj, do mi kredas, ke mi ne multe devojiĝis de la ĝusta vojo.

Kiom mi memoras, la plej malfacila fundamenta koncepto por mi estis variabloj kaj ties atribuo. Mi bezonis iom da tempo por enkompreni, kial, post diri ke N = 1, oni tuj diras ke N = 2; kaj en kiu mondo N = N + 1 entute sencas. Libro pri ML verŝajne estus pli taŭga por mi, sed tiu ĉi pri fortrano estis ĉio, kion mi havis. Ĉiuokaze, fine mi enkapigis la tutan variablan aferon kaj je la tempo, kiam mi fine renkontis realan aparataron, mi jam havis firman komprenon pri ĝi.

Multe pli perpleksigaj estis specifaj detaloj pri tiuj komputiloj kaj ties flankaparatoj, kiujn mi neniam vidis. La rakonto pri ĝusta aranĝo de trukartoj estis interesa, laŭ la sama maniero, kiel ajna rakonto pri io tute ekster mia sperto estus. Priskribo de subtilaj malsamoj inter diversaj terminaloj estis plena je misteroj. La libro insistis, ke enigi programon per terminalo pli facilas ol per trukartoj, sed la impreso, kiun la teksto lasis, estis tute mala.

Kaj laboradministraj lingvoj!

Tiu de BESM-6 kaj DUBNA almenaŭ aspektis kiel io, kion homoj inventis. Mi ne komprenis ĉiun detalon, sed mi havis la senton, ke mi eble komprenos, se mi rigardos la ekzemplojn sufiĉe longe. (La libro klarigis la instrukciojn, sed tre mallonge kaj la klarigoj celis iun, kiu fakte laboris per la maŝino). Jen la unua ekzemplo:

*NAME PETROV
*PASS: PET125
*TIME: 00.05
       PROGRAM TAB
       DIMENSION A(10)
       …
       END
*EXECUTE
*END FILE

La ES, tamen, estante klono de IBM, uzis variaĵojn de JCL:

// tasko JOB kodo, familio, MSGLEVEL=(2,0),
// CLASS = A
// EXEC FORTCLG
//FORT.SYSPUNCH DD DUMMY
//FORT.SYSIN DD *
       DIMENSION A(10)
       …
       END
/*
//GO.SYSIN DD *
datumoj por la opreracio READ
/*
//

Ĉi tion mi rigardis per rondegaj okuloj, kiel iajn majaajn hieroglifojn. Farite de eksterteranoj por eksterteranoj! Speciale tiu “GO.SYSIN DD *” ŝajnis sorĉaĵo al mi. Kiam mi plenumis la ekzercojn, mi zorgeme ĉirkaŭis mian programon per tiuj formuloj. Ĉiu sorĉisto faras tion, alie la magio ne estiĝos, ĉu ne? Nun mi ja komprenas, kion la ĉi-supra diras, sed por la 12-jara mi ĝi estis nesolvebla enigmo. Mi certe ne havis gvidlibrojn pri System/360 kaj ties operaciumoj. Mi verŝajne ja legus, se mi havus.

Do jen, mia unua enkonduko al programado estis pure surpapera. Mi trastudis la libron ĝisfunde, kaj intereso pri programado restos kun mi por ĉiam, eĉ se mi neniam havos la okazon krii laŭte “GO.SYSIN DD!!!” dum programado. Fortranon, tamen, mi ja uzos en universitato kaj en mia unua laborejo, kvankam la diferenco inter uzota de mi fortran-90 kaj la FORTRAN IV de la libro estos enorma. Baldaŭ post kiam mia hospitala epopeo finiĝos, mi ekhavos mian unuan nepaperan aparaton por programi, ĝi estos programebla RPN-kalkulilo (kaj pasos plia jardeko antaŭ ke mi havos monon por mia propra persona komputilo), sed tio estas alia rakonto.