Att använda Python som systemvetare

Vad är programmeringsspråket Python?

Precis som med alla andra programmeringsspråk inom data och IT-världen, så har språket Python också en gudfader. Detta programmeringsspråk skapades och utformades på sent 1980-tal av Guido van Rossum. Här handlar det om ett språk som har ett mycket rikt standardbibliotek, som även kan utökas med hjälp av olika utomstående funktioner. Python kommer att vara ett språk som fungerar på massor av olika plattformar, vilket gör att det med fördelar kan användas då produkter, program och arbetsmiljöer som måste fungera på multipla plattformar ska skapas. Till en början utvecklades Python upp till version 2.6 utan större förändringar. När det sedan kom upp till version 3.0 så är det mycket som skett. Detta har bland annat gjort att Python är mycket vanligt som del i en systemvetares arbete.

Det viktigaste när du använder Python för utvecklingen av ett system som människor ska arbeta i är funktion. Det betyder att du får med alla de essentiella egenskaperna som detta programmeringsspråk kan leverera. Det första i detta fall är objektorientering, vilket är en av de programmeringsparadigmer som gör Python så värdefullt att använda. Andra egenskaper är den funktionella biten vilket då även medför en exakta procedurella rutiner. Användningen av python kommer även att vara mycket effektivt och funktionellt då det handlar om Imperativ programmering. Detta betyder att du som systemvetare kan välja mellan direkt eller imperativ programmering. Här kommer då det senare att visa sig vara ett bättre alternativ i samband med logikprogrammering.

Som systemvetare vet du mera

Om livet som systemvetare rörande Java och Python skulle vara lika enkelt som det låter så skulle allt vara underbart. Jämför detta med att kika på ormar på TV med en kopp kaffe i handen. Då är det förmodligen helt uppenbart att du inte känner till det heller. Hur som helst kommer du som systemvetare känna till att det oftast krävs mera än Python för att klara av ett projekt. Detta med anledning av att det inte finns många system som bygger på eller kan bygga på enbart programmeringsspråket Python. I och med att detta är ett högnivåspråk som fungerar på multipla plattformar, så kommer det dock att vara perfekt att kombinera med andra.

Några som älskar Python är Google och YouTube, som tycker att detta är det perfekta språket att utveckla i. Här finns det ju ingen människa i världen som kommer att kunna säga att de har misslyckats. Hur som helt är Python ett språk där du skriver enstaka skript för olika funktioner i ett system eller en applikation. Om du som systemvetare använder det på detta sätt, kommer du att vara den som får ut det mesta av det bästa. Här handlar det om snabbhet och minimal arbetsinsats, för att få något ”up and running” Detta med anledning av att Python är ett direkt språk där det krävs mycket få steg för att skapa en färdig kod som verkligen fungerar.

Programmeringsspråket Java

Vad är Java

Är du den som inte alls gillar datorer och allt som rör sig inom Informationsteknologi? Ja, i det fallet kommer inte Java att betyda samma saker som för en systemvetare. För dig kan då Java stå för din favoritplats på semestern, då detta även är en ö i den Indonesiska övärlden. I annat fall kan det vara uråldrig slang för en kopp fika, där användandet av detta namn gör att du förvirrar unga människor. För unga datorintresserade upp till systemvetare och programmerare så är idag java ett programmeringsspråk. För att göra en lång historia kort så presenterades Java som ett programmeringsspråk och ett alternativ till C++ redan 1995. En av de stora frontfigurerna bakom detta programmeringsspråk är James Gosling på Sun Microsystems.

Det första namnet på detta språk var D, sedan blev det Oak för att sedan slutligen bära namnet Java. Det första som skapades med denna typ av programmeringsspråk var det operativsystem som fanns i Sun Microsystems datorer. Detta blev förvånansvärt populärt på den tiden detta skapades och användes flitigt. I takt med utvecklingen blev dock med tiden Java något som många ratade då det många gånger ledde till sämre kompatibilitet. Idag har det dock utvecklats till att fungera mycket bättre, vilket har lett till att det är en stor del av många systemvetares vardag. Java är också något som i stort sett alla som använder en dator och internet kommer i kontakt med. Här är det nästan ingen som undgått att se notisen om att Java Runtime måste uppdateras.

Java ur en systemvetares perspektiv

Som systemvetare ser du programmeringsspråket Java som en av dina vänner. Inte ens när något inte fungerar som det ska så blir detta en ovän. Här handlar det om ett språk som är mycket lättdrivet och det inte krävs så komplicerade implementationer i samband med. Anledningen till detta är att det bygger på grunderna i C++, vilket är mycket större och mera komplicerat. I vissa fall kan det dock finnas anledningar att vara försiktigt med appliceringen av Java, då detta kan leda till sämre kompatibilitet som då ger en motsatt effekt rörande de viktiga funktionerna som krävs. Programmeringen som används i Java är byggt på exakta strängar. Här finns det då något som kallas för inteager vilket är den viktigaste strängen i Javaprogrammering.

Som systemvetare använder du i stort sett enbart Java för att interagera med användaren. Här bygger då många gånger programmeringsspråket Java det gränssnitt som möter användaren. I det fallet kallas detta gränssnitt på internationell nivå, och inför alla systemvetare, för ett interface. I det fallet handlar det om den grafiska miljös funktioner som finns framför ansiktet på användaren av ett system. Som systemvetare vill du att Java ska ha funktioner som lätt att känna igen, objektorienterat och enkelt. Här ska det också vara stabilt och säkert samt kunna finnas i såväl portabla som installerade miljöer. När du programmerar i Java kommer du även att använda en kompilator. Detta gör att snabbhet samt en förståelse från den maskin det sitter i uppnås.

Det viktigaste för en systemvetare

Som systemvetare vill du tillföra modern användarvänlighet

Något av det viktigaste inom arbetet som systemvetare är att se sambandet mellan funktion, effektivitet och användarvänlighet. Här handlar det om att vara den som ser till att människor trivs på arbetet och förstår det de gör varje dag. Detta är något du måste uppfylla inför alla som jobbar på en arbetsplats, eller inför alla som köper en produkt du varit med och utvecklat. Efter detta måste du se till chefens och eventuella investerares önskemål. I det fallet gäller det att uppfylla kraven på modern design, moderna funktioner och interaktiva miljöer. Låter detta jobbigt? Ja, kanske det och ändå är detta bara början på vilka kunskaper en systemvetare måste besitta.

Här handlar det om att hela tiden ha koll på allt det nya som kommer, samt att vara den som vet hur det går till att skapa attraktiva miljöer att arbeta inom i det virtuella livet. Nu är det förvisso inte bara inom det virtuella livet en systemvetare kan arbeta. Här kan det även handla om slutna platser såsom exempelvis Intranät. För att uppfylla de krav som ställs för användarvänliga moderna arbetsmiljöer eller produkter kommer du som systemvetare att arbeta mycket inom områdena AI och UX, vilka är de som måste smälta samman för att allt ska fungera.

Vad är AI och UX?

I detta fall ska det börjas med att förklaras vad AI är. Detta är något som är en förkortning av Artificiell Intelligens. Nu tror du genast att det handlar om att du ska sälja flygbiljetter till marsmänniskor, för att sedan kidnappa dem och koppla in dem som kretsar i arbetsplatsens datorer för att göra dessa smartare. Nej, så korkad är du nog inte. Att AI står för skapandet av intelligenta maskiner är den rätta tankegången. Som systemvetare har du dock större kunskaper och känner väl till att det är du som skapar denna intelligens. När det gäller AI inom området systemvetenskap så handlar detta helt enkelt om att applicera ett intelligent beteende i de datorer och datorprogram du arbetar med.

Nu är det dock så avancerat att det inte räcker med att bara ha en intelligent dator och ett intelligent program. Kommer de människor som arbetar med dessa datorer och program vara intelligenta nog att förstå sig på dem? Ja, här kan du vara dum och säga att dessa människor ska ha utbildning för detta arbeta precis som du måste ha. Tyvärr leder detta till att du inte blir långlivad som systemvetare på en arbetsplats. Här handlar det om att applicera en instruktion runt AI. Detta utförs genom att applicera ett grafiskt gränssnitt eller med andra ord en användarmiljö. Det är här UX kommer in som står för användarupplevelse. Skapar du en enkel och funktionell sådan tillsammans med bra och moderna funktioner? Ja, då är du en systemvetare av hög klass.

Termer som en systemvetare bör känna till

Inom alla yrken kommer det att finnas olika saker som är speciella för de som jobbar inom området. I det allra flesta fall så handlar detta om olika ord och termer som används. Här handlar det då om något som går över det dagliga svenska språket. Dessa olika termer kommer förmodligen också inte alls att vara på svenska, utan mest förekommande i datorvärlden och för en systemvetare är att dessa är på engelska. Hur som helst finns det några olika termer som är viktigare än andra och som alla systemvetare kommer att veta vad de betyder och står för.

De vanligaste termerna för en systemvetare

  • Algoritm: Att ha kännedom om vad en algoritm är och hur dessa fungerar, är det absolut viktigaste för en systemvetare. När det gäller en algoritm så är detta en exakt beskrivning som är metodiskt faktabaserad. Detta då i form av att det är en beskrivning på hur det går till att lösa ett problem. Att problem är systemvetarens vardag vet du redan, och detta är helt enkelt verktyget som finns för att lösa det problem som uppstått.
  • Topologisk ordning: När du hör topologisk ordning så är det lätt att dra tankarna till någon form av sortering. Detta är precis vad det handlar om. Här handlar det om en topologisk sortering vilket grundar sig på ordningen av de noder som finns i en acyklisk graf. I detta fall handlar det om en stigande ordning, vilket betyder att lägsta noden kommer först i ordningen för att sedan placera de andra i ett stiga led baserat på värdet av dessa.
  • Trie: Denna term står för ett så kallat digitalt träd. Helt enkelt handlar det om ett sätt att beskriva olika funktioner så att de blir förstådda på papper innan de implementeras eller används i verkligheten. Här kan det också vara så att detta är en ritning av ett systems funktion som redan finns, vilken måste vidareutvecklas för att kunna göras mera användarvänlig. Ibland används också det som kallas för Radix Tree eller Prefix Tree.
  • Abstrakt Datatyp:
  • Huffman-kodning: Detta är en typ av en datakomprimeringsalgoritm som faktiskt uppfanns redan 1952 av en man med samma efternamn. Denna kodning bygger på frekvenser. Detta betyder att denna kodning byter ut det som kan ses mot sekvenser och tecken samt koder av olika längd, vilket då motsvarar en viss frekvens som kan avkodas. Här finns det statisk kodning och adaptiv kodning. Denna typ av komprimeringskod är den vanligaste som används när programmering i C samt C++ utförs.