Re: array og subrutine i BASIC

Kjetil Kilhavn <[email protected]>
Newsgroups gmane.comp.internationalization.norwegian
Message-ID <22832332.syvdu6JAgy@antec900>
Torsdag 13. februar 2014 23.35.03 skrev Kolbjørn Stuestøl:
> Dersom ei matrise alltid er todimensjonal, meiner eg "array" i LO Basic
> bør omsetjast med "tabell" sidan "arrays" kan innehalde svært mange
> dimensjonar. I praksis er det her eigentleg snakk om éin type tabellar,
> ikkje tabellar i mange variantar.  Elles har eg i grunnen ikkje noe
> bastant meining her.

Matriser er alltid todimensjonale (lærte noe nytt av denne diskusjonen jeg, 
eventuelt lærte om igjen noe jeg hadde glemt). Ifølge wikipedia er tensor 
ordet for generalisering til flere dimensjoner (1D: vektor; 2D: matrise, 3+D: 
tensor)

"It is possible to consider matrices with infinitely many columns and rows. 
Another extension are tensors, which can be seen as higher-dimensional arrays 
of numbers, as opposed to vectors, which can often be realised as sequences of 
numbers, while matrices are rectangular or two-dimensional array of numbers"

Tensorartikkelen er ikke oversatt til bokmål, men 
http://nn.wikipedia.org/wiki/Tensor :-)

Jeg kan ikke huske å ha hørt begrepet tensor før, men så har jeg da også bare 
4,5 års universitetsutdanning innen elektronikk - ikke matematikk ;-)
Likevel er jeg stor tilhenger av å bruke eksisterende begrep (jf. skrivere som 
vi har hatt siden middelalderen, mens printere er noe som har kommet inn med 
den moderne analfabetismen). Det skader ikke at folk lærer et nytt ord mens de 
leser en hjelpetekst, synes jeg.

Siden målgruppen neppe bare er matematikere kan det likevel være lurt å ha med 
en forklaring, dvs. bruke tensor og så forklare dette som «tabell som kan ha 
1, 2 eller flere dimensjoner». Eventuelt omvendt; bruke «tabell» eller «n-
dimensjonal tabell» og legge til «tensor (matematikk)» eller noe i den dur - 
alt etter hvor mye plass du har og hvor mange ganger du skal bruke begrepet.

Wikipedia inneholder mye interessant. Det kan se ut til at det engelske table 
tilsvarer todimensjonal tabell, mens array er det generelle begrepet for en 
systematisk oppstilling av elementer - jf ordet arrangement. På norsk bruker 
vi vel ordet tabell - jeg tror ikke vi bør begynne å oversette array med 
arrangement i forbindelse med programmering :-)

> > «Subroutine» må nok bli «subrutine». «Delrutine» eller «underrutine» er
> > jo *rett*, og litt «meir norsk», men det er vel svært få som brukar
> > desse orda? Har iallfall inntrykk av at «subrutine» er rimeleg etablert.
> > Og prefikset sub- vert jo også brukt i andre norske ord, utan at orda
> > vert oppfatta som fremmandsord for det (eksempelvis snakkar me jo om
> > subarktiske strøk).
> 
> Einig. Noe for Fellesordlista?

Hvorfor kaller vi det ikke bare «rutine»? Jeg bruker selv subrutine, men det 
skyldes bare innlæring, og det skulle ikke forundre meg om begrepet stammer 
fra den gang dinosaurer (stormaskiner) «vandret» på jorden.

Et godt argument (synes jeg) *for* å kalle det subrutine er at det på et vis 
er et egennavn, og slike oversetter vi jo normalt ikke med mindre det finnes 
historiske eller andre gode grunner til det (jeg mener det er en stund siden 
jeg så eller hørte Ny York brukt i media, men vi bruker fortsatt norske navn 
på de fleste land og mange byer - ikke minst de som bruker andre alfabet).

At det kalles subrutine er definert av programmeringsspråket, for i SAP ABAP 
kalles det «form», og i Pascal kalles det vel «procedure» hvis jeg ikke husker 
feil fra grunnkurset på NTH - men det er jo akkurat den samme mekanismen.
SAP ABAP (og andre språk har jo flere navn for samme mekanisme, avhengig av 
kontekst). 
I SAP ABAP er form en rutine som kan kalles innen samme program (eventuelt fra 
annet program hvis man i kallet også angir hvilket program som inneholder 
rutinen) - altså har den unikt navn innen hovedprogrammet. En funksjonsmodul 
er en rutine som kan kalles fra et hvilket som helst program eller annen 
rutine - altså har den et unikt navn globalt i systemet. En (skjerm)modul kan 
kalles innen samme program og har unikt navn innen hovedprogrammet, men en 
skjermmodul og en form kan ha samme navn siden de kalles med hvert sitt 
prefiks. En klassemetode er i SAP som i mange andre språk en rutine i en 
klasse, og hvor den kan kalles fra avhenger av om definisjonen angir at den er 
offentlig (public), synlig for klassen og underklasser (protected) eller privat 
(private). For å «toppa heile driden» har SAP en gammel kvasiobjektorientering 
med objekter og metoder som egentlig er subrutiner men ved hjelp av makroer og 
mange skitne triks faktisk fungerer bra som substitutt for ekte 
objektorientering. Den tror jeg vi ser bort fra her :-)

Huff, det ble en litt lengre avsporing enn jeg hadde tenkt. På tide å logge seg 
på jobb!

> Helsing
> Kolbjørn Stuestøl
-- 
Kjetil Kilhavn
Fornøyd bruker av fri programvare (KDE/openSUSE)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.