P1 – Kapitel 8

Vad kan man göra och vad kan man inte gör med programmering

Programmeringens möjligheter och begränsningar utifrån datorns funktionssätt.

– ur centralt innehåll i Programmering 1

Begränsningar

Det finns fysikaliska begränsningar. Alltså vad tillåter fysikens lagar att man kan göra med en dator eller ett program, Utan att gå in på detaljer är det kvantmekaniska och termodynamiska lagar som sätter de gränserna.

Transistor Count and Moore's Law - 2011.svg

Det finns teknikbegränsningar. Moores lag som är uppkallad efter en av Intels grundare Gordon E. Moore, säger att antalet

transistorer som får plats på ett chip växer exponentiellt. En transistor en halvledarkomponent som används som bla signalförstärkare, strömbrytare, spänningsreglerare, signalmodulering. Den är grunden för att göra beräkningar i en dator och det är beräkningar som ett datorprogram måste göra för att den ska kunna göra något. PÅ bilden kan ni se utvecklingen på processorer. Jag tog reda på att min dator har en processor (2017) på ca 1,5 miljarder transistorer. Den första PC jag ägde (1997) hade ca 1 miljon transistorer. Man närmar sig gränsen för små transistorer man kan göra innan kvantmekaniska effekter sätter stopp. På Youtube-kanalen Computerphile kan du se en film om detta.

By WgsimonOwn work, CC BY-SA 3.0, Link

Det finns mjukvarobegränsningar. Visa program kan kanske bara köras på vissa operativsystem. Oftast finns det möjlighet att mindre ändringar att skapa en annan version som kan köras vilket operativsystem man vill.

Det finns begränsningar i vilka problem som kan lösas. I filmen nedan finns tre exempel. Det är utanför kursen att förstå detaljerna. Det intressanta att det finns problem som verkar kunna lösas med en dator men som man bevisat att det inte går.

Möjligheter

I början av denna kurs fanns denna film med.

I den nämner man några saker man kan göra med tex Python. Man kan göra detta med andra programspråk också. Oftast finns det inte bara ett språk man kan göra något i

  • Skapa dynamiska webbsidor – sidor som sociala medier
  • Analysera data och visualisera data –
  • Maskininlärning – få programmet att förutsäga utvecklingen på börsen, analysera röntgenbilder bättre än en läkare
  • Programmera små datorer som Raspberry Pi
  • Programmera kretsar som Arduino
  • Gör appar till mobiler
  • Spelprogrammering

Kommer du på fler saker man kan använda programmering till?

Programmering och dess olika användningsområden ur ett socialt perspektiv inklusive genus, kultur och socioekonomisk bakgrund

Pröva att skriva “She is a doctor” och “He is a nanny” och översätt till turkiska och swahili, som är delvis könsneutrala språk. Översätt sedan från dessa språk och tillbaka till engelska. Vad händer. Kolla filmen om du inte kan göra det själv.