Söker lärdom inom programmering

Avdelningen för programmering, nätverk samt alternativa OS.
User avatar
Mr Einstein
Posts: 1935
Joined: 2006-07-28 13:15:02

Post by Mr Einstein »

IcePic wrote:Det känns lite som att se på när Susanne Lanefeldt jumpar på TV:n för att bli smal.
Vill du bli bra på programmering så träna programmering.
Det är meningen att man ska följe hennes steg och inte bara titta på ;)
User avatar
IcePic
Hedersbit
Posts: 6061
Joined: 2002-03-08 16:09:38

Post by IcePic »

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".
Oh give me a clone, my very own clone,
with the Y chromosome changed to X!
And since she's my own, of my own flesh and bone,
she'll be thinking of nothing but sex!
Baurken
Posts: 171
Joined: 2007-07-14 22:34:58

Post by Baurken »

Har läst en del om både ASM och C++, Och känns som man hoppar rakt ner i djupaste djungeln var gäller programmering. Tror jag skulle vilja börja på något lättare.

Webbprogrammering verkar mycket lättare och dessutom riktigt roligt, Vad borde jag läsa på där? Och kan gärna föreslå litteratur inom det språket också :)

Har inte lagt ner mina mål om att lära mig ASM och C++, men dom är framskjutna. Blir något lättare först så man kommer in i det först.
User avatar
mirza*
Posts: 1267
Joined: 2002-04-19 15:46:47

Post by mirza* »

IcePic wrote: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".
Resultat är motiverande, men helt värdelösa om man inte lär sig något. myString.output() är värdelöst. Folk lär sig inte programmera genom att anropa magiska library funktioner. Allt de lär sig är magiska library funktioner i whatever high-level hack är hip för tillfället. ASM är kanske alltför low-level, men de flesta "lär dig programmera m.h.a. Ruby on Rails" tutorials är alltför high-level. Efter ett halvår har man lärt sig alla helpers i ActionView, men ingeting om vad som egentligen händer för att rendera en webbsida, ingeting som går att transferra till någon sorts djupare kunskap.

Jag tycker att din cyckel-jämförelse är kass. Att lära sig cyckla på en vanlig cyckel är som att lära sig programmera med C. Om du faller gör det ont, men du lär dig hålla balans. Att lära sig programmering med Python är som att lära sig cyckla så här:

http://therawfeed.com/pix/fisher-price_smart_cycle.jpg
http://blog.makezine.com/pvcbikesim.jpg
http://exercise.lovetoknow.com/images/E ... sebike.jpg

Vroom, vroom, bitch. :)
IL1
User avatar
HLC
Posts: 2146
Joined: 2004-09-25 10:08:21
Location: Kista

Post by HLC »

Jag tycker nog ditt uttryck "magiska library funktioner" säger mer om vad du har för förhållande till programutveckling än något annat. Klarar man inte av att programmera efter svarta lådor med givna specifikationer så ser jag det som ett större problem än att man inte kan förstå hur dessa svarta lådor fungerar.
"Broadcom and Apple are the antithesis of free disclosure of information." - Theo de Raadt
"Unconditional love costs extra." - Sun Microsystems
User avatar
mirza*
Posts: 1267
Joined: 2002-04-19 15:46:47

Post by mirza* »

Snacka om nostalgi: http://www.64bits.se/forum/viewtopic.php?t=8573
HLC wrote:Jag tycker nog ditt uttryck "magiska library funktioner" säger mer om vad du har för förhållande till programutveckling än något annat. Klarar man inte av att programmera efter svarta lådor med givna specifikationer så ser jag det som ett större problem än att man inte kan förstå hur dessa svarta lådor fungerar.
De människor vars nyfikenhet tvingar dem att plocka isär svarta lådor blir till slut de som bygger lådorna åt folk som dig. Från en nybörjares synvinkel är de just det: magiska. För övrigt programmerar vi alla mot ett antal svarta lådor oavsett vad vi skriver i. Assembly och machine code är endast the "high-level" interface exposed av dagens CPUs.

Frågan är inte hur svart lådan är, men vad man lär sig från den och hur man kan böja och töja det man har lärt sig för att använda det till olika syften.
IL1
User avatar
HLC
Posts: 2146
Joined: 2004-09-25 10:08:21
Location: Kista

Post by HLC »

mirza* wrote:... åt folk som dig...
Haha, you made my day som du säkert skulle säga, du måste nog ned ett par steg innan du träffar på mig.

Jag har inte sagt att jag inte är tacksam för de som faktiskt skapar era fina svarta lådor, jag håller dock med Nem om att skall man börja lära sig programmera får man bry mycket mer utav att förstå koncepten med de svarta lådorna än att försöka skriva lådorna själv ifrån start.
"Broadcom and Apple are the antithesis of free disclosure of information." - Theo de Raadt
"Unconditional love costs extra." - Sun Microsystems
Baurken
Posts: 171
Joined: 2007-07-14 22:34:58

Post by Baurken »

Mindre OT, Tack.

Tycker ni kan avsluta eran interna diskussion eller starta en egen tråd. Nu kan vi traska tillbaks till ämnet.
Post Reply