disjunktion

logikens term för eller. – Eller har två betydelser, nämligen ”A eller B eller båda” och ”A eller B men inte båda”. I det vanliga språket brukar det vara uppen­bart vilket man menar. ”De tänker semestra i Kroatien eller i Costa Rica” betyder troligen inte att de tänker åka till båda länderna. Men i pro­gram­me­ring måste man vara tydlig, så man skiljer mellan in­klu­siv dis­junk­tion (A eller B eller båda) och ex­klu­siv dis­junk­tion (A eller B men inte båda). Om det bara står disjunktion betyder det inklusiv disjunktion. – I pro­gram­me­ring står för­kort­ningen OR för in­klu­siv dis­junk­tion och för­kort­ningen XOR för ex­klu­siv dis­junk­tion. I formell logik skriver man A∨B eller A∥B (två vertikala streck) för inklusiv disjunktion. – Läs också om NOR.

[logik] [programmering] [ändrad 8 juni 2017]

ekvivalens

i formell logik: av två påståenden är antingen båda två sanna eller båda två falska. Detta kallas också för materiell ekvivalens. Varför de två påståendena har samma sanningsvärde spelar ingen roll. De behöver inte säga samma sak. Med logiska symboler skrivs det A⇔B, AB (tecknet har tre streck) eller A↔B, vilket kan utläsas ”A är sant om och bara om B också är sant”. På engelska förekommer benämningen if and only if, vilket ofta för­kortas IFF. På svenska före­kommer också förkortningen OMM. Se också XNOR. – Materiell ekvi­valens bör skiljas från logisk ekvivalens, som innebär att två på­stå­enden säger samma sak. – En sanningsvärdetabell för materiell ekvivalens ser ut så här:

– Antingen är båda påståendena A och B sanna eller också är båda falska (AB) :

A B AB
sant sant sant
sant falskt falskt
falskt sant falskt
falskt falskt sant

[logik] [programmering] [ändrad 4 april 2017]

Abort, retry, ignore, fail?

– fyra alternativ som användaren brukade ställas inför i felmeddelanden i DOS:

  • abort innebar att program­­körningen skulle avbrytas omedel­bart;
  • retry an­vändes när felet be­rodde på något som användaren kunde rätta till (som att sätta i en glappande kon­takt ordentligt), varpå programkörningen kunde åter­upp­tas;
  • ignore betydde att program­körningen skulle fortsätta utan hän­syn till felet;
  • fail innebar att felet skulle rapporteras till det krånglande pro­grammet, som då antingen skulle rätta felet eller krångla igen.

– Alla fyra alternativen var inte alltid till­gängliga, och ibland var det oklart vad det var för skillnad. Skillnaden mellan Ignore och Fail var ofta otydlig, särskilt för ovana an­vändare, och de fungerade bara vid vissa typer av fel, annars kom fel­med­delandet omedel­bart upp igen. – Abort, retry, ignore, fail är också titeln på en bok om en amerikansk generation.

[fel] [programkörning] [ändrad 9 december 2019]

rekursiv

(recursive)självupprepande. Används om processer som leder till att samma process tas om igen, nu med utfallet av den första omgången som ingångsvärde. Detta är inte ett fel: resultatet av en beräkning kan till exempel användas som ingångsdata i en upprepning av samma beräkning, och detta upprepas till ett förutbestämt villkor är uppfyllt eller tills omtagningarna ger samma, eller nästan samma, resultat gång på gång (resultatet planar ut):

  1. – se rekursion;
  2. – rekursiv subrutin – subrutin som kan anropa sig själv när den körs (detta görs avsiktligt och är inget fel, till skillnad från en slinga, som beror på ett misstag);
  3. – se rekursiv resolver.

[programmering] [ändrad 22 maj 2018]

validering

