Jag skulle börja med C. Det är lätt och det är inte objektorienterat vilket jag tycker är bra då det gäller ens första språk.
De flesta andra språk liknar C i sin syntax (de flesta språk liknar varandra) och både Objective-C och C++ är direkta vidareutvecklingar av C. Även om Java är enklare så tycker jag det är lite väl enkelt. Det är svårare att lära sig C efter man lärt sig Java än tvärtom. Personligen tycker jag det är viktigt att få kunskap om pekare och minneshantering redan i början av ens lärande något som är svårt att lära sig i Java eftersom sådant till stor del sköts helt automatiskt.
Själv började jag med Learning C on the Macintosh av Dave Mark. Den följde med Codewarrior: Discover Programming Edition, i pdf-format, som jag köpte för några år sedan. Den kanske inte är den lättaste boken att börja med enligt vissa (läs recentioner på amazon, se länk nedan) men jag tyckte den var perfekt. Det kan tyckas tråkigt att gå igenom en hel bok utan att göra några program med grafiskt gränssnitt men jag tycker det är en bra start. Efter C kan man börja med andra språk som tex. Objective C eller C++.
Anledningen till att jag tycker att man ska börja med ett icke objektorienterat språk är dels för att det kan vara svårt att greppa objektorientering i början och dels att man kommer att förstå och uppskatta objektorientering mycket mer om man sysslat mer procedurell programmering innan. Jag ser alldeles för många på min utbildning som fortfarande inte greppar objektorientering och inte kan dela upp problem i ett antal klasser och objekt på ett bra sätt. Jag tror det hade hjälpt om de börjat med tex. C och sluppit bry sig om objekt och isället kunnat fokusera sig på att dela upp problem i funktioner. Först när man lärt sig det kan man gå över till objektorientering och de språk so stödjer det.
Amazon - Learning C on the Macintosh
[ 21-09-2001: Meddelandet ändrat av: Gabriel Falkenberg ]