Programmerare, skeptiker, sekulärhumanist, antirasist.
Författare till bok om C64 och senbliven lantis.
Röstar pirat.
2023-08-25
Frågan om vilka programmeringsspråk som är enkla brukar dyka upp från nybakade programmerare. Det är inte jättelätt att besvara frågan, för det finns så många aspekter som påverkar komplexiteten i ett programmeringsspråk. Är språket enkelt för att språket går att lära sig på kort tid? I så fall är C ett utmärkt enkelt språk. Du måste veta om att du ska skapa en entry point (alltså skriva int main()
) och du måste förstå #include
, men därefter är det bara att gasa på. Det totalt tre uppdelade i tre kategorier: Flödeskontroll, input/output och beräkningar.
För flödeskontroll finns beslut (branschtermen är branching), iterationer (kallas ofta för loopar) och hopp. Input/output handlar om kommunikation med omvärlden, som t.ex. skärm, tangentbord eller printer (printf
, fread
, fclose
). För beräkningar finns ett antal operatorer som +
, -
, *
och /
(med flera).
Rent objektivt finns det inte särskilt mycket att lära sig kring språket C. Helt oavsett vilket programmeringsspråk man pratar om, så måste man lära sig de koncept som är kopplade till programmering – på den punkten kan inte ett språks enkelhet hjälpa till – men när man väl kan det, så är C definitivt enkelt.
Ju enklare språket blir, desto enklare blir det att programmera. C erbjuder 32 nyckelord och en drös med operatorer, vilket man kan lära sig på en dag. Men hur omsätter man den kunskapen till att bygga t.ex. Doom? Eller Heroes of Might and Magic? Eller ens Notepad? Man måste veta hur man använder den specifika plattform man programmerar för, vilket verkligen är en utmaning i sig!
C# är ett språk som betraktas som svårt att lära sig. Antalet instruktioner och nyckelord är enormt, antalet metoder som finns tillgängliga för att lösa en uppgift är stort. Om du som BASIC-programmerare har en vektor innehållande fem textsträngar som du ska skriva ut på skärmen så finns det typ en enda lösning, som ser ut så här:
FOR A=1 TO 5:PRINT S(A):NEXT A
I C# skulle tre olika lösningar på samma problem kunna se ut så här:
for (int i = 0; i < s.Count; i++) Console.WriteLine(s[i]);
foreach (var x in s) Console.WriteLine(x);
s.ForEach(Console.WriteLine);
Men samtidigt, om man lär sig alla instruktioner och alla kommandon (vilket är svårt) så vet du vad som krävs för att bygga Notepad. Eller Doom. Eller rent av Heroes of Might and Magic. Det råder inga tvivel om att svärdet är tveeggat – antingen är språket enkelt men svårt att åstadkomma något i, eller så är språket komplicerat med enkelt att åstadkomma något i när man väl kan det.
Titta gärna på skillnaden mellan Commodore BASIC och 6502 ASM för att skriva HELLO WORLD
på skärmen. I BASIC blir det PRINT "HELLO WORLD"
:
Categories: General
Bjud mig på en kopp kaffe (20:-) som tack för bra innehåll!
Leave a Reply