(validation) – utvärdering – kontroll av att något verkligen har de egenskaper som det uppges eller förväntas ha. Validitet kan översättas med giltighet:

  1. – i systemutveckling: kontroll och bekräftelse av att programmet fungerar på det sätt som beställaren väntar sig. Programmet ska faktiskt gå att använda för det ändamål som det har byggts för. Man skiljer mellan valider­ing och verifiering. Verifiering är kontroll av att ett program är utfört enligt beställningen, vilket inte nödvändigtvis betyder att det fungerar som beställaren hade tänkt sig;
  2. – om data: validitet är att data i ett it-­system stämmer med verkliga förhållanden;
  3. – vid datainmatning och programmering är validering kontroll av att data eller programkod följer formella regler: rätt antal tecken, rätt typ av tecken, rätt ordning, rätt format. – Se också validerare;
  4. – i it-säkerhet är validering kontroll av att en användare eller ett program har rätt att utföra en viss åtgärd. (Jämför med autentisering.)

– Se också robotfilter, ibland kallat valideringskod. – Validering kan syfta både på själva kontrollen och på intygandet av att kraven är upp­fyllda.

[data] [it-säkerhet] [programmering] [språktips] [systemutveckling] [testning] [ändrad 21 mars 2022]

verifiering

(verification) – i programutveckling: kontroll av att ett program är utfört i enlighet med kundens beställning. Det ska eventuellt också uppfylla andra krav, till exempel från lagstiftning och standarder. – Man skiljer mellan verifiering och validering. Validering är kontroll av att programmet verkligen gör det som kunden väntar sig att det ska göra. Programmet kan ju vara gjort enligt kundens specifikationer, och alltså klara verifieringen, men ändå fungera dåligt, eftersom specifikationerna var fel­aktiga eller ofullständiga.

[programmering] [ändrad 4 januari 2019]

JavaScript

ett skriptspråk för program som ska kunna köras i webbläsare, bakas in i HTML‑kod och köras på webbservrar. JavaScript ska inte förväxlas med programspråket Java. – JavaScript används för att ge webbsidor föränderligt utseende och för att göra dem interaktiva med klickbara knappar och liknande. Språket används också för programmering av annat än webb­sidor. Det var i slutet av 2010‑talet ett av världens mest använda programspråk. – JavaScript utvecklades på Netscape† av Brendan Eich (på Twitter), och lanserades 1995. Det skulle ha hetat LiveScript, men det fick namnet JavaScript vid lanseringen, som skedde i samarbete med Sun† (numera del av Oracle). Följden blev sammanblandningar av JavaScript och Java. Micro­soft lanserade senare en variant med namnet Jscript. – Varumärket Java­Script tillhör Oracle, men JavaScript vidareutvecklas inom Mozilla‑projektet, se denna länk.

[programspråk] [ändrad 27 juni 2020]

magic cookie

i programmering: datamängd som skickas från ett program till ett annat utan att bearbetas av det mottagande programmet. – Datamängden, till exempel ett stycke text, lagras av mottagaren bara för att senare skickas tillbaka i oförändrat skick till avsändaren, eller till ett annat program. Magic cookies används för identifiering eller som ett slags kvitton. – Uttrycket lär anspela på fortune cookies, lyckokakor, som har en inbakad papperslapp med text. – Magic cookies har gett namn åt de cookies (kakor) som används i webbläsare.

[jargong] [programmering] [ändrad 3 november 2017]

patch

Hålkort med tejpbitar (patchar) över felaktiga perforeringar.

programfix, rättelsefil med rättelse eller annan mindre ändring av ett datorprograms binär­­kod. Patchar skickas ut i efter­­hand av programleverantören och installeras av användaren. – En sådan patch är ett litet program som söker, hittar och byter ut delar av binärkoden. Det är en mindre ändring än en uppdatering. Microsoft brukade förr släppa flera rättelser åt gången i en samlad fil som kal­la­des för servicepack – En patch kan också vara en ändring som en programmerare utför direkt i binärkoden utan att ändra i källkoden. – Att patcha är antingen att lägga in en patch eller att lappa och laga rätta ett fel i ett program på enklast möjliga sätt. – Läs vad Datatermgruppen skriver (länk). – Ursprungligen var en patch en klisterlapp som användes för att täcka över hål i hålkort när de kodade instruktionerna skulle ändras. – Läs också om patchwriting, som är något helt annat.

[fel] [programmering] [ändrad 22 oktober 2020]