2009-05-17

Ska de va så svårt då?

Vad är svårt när man försöker lära sig Cocoa?

Objective-C: 19%

Om det är ett ganska klassiskt objekt-orienterat språk som är det värsta med att lära sig Cocoa så låter det som beröm till Apple. Beroende från vilket håll man kommer ifrån så är det olika saker man tycker är krångligt med Objective C.

I Didn't Know ANSI C: 12%

Det kan låta som science fiction för vissa av oss: någon gång i framtiden, t.ex. 1984, så finns det folk som programmerar men inte kan det etablerade standardspråket C. Men nu för tiden får man inte ens lära sig det när man pluggar datavetenskap. Tydligen är det alldeles för nischat att syssla med sådana lågnivågrejer nu för tiden, trots de ganska uppenbara pedagogiska fördelarna med att utgå från hur hårdvaran ser ut. Det är en sådan där sak som det är svårt att få in i huvudet utan att skriva kod.

Cocoa is Really Big: 11%

Översatt till svenska: jag är för inkörd på ett specifikt ramverk. Vet man ungefär vad som brukar finnas och hur det brukar se ut så är ett klassiskt designat system som Cocoa väldigt lätt att hitta i. Sen finns det naturligtvis en massa detaljer som är oklara, men sådant har en förmåga att släppa ganska fort. Åtminstone inom ett par år, vilket är ungefär vad som behövs för att lära sig en programmeringsmiljö ordentligt.

Memory Management: 10%

Låter som en underkategori till Objective C och I didn't know ANSI C. Minneshantering är ofta klurigt när man ska lära sig ett nytt språk som är mer eller mindre högnivå än vad man är van vid. Själv trodde jag att jag skulle göra det lättare för mig genom att slå på garbage collection. Det gav mig istället kluriga problem när jag skulle blanda ihop vanlig C-kod och Objective C.

Interface Builder and NIBs/XIBs: 10%

Ja, det är en del magi som pågår här. Det blir mindre kod att skriva, men saker blir inte mer nybörjarvänliga för att man flyttar ut dem till ett grafiskt verktyg. Det är snarare så att det är mer kryptiskt i början, innan man har lärt sig hur det verkligen funkar under ytan. Personligen har jag mycket lättare att förstå Glade, där det bara finns callbacks. Men om man sätter sig in i data bindings så kan jobba mer effektivt med Interface Builder, istället för att koda sina observers själv.

I Was Used to Java or C++: 10%

Ännu en språkkategori.

Delegates: 8%

Nu ser jag ut som ett frågetecken. Kanske är det dokumentationen, kanske är det att de som har valt det här alternativet helt enkelt röker för mycket hasch, eller så är det jag som är för 1337. Delegates är ett ganska grundläggande koncept, så om man har svårt att förstå det så har man nog helt enkelt programmerat för lite.

Overall Cocoa Model: 8%

Javisst, det är det här som det tar tid att lära sig. Och kanske är ovanstående punkt helt enkelt ett specialfall av den här. Man kan lära sig att göra grejer ganska snabbt, men att förstå hur man ska göra dem på bästa sätt tar en massa tid.

I Didn't Know Object-Oriented Programming: 8%

Samma som ovanstående punkt: det tar tid att lära sig en ny typ av språk. Det är som Othello: det tar en minut att lära sig reglerna (eller kanske en vecka) och en livstid att bemästra (eller kanske ett par år).

Learning How Documentation is Structured: 5%

Jag vet inte om det är strukturen på dokumentationen som är problemet. Den är helt enkelt dåligt strukturerad. Det finns en väldig massa dokumentation, men jag har inte hittat något vettigt sätt att navigera i den, bortsett från att skriva saker i sökrutan. API-referensen är för kortfattad och guiderna är alldeles för pratiga. Ungefär som det brukar vara alltså.

Cocoa Bindings: 5%

Ett specialfall av Overall Cocoa model och/eller Interface Builder.

Xcode: 3%

Det här handlar mer om frustration. Det är rätt okej som IDE, men på många sätt har den bit kvar till Visual Studio, Eclipse och t.o.m. Codewarrior. Framför allt gäller det debuggern och det knepiga fönsterhanteringssystemet.

1 kommentar:

Olof sa...

Först:

"Det är som Othello: det tar en minut att lära sig reglerna (eller kanske en vecka) och en livstid att bemästra (eller kanske ett par år)."

Enligt Ingvar Oldsberg finns det ett kinesiskt ordspråk som heter: "Den som inte frågar är vis i fem minuter. Den som frågar är vis ett helt liv."

Jag har inte hört något sådant ordspråk, däremot har jag hört uttrycket "klok en stund, dum ett liv". Fast du vet ju vilket mitt favorituttryck är.

I övrigt var jag lite förvånad av siffrorna, innan jag såg att de kom från theocacao. De är bra ibland, lamers ibland.

WV: plati