2009-07-25

Donald Jobs

Jag hade tänkt kommentera det här med att utvecklingsverktygen till Mac känns lite Kalle Anka ibland. Tidigare har jag berättat om de positiva aspekterna, och det jag har gnällt på har gällt hanteringen av öppna filer i Xcode, som jag har insett hur man jobbar med på ett vettigt sätt.

Men några exempel:

Xcode har inget stöd för subprojekt, vilket finns i alla andra IDE-er jag har använt: Visual Studio har det, CodeWarrior hade det, Eclipse har det. Xcode har fastnat i någon idé om att man utvecklar libs/frameworks och appar separat, och att man inte vill vara inne och gräva i lib-kod när man skriver appar. Men det är inte tillräckligt generellt, det täcker inte in alla fall. T.ex. inte min situation på jobbet, där jag har ett framework, som är det jag utvecklar, som jag har olika frontends till. För frameworket (som i sin tur består av flera libs) vill jag ha separata projektfiler, som jag kan inkludera i projekten som jag bygger frontendsarna med. Nicht gut, säger herr Jobs, innan han går över till sin Monika Danielsson-röst och säger "det _vill_ du inte göra".

Det verkar inte finnas någon riktigt vettig grafisk frontend till Subversion. Jag gjorde en utvärdering och kör sedan dess Versions, som är bättre än att använda kommandoraden, men inte har stöd för merge och inte riktigt verkar fatta externals. Det känns nästan lite som en förolämpning när Apple väljer att ge pris till utvecklarna av programmet. Hur som helst, vill jag göra en merge eller uppdatera en katalog med externals till en viss version så är det kommandoraden som gäller.

FileMerge, som är Apples eget diff/merge-verktyg, är något av ett skämt. Man kan inte editera texten manuellt, utan kan bara välja den ena eller båda text-sekvenserna som diffar. Dessutom finns det ingen information om vilka snabbtangenter man kan använda. Jag har inte listat ut hur man väljer både versionerna. Klick, klick, klickety-klick. Eventuellt finns det bättre merge-verktyg, det har jag inte haft tid att kolla upp. (Dessutom är det fult och har dålig syntax-highlighting. Låna koden från Xcode, kanske?)

På WWDC var jag på en presentation om vad som var nytt i Xcode, där fick jag lära mig att det finns en feature i Xcode som kallas Snapshot. Man kan ta snapshots av sin källkod och gå tillbaks till tidigare snapshots. Om det nu finns Kalle Anka-kodare som inte har vett nog att använda ett versionshanteringssystem, är det då bättre att ge dem ett enklare sätt att sköta lokal backup-hantering än att tala om för dem att det finns något som kallas versionshantering och som är ett mycket bättre alternativ? Eller är det så att Xcode-utvecklarna själva inte har koll på hur man använder versionshantering på ett vettigt sätt?

Det här är detaljer, men detaljer som stör om man bara vill kunna göra vettiga grejer med vettiga verktyg. Det är som om det finns någon uppfattning om att nybörjare som kodar Hello World-program är de viktigaste användarna. Men visst, samtidigt har vi DTrace, Instruments, Interface Builder och LLVM som pekar i en annan riktning. Om några år kanske allt är riktigt bra, och jag kan sluta gnälla.

Inga kommentarer: