kompetanseguiden
Hva er C#?
Hva er C# – og hvor kan du lære det? I denne artikkelen får du en rask introduksjon til hva C# er og hvordan det brukes, mens du i verktøyet øverst kan finne ut hvor og hvordan du kan lære det – basert på dine egne kriterier for læringen.
Tilbake til kompetanseguidens hovedside
C# er et objektorientert programmeringsspråk utviklet av Microsoft. Språket har mange likheter med C++ og Java, og er tett knyttet til utviklingsplattformen .Net.
Tomas Sandnes er studieprogramleder for bachelorutdanningen i IT ved Høyskolen Kristiania, og hovedlærer for C#.NET ved AW Academy. Vi har bedt ham om å fortelle litt om C#.
Hva er det overordnede bruksområdet for C# i 2020?C# er godt egnet til å lage applikasjoner, samt backend-delene av webløsninger, særlig for Windows-plattformen.
I samspill med andre verktøy gjør C# det svært enkelt å lage dataspill (sammen med Unity-spillmotoren), og man kan lage apps til mobil (sammen med Xamarin-plattformen).
Hva er fordelen med C#?C# er et objektorientert programmeringsspråk med et bredt bruksområde. Det har tett og god integrering med hele Microsoft-stakken.
Utviklingsverktøyet Visual Studio har fantastisk støtte for C#, og om man vil kan man bruke Visual Studio til alt fra å skrive programkode til å oppdatere datasett, og til å produksjonssette løsninger i skyen.
I tillegg er det stor etterspørsel etter C# utviklere i arbeidsmarkedet.
Hva er ulempene eller begrensningene?
Selv om Microsoft er i en prosess der C# blir mer og mer åpnet opp (gjennom .NET Core), har de ikke kommet like langt som enkelte andre språk på dette området. Så de er fortsatt tettere knyttet til Microsoft og Windows enn andre språk på enkelte områder.
(Men det finnes også fagområder, som dataspillutvikling gjennom spillmotoren Unity, der C#-programmeringsspråket støtter «alt» av plattformer.)
Hva er typisk å utvikle med C#, og hvilke teknologier er vanlig å bruke for å oppnå det?C# er utviklet av Microsoft og har derfor en svært god integrering med resten av deres løsninger, altså er det et flott språk for å lage programmer og utvidelser til hele Windows-miljøet.
C# er også godt egnet som backend-språk for webløsninger (det kombineres da gjerne med HTML/CSS/Javascript som frontend). Og har du lyst til å komme i gang med dataspillutvikling er C#-språket sammen med spillmotoren Unity et supert utgangspunkt.
Hva er kjente eksempler på populære programmer, nettsider eller funksjoner som er utviklet med C#?
For å nevne noen få: Nettsiden Stackoverflow.com er primært basert på C#. Programmeringsverktøyet Visual Studio inneholder mye C#-kode. Programmeringsdelen (scripting-API-et) til spillmotoren Unity er laget i C#.
Hvilke teknologier eller verktøy er det viktig å mestre for å utnytte potensialet i C#?Du kommer langt med ferdigheter i C# og god forståelse av objektorientert programmering.
C# er tett knyttet til .NET-rammeverket – så tett at disse ofte regnes som én – så det er også viktig å kjenne godt til dette. Som backend-programmerer er det i tillegg fint å kunne noe om integrering mot databaser.
Vil du gå fullstack-veien bør du tilegne deg kunnskap om HTML, CSS og Javascript.
Både C# og Java har gjort programmeringen enklere enn den er i C++
Hvilke språk ligner, eller er nært knyttet til C#?
Java og C# er svært like hverandre. Begge disse har en syntaks basert på C++, og koden likner derfor på dette utseendemessig.
Men både C# og Java har gjort programmeringen enklere enn den er i C++, ved at de automatiserer flere av de kompliserte oppgavene.
Hvordan er vanskelighetsgraden og læringskurven? Hvilke forkunnskaper er det en eventuelt en fordel å ha?
C# er lett å lære!
Man kan kanskje si det er like lett som Java, lettere enn C/C++ og noe vanskeligere enn Python og Javascript.
Kan du si noe om utviklingen og forhistorien til C#?
C# versjon 1.0 er fra 2002, og er dermed et relativt ungt programmeringsspråk (yngre enn f.eks. Java, C++ og C).
Det er laget av Microsoft, og deres opprinnelige designmål var et «enkelt, moderne, objektorientert språk». På den tiden vil det si en direkte konkurrent til Java, men skreddersydd for deres eget Windows-miljø.
Per i dag har C# kommet til versjon 8.0, det har fått masse lekre egenskaper det opprinnelig ikke hadde, og det har begynt å få svært god kryssplattform-støtte.
Hvilke råd kan du gi til en som ønsker å lære seg C#?
Det er bare å sette i gang! :-) Det finnes masse gode opplæringsressurser for C# online.
Og vil du heller lære med undervisere i et fysisk miljø, finner du kurs i C# både på kode-bootcamps og på høyskoler/universiteter.