Her var det svært mykje interessant. Eg treng nok litt tid på å fordøya alt, både i dette og tidlegare innlegg.
«Tensor» hugsa eg faktisk då du nemnde det, men ikkje definisjonen. Truleg frå ein eller annan programsamanheng. (Eg er heller ikkje matematikar). Kanskje vi kan bruke det ordet i staden for liste?
Du har vel også rett i at subrutine er ei vanesak. Eg kjenner ikkje alle programmeringsspråka, men hugsar GOSUB frå BASIC i dinosaurtida :-). Kanskje difor subrutine er knytt til BASIC? Men det er jo språket i BASIC dette handlar om. Ja, Pascal, og andre, bruker "procedure" og "function" på eigendefinerte programbitar. Einaste staden eg kan hugsa å ha sett omgrepet subrutine utanom i BASIC, er i programmeringsspråket Logo.
Kolbjørn Stuestøl
Den 14.02.2014 09:46, skreiv Kjetil Kilhavn:
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