Vad är C#? Fördelar och nackdelar med C# - Limetta Digitalbyrå
Teknik

Vad är C#?

Idag finns en mängd olika programmeringsspråk, så som C++, Java och C#. Även om många språk är besläktade med varandra, är alla bra på olika saker. I den här artikeln tittar vi närmare på det objektorienterade programspråket C#.


 

C#, eller C-sharp som det uttalas, är ett objektorienterat programspråk (OOP) som utvecklades av Microsoft på 90/00-talet. Det är en efterföljare till C++ men har många likheter med Java, en del säger till och med att det är Microsofts svar på Java. Sedan starten har C# kommit att bli ett av de populäraste programmeningsspråken.

Kanske har det blivit så populärt just på grund av att det är besläktat med andra språk, som C++ och Java. Det gör det är relativt enkelt att lära sig och byta till som utvecklare. C# är dessutom ett kraftfullt och enkelt språk, som kan leverera komplicerad kod på ett relativt enkelt sätt. Det lämpar sig därför särskilt bra när man ska utveckla applikationer – både för webben och mobila enheter. Främst används språket för utveckling på Microsofts .NET plattformen, men det går att använda även på andra plattformar.

 

Så funkar C#

Att C# är objektorienterat innebär att programmet är uppdelat i mindre delar, vilket gör den mer lätthanterlig. Delarna kallas klasser och beskriver vad vi vet och vad vi kan göra med en viss typ av sak. Det fungerar lite som en mall, eller en byggritning, för hur vissa saker ska fungera och vad som ska finnas med. När vi programmerar med C# innebär det att objekten blir byggda utifrån samma ritning och har samma grund, vilket är en stor fördel.

C# delar upp programmet i mindre delar genom att använda sig av klasser - Limetta Digitalbyrå

C# delar upp programmet i mindre delar genom att använda sig av klasser.

Man skulle kunna jämföra det med olika lådor som har etiketter (klasser), där varje låda innehåller olika saker (objekt). Tänk dig en snickarbod där man har sorterat och grupperat verktyg i de olika lådorna. Alla skruvmejslar ligger i en låda och alla sågar ligger i en annan. Varje låda är tydligt uppmärkt med en etikett som talar om vad den innehåller. De olika verktygen har också olika funktioner - du hamrar med en hammare och skruvar med en skruvmejsel. Även om de båda är verktyg är de helt olika saker som används till helt olika ändamål.

 

En klass kan också innehålla variabler och metoder som definierar egenskaper och funktioner. Om vi säger att “Bil” är en klass, så är variablerna bilens egenskaper i form av exempelvis modell, antal dörrar eller hur mycket bensin finns i tanken. Metoderna ger klassen (bilen) funktionalitet som till exempel ”kör framåt” eller ”backa”. Tillsammans blir de byggstenar som man kan återanvända, vilket gör utvecklingen mer kostnadseffektiv.

minBil och dinBil är olika objekt som kan använda samma klass som mall  i C#- Limetta Digitalbyrå

minBil och dinBil är olika objekt som kan använda samma klass som mall

Klasser innehåller även data som beskriver en specifik sak (ett objekt). Med bil-exemplet skulle ett objekt kunna vara “Min bil”. Objektet använder klassen som mall för att beskriva min specifika bils egenskaper och funktioner. Eftersom koden kan bli ganska omfattande används en kompilator. Den håller ordning och reda och omvandla kod från ett språk till ett annat.

 

Om vi återgår till verktygen och snickarboden så hade kompilatorn läst av vad som stod på lådans etikett och vad den innehåller. Den hade sedan översatt det till ett språk som är begripligt för snickaren. När allt är strukturerad i olika låder blir det också lättare för snickaren att hitta ett specifikt verktyg när han ska utföra en viss uppgift. Det här spar både tid och i slutändan pengar när man utvecklar en applikation.

 

För att man ska slippa uppfinna hjulet på nytt samlar C# de olika klasserna i ett bibliotek, eller ramverk. Koden finns då tillgängliga att använda för den som vill. Klassbiblioteket gör koden mer strukturerad, lättläst och enklare att återanvända i flera olika projekt. Det här är bra om man till exempel vill utöka och bygga vidare på en applikation om behovet förändras.

 

Klass = Bil
Variabler = modell, antal dörrar osv
Metoder = kör framåt, backa osv
Objekt = anger ett specifikt exemplar till exempel ”Min bil.”

 

Fördelar och nackdelar med C#

Fördelar

  • Ett stort kodbibliotek finns som open source.
  • Klasser gör koden strukturerad och enklare att återanvända.
  • Det är ett kraftfullt och enkelt språk som kan leverera komplicerad kod på ett enklare sätt.
  • C# har ett bra skydd som gör det svårare för hackare att komma åt källkoden.
  • C# är likt många andra språk, vilket gör det lättare att lära sig och byta till som utvecklare.
  • Det är ett populärt programmeringsspråk med ett större Community och resurser att tillgå.

 

Nackdelar

  • C# kräver ofta en större mängd kod, vilket ställer större krav på strukturen.
  • Koden behöver kompileras varje gång något litet ändras i den. Lägger man till en bokstav så behöver hela koden kompileras om.

 

Så jobbar vi på Limetta med C#

På Limetta gillar vi C# och stacken består av det i botten. Men eftersom alla projekt är olika varierar också de språk, metoder och verktyg vi använder. Vi inkluderar även TypeScript, React eller Vue för att nämna något.


Vill du veta mer om hur vi kan hjälpa dig?


Hör av dig till oss så berättar vi mer.

Kontakta oss


Läs även

Hör av dig!

Vill du komma i kontakt med oss?
Fyll i formuläret så hör vi av oss så fort vi kan.