Kärnbegrepp

Skiss på en universell dataterminologi, och dess underliggande begreppsbildningar. I realiteten är alla dataterminologier lika babyloniskt förvirrade som exempelvis två avlägsna vetenskaper, t.ex. geologi och astronomi. Terminologierna är oerhört programspråkslokala.

Variabler

Variabler: en uppslagningsbar och sättningsbar storhet som har
  • 1. ett namn,
  • 2. ett värde, som kan
    • 2.a. adresseras (= slås upp),
    • 2.b. sättas,
  • 3. en räckvidd där den “finns” i olika bemärkelser:
    • 3.b. en persistensräckvidd där den så att säga “finns”, d.v.s. den garanteras behålla sitt värde, och varefter det kan komma att inträffa en tidpunkt då den når en acccessräckvidd, exempelvis:
      ★ Algol-60 ‘own’ och C/C++ local ‘static’-variabler består under hela programmets körning men kan accessas bara i den funktion där de deklarerats, ★ ett objekts privata värdeattribut består så länge som objektet består, men kan endast accessas från objektets egna metoder (= procedurattribut).

Värden

värde: ett värde är en entitet som behandlas av ett dataprogram, kan lagras i variabler, kan kombineras ihop med andra värden till nya värden med hjälp av operationer så att:
V1 OP V2 = V3
exempelvis
1 + 1 = 2, true and true = true, 34 < 12 = false,
addr#32AAD56 [ 4 ] = addr#32AAD5A
etc..

Det finns följande värdetyper:
  • a. entiteter, exempelvis objekt och arrayer, vilka skall betraktas som enskilda föremål med kodföränderliga tillstånd - det kan teoretiskt finnas två olika entiteter med exakt samma innehåll, de är varandras tvillingar, men eftersom de kan komma att tillståndsförändras till att bli olika skall man ändå inte behandla dem som identiska - [exempel insättes];
  • b. kvantiteter, vilka skall betraktas som eviga, oföränderliga och unika som när man opererar på dem adresserar andra kvantiteter - om man finner att det finns två kvantiteter med exakt samma innehåll, så skall man betrakta dem som ett och samma kvantitet, så att exempelvis 3.141592654 = pi (i exakt 9 decimalers precision);
Värdetyperna har framför allt betydelse för likhets-operationerna, där för kvantiteter likhet och identitet är desamma, medan för entiteter är identitet något annat än likhet, där A är-identiskt-med A emellertid implicerar att A är-likt A.

De i datasammanhang vanligaste värdetyperna är:
  • objekt - entitetstyp, som “handikappade” objekt räknas structar (C/C++) records (Pascal/Ada), Schemes environment, m.fl..
  • arrayer - vanligen entitetstyp; OBS: jag har hör "rader" för detta slags entitet, men det kolliderar med "tile", som även kan översättas med "rad", men som betyder något i stil med "konceptuellt lager",
  • sträng - varierande, vanligen föreställda som arrayer av tecken och hela arrayen utgörande en entitet
  • tecken (character) - kvantitetstyp
  • heltal (integer) - kvantitetstyp
  • flyttal (real/float) - kvantitetstyp
  • uppräkningar (enum etc.) - kvantitetstyper som matematiskt är (cirkulära) undergrupper under heltal, med kvantitetsidentifierare som är kopplade till vardagliga begrepp, exempelvis:
    måndag, tisdag, onsdag, torsdag, fredag, lördag, söndag,