construct

    1. konstrukt – beteckning på de grundläggande sätten att exekvera instruktionerna i programkod. Man brukar räkna med tre konstrukter:
    • sekvens – instruktioner utförs i tur och ordning;
    • selektion – vid hopp (”förgreningar”) exekveras en av två eller flera möjliga instruktioner;
    • iterering – en serie instruktioner exekveras flera gånger, antingen ett bestämt antal gånger eller tills ett angivet villkor är uppfyllt.
  1. – i andra sammanhang: en teoretisk skapelse som beskriver eller förklarar ett fenomen, till exempel inom psykologi; termen markerar att det är just en teoretisk konstruktion, inte något som är direkt empiriskt belagt.

[datorvetenskap] [programmering] [6 juni 2020]

digitalitet

  1. – egenskapen att vara digital (till skillnad från analog);
  2. – livsmiljö präglad av digital teknik. Ordet används mycket i pedagogik om behovet av att lära barn att behärska datorer och internet. Även i motsvarande betydelse om företagande och annat.

– På engelska: digitality. – Se också digitalisering.

[arbetsmiljö] [datorvetenskap] [pedagogik] [ändrad 31 juli 2019]

informatik

det vetenskapliga studiet av information och hur information behandlas i tekniska system i interaktion med människor. Det har nära anknytning till datorvetenskap, men är i Sverige mindre inriktat på maskinvara. – Ordet informatik har motsvarigheter på andra språk, men den exakta betydelsen varierar. I Sverige är universitetsämnet informatik samhällsvetenskapligt inriktat (motsvarigheten på engelska brukar kallas social informatics), men i Tyskland och Frankrike brukar Informatik / informatique vara motsvarigheten till datorvetenskap i Sverige. – Ordet informatik skapades 1957 av AI‑pionjären Karl Steinbuch (se Wikipedia). – På engelska: informatics.

[datorvetenskap] [ändrad 2 juli 2019]

robusthet

i datorvetenskap: förmåga hos ett it‑system att fungera tillfredsställande, trots fel. Ett robust program ska vid fel inte producera felaktiga utdata, inte krascha och inte gå in i en slinga. – Fel kan vara:

  • – tekniska fel vid programkörningen (en sladd rycks ut, glappkontakt, avbrott i nätverket…);
  • indata som programmet inte kan behandla (fel datatyp, division med noll, andra värden som programmeraren inte har förutsett…)
  • – fel i programkoden.

– Robust programmering går ut på dels att förebygga sådana fel, dels att se till att systemet kan hantera dem. Programmet bör alltså kunna känna igen fel när de uppstår. Programmet bör rapportera fel till användaren, och om möjligt fortsätta med andra delar av programmet tills felet är rättat. (Se abort, retry, ignore, fail?.) – Fyra principer för robust programmering är:

  • – Sjuklig misstänksamhet. Andra kan vara ute efter att missbruka eller sabotera programmet; programmeraren är medveten om att hon själv kan göra fel;
  • Dumhet. Om det går att göra fel så kommer någon användare att göra fel. (Se Murphys lag.) Skriv därför tydliga och lättfattliga felmeddelanden – inte obskyra felkoder;
  • Dölj farliga redskap. Ge inte användarna möjlighet att modifiera programmet;
  • Sådant händer aldrig. – Jo det gör det. Gardera även mot osannolika fel.

– På engelska: robustness.

[datorvetenskap] [fel] [it-system] [15 oktober 2018]

orakel

i testning av datorprogram: verktyg som kan avgöra ifall programmet ger rätt resultat. – I enklare fall är detta trivialt: utvecklaren kan avgöra den saken själv, men när man testar mer komplicerade system kan det vara svårt att kontrollera resultatets riktighet. Algoritmerna som räknade fram resultatet kan ju inte gärna också kontrollera ifall de räknar rätt, eller ifall utvecklaren har tänkt rätt. – Ordet orakel används också om verktyg för kontroll av program som behandlar transaktioner i den materiella världen. Motsvarar en digital registrering av en transaktion verkligen motsvarande händelse i den materiella världen? Om Bilregistrets datorer registrerar att en bil har bytt ägare, hur vet datorerna att bilen verkligen har överlåtits till den nya ägaren, och att den förra ägaren har fått betalt? Hur kan ett postorderföretags datorer kontrollera att kunden verkligen har tagit emot de beställda varorna? Ett verktyg som ger ett tillförlitligt svar på sådana frågor kallas för orakel. Man talar om orakelproblemet, the oracle problem – alltså: hur skapar man ett sådant program? Det har blivit aktuellt med anledning av smarta kontrakt. – Kallas också för testorakel. På engelska: oracle eller test oracle. – I antiken var ett orakel (av latinets orare – att tala) ett slags spåman eller spåkvinna som gav vanligtvis svårtolkade och mångtydiga svar på frågor om fördolda ting.

[datorvetenskap] [programmering] [testning] [ändrad 11 maj 2020]

race condition

ett svårlöst problem vid programkörning: det att resultatet av programkörningen förändras beroende på tid och ordningsföljd för indata: det kan antingen bero på exakt på mikrosekunden när indata blir inlästa eller på i vilken ordning de blir inlästa. Detta förutsätts vara något som programmeraren inte kan påverka. – Race conditions nämns ofta som exempel på heisenbuggar: när man försöker rätta till dem försvinner de – för att senare återkomma. Att förebygga och rätta till race conditions är ett klassiskt problem i datorvetenskap. (Se också funnel.) Någon etablerad svensk översättning av race condition finns inte, förutom den ovanliga termen loppskick med oklar förklaring. – Jämför med data race, se kapplöpning.

[datorvetenskap] [programkörning] [ändrad 17 maj 2020]

deterministisk

om datorprogram: som ger exakt samma resultat varje gång programmet körs, förutsatt att indata är identiska. Rena matematiska beräkningar är deterministiska (12+3 blir alltid 15), men sökningarGoogle är inte deterministiska. (Som indata räknas då sökorden.) – På engelska: deterministic. – Determinism är den filosofiska åskådningen att allt som händer är förutbestämt, betingat av vad som har hänt tidigare.

[datorvetenskap] [filosofi] [programmering] [ändrad 28 juni 2018]