mirza* wrote:
mirza* wrote:Jag tycker inte att någon ska skriva assembly, eller brainfuck, och de
flesta programmerare behöver inte skriva C, men jag tycker att man ska
förstå det, för annars förstår man inte high-level-språket man
programmerar i.
See, mitt argument är enkelt: (1) man bör förstå vad som händer under the hood, och (2) folk lär sig bättre när de börjar konkret och förstår vad som händer istället för att bolla abstrakta koncept i huvudet.
Högnivå utesluter knappast resultat. Man skriver nåt junk i stil med:
myString="fluff"
myString.output()
och vips uppstår nån typ av websida med texten "fluff" på.
Bara för att man inte gör ett par lea och matar ackumulatorn med den adressen och anropar ett syscall i ROMet
för att printa nullterminerade strängar så betyder det inte att man inte kan
få snabba resultat ut från sin kod. Att man samtidigt inte måste kunna alla
aspekter av ROM-biosanrop och skillnaden mellan big/little-endian när man
lagrar strängar vs addresser är ju bara en bonus, likväl som att man inte
heller segfaultar om strängen inte visade sig vara riktigt så nullterminerad
som man trodde eller missade att sträng-längdscountern räknar från 0 och
inte från 1.
Det finns så många nivåer att programmera på idag att det inte finns en anledning
att börja på de eländigaste. Man kan gott och väl lära sig cykla på en vanlig
cykel först (kanske med stödhjul t.o.m.) och enhjulingen sen.
Det är självklart möjligt att hitta folk som cyklade på ett hjul först, och två
sen och tyckte det var skitbra att kunna enhjuling så "man kan allt", men
det är imho klart bättre att låta de som kan lite få vara lite inlindade i ludd
tills de antingen inser att programmering inte alls är för dem, eller tills de
inser att de vill ha mer kontroll än miljön tillåter, så kan de göra en "informed choice".