Ik heb nu zo al een jaar en een half mijn Macbook Pro en ik heb nu wel alles onder de knie, wat elke gebruiker wel onder de knie kan hebben. Hoewel ik zeer geïnteresseerd in alles wat te maken heeft met Mac, heb ik helaas niet de tijd (vanwege andere studies) om cursussen te volgen. Mijn doel is systematisch het besturingssysteem van Mac uit te diepen, te leren programmeren, etc. Dat is toekomstmuziek natuurlijk, want ik ken hier echt nog niets van! Maar je moet ooit en ergens beginnen, dus mijn vraag is nu of iemand concreet voorstellen heeft om bepaalde handboeken aan te kopen die handig zijn als “zelfstudie”. Nu, ik weet niet waar te beginnen, maar mijn uiteindelijk doel is bezig te zijn met programmeren, werken met terminal.
Je mag ervan uitgaan dat ik helemaal niets weet over dit alles, dus ik zoek wel boeken die verstaanbaar zijn voor iemand die dit nog nooit heeft gedaan. Ik heb boeken gevonden van O’Reilly over de BASH code etc, is dit bijvoorbeeld een goed begin? Of zou je ergens anders beginnen?
Als je echt alles van Mac OS X (intern) wilt weten is er dit boek: [url=http://www.osxbook.com/]Mac OS X Internals: A Systems Approach[/url] by Amit Singh.
Dit is echter wel zware kost...
Klinkt allemaal heel interessant! En de informatie heeft zeker en vast geholpen!
Nu als ik het goed begrijp is Applescript eigenlijk de basis die je zeker moet kennen, om er dan dieper op in te gaan?
Ik wil er gwn zeker van zijn dat k niet zomaar ergens aan begin en het dan veel te ingewikkeld plots is...
Als je echt wilt programmeren op OS X, dus programma's etc maken, dan kan je het beste Cocoa leren denk ik. Aangezien je daarvoor "object - oriented" programmeren moet kunnen, waarom begin je eerst niet het leren van C, een redelijk eenvoudige programmeer taal. Een goed boek voor beginner is "Beginning-C, from Novice to Professional" van Ivor Horton. Dan overstappen naar Cocoa met de links die je bij Apple kunt vinden. [/url]
Het ligt er maar net aan wat je wilt kunnen, wil je Mac OS X doorgronden dan is kennis van de Terminal vast handig.
Wil je leren programmeren dat kun je inderdaad beginnen met AppleScript. AppleScript is een erg ‘simpele’ programmeertaal. Als je het eenmaal onder de knie hebt kun je er leuke interfaces aan hangen, maar veel dieper gaat het niet (volgens mij).
Als je ‘echte’ applicaties wilt gaan bouwen, is Objective-C een goede programmeertaal, maar het zeker niet gemakkelijk!
Voor een beginner is AppleScript zeker goed, of kijk anders eens naar REALbasic.
Nog een optie is [url=http://www.python.org]Python[/url]. Deze taal is ook betrekkelijk eenvoudig te leren (voor zover dat überhaupt opgaat voor programmeertalen ;)) maar wel erg krachtig. Je kunt er in Xcode ook Cocoa-programma's mee schrijven zonder Objective C te hoeven kennen, hoewel ik toe moet geven dat dit mij nog niet gelukt is :)
Ik zou eens naar [url=http://www.ruby-lang.org/en/]Ruby[/url] kijken, een programmeertaal die standaard met Mac OS X meegeleverd wordt. Het is een erg elegante taal en puur object-georiënteerd. Dat zegt je nu misschien nog niet zoveel, maar dat komt vanzelf.
Dus blijkbaar is er niet echt een standaard da je best als eerste onder de knie hebt...
Elk doel heeft zo zijn eigen manier en taal?
Momenteel lijk k me toch dan meest aangetrokken tot C en dan Cacoa :p Voor zover ik nu lees. Dan zal k mijn bezigheid wel al hebben!
Maar dan heb ik nog een vraag: Is het echt handig om goed met terminal te kunnen werken? Ik heb ooit eens een code gevonde om als achtergrond je screensaver te gebruiken. Als dat de enige mogelijkheden hiervan zijn, lijkt het me toch niet zo aantrekkelijk om hier tijd in te investeren… Of zijn er nog veel meer mogelijkheden?
De Terminal is geen programmeertaal, maar gewoon een ander soort interface (tekstinterface) naar je Mac toe. Ik denk dat je in de war bent met een 'shell' zoals [i:3a49126811]bash[/i:3a49126811]. Een shell is een programma dat onder de tekstinterface van de Terminal draait en jouw commando's inleest en uitvoert. Veel shells bieden ook een rudimentaire programmeeromgeving waarin je zogenaamde shell-scripts kunt schrijven.
Python, Ruby, Perl en de C compiler (genaamd [i:3a49126811]cc[/i:3a49126811] of [i:3a49126811]gcc[/i:3a49126811]) zijn allemaal vanuit de Terminal te gebruiken, dus het is zeker handig om er wat vanaf te weten. Als je je echter tot Xcode als ontwikkelomgeving beperkt is het niet echt noodzakelijk.
Voor iemand die NIKS van programmeren weet, zijn het allemaal matige suggesties. Eerst moet een en ander duidelijk worden.
Programmeren doe je in een taal: C, C++, Pascal, Ruby, Python, whatever. De eerste twee worden veel gebruikt tegenwoordig. Pascal was vroeger populair om te leren programmeren. Ruby en Python zijn talen voor freaks met heel weinig ondersteuning.
Welke taal je kiest is minder belangrijk, omdat de genoemde talen ongeveer hetzelfde werken. Talen als LISP, Caml en Prolog of “assembler” werken anders, maar die kan ik een beginnend programmeur dan ook niet aanraden. Voor uitwisseling zou ik je aanraden C/C++ te leren, maar Python is voor de beginner misschien iets makkelijker.
Je eerste schreden zet je meestal niet in een GUI, maar met simpele tekstprogrammaatjes. Die moet je echter draaien vanaf de command-line. Elementaire kennis van de “Terminal” cq. bash is daarvoor gewenst.
Als je de principes een beetje onder controle hebt, kun je je verdiepen in het programmeren van interfaces.
Als je goed kunt programmeren, kun je proberen dingen op systeemniveau te doen.
Veel hangt af van het boek dat je kiest. Ik ken zelf geen enkel goed introductieboek dat alles behandelt en al helemaal niet een dat mac-specifiek is. Dus als ik jou was zou ik een taal kiezen, dan een goed leerboek (eentje die ook de basisideeen achter het programmeren uitlegt) en dan uitzoeken hoe je daarmee onder OSX aan de slag gaat. Als je dus C kiest, moet je leren de terminal te gebruiken; XCode is niet strikt nodig (je kunt gewoon vanaf de command-line compileren en draaien). Als je Python of Ruby of C-zonder-XCode kiest, moet je een handige tekstverwerker leren.
Een goed boek om Cocoa te leren is [url=http://www.amazon.com/gp/product/0321213149]Cocoa Programming for Mac(R) OS X (2nd Edition)[/url] by Aaron Hillegass
Er komt binnenkort (Juni 2008) een nieuwe versie uit: [url=http://www.amazon.com/Cocoa-Programming-Mac-OS-3rd/dp/0321503619]Cocoa Programming for Mac(R) OS X (3rd Edition)[/url]
Om het maar even te checken voordat ik daadwerkelijk begin:
Als ik een programma wil gaan schrijven, ook beginnende met 0,0% kennis van Cocoa of C, kan ik het beste beginnen met het leren schrijven van Objective C en daarna met Cocoa...
De volgende boeken kan ik daarvoor dus het beste aanschaffen:
Antwoord van TGV sluit ik mij bij aan. Alleen je kan kiezen tussen applescript (daarna studio) en C als beginnende taal om uiteindelijk bezig te gaan met Objective-C. Maar het is geen aanrader om te beginnen met Objective-C.
Of je nou begint met Applescript of C, onthoudt dat iedere taal zijn voordeel en nadeel heeft. Ik zal er even een paar noemen.
Voordelen van Applescript:
Het is een engelse taal (duidelijk leesbaar)
Geen moeilijk syntax
Super snel onder de knie hebt
Studio werkt met Cocoa Library (voorproefje op Objective-C)
Met Studio bouw je in hele korte tijd professionele applicaties
Heeft een ingebouwde Shell
Nadelen van Applescript.
Taal voert code niet snel uit (Ten opzichte van C)
Door de makkelijke syntaxt wordt je lui en wordt dat heel erg schelden en vloeken wanneer je over stapt naar een andere taal.
Doordat het een script taal is zijn threads moeilijk te bouwen
Voordelen van C:
Snelle programmeertaal (uitvoeren ervan)
Goede basis voor bijna elke programmeertaal die volgt
Stabiliteit
De compiler geeft bij het bouwen van je applicatie aan of je fouten in je code hebt
Debuggen is makkelijker
Nadelen:
Syntax is zeer gevoelig
In begin zal vrij ingewikkeld zijn om met teksten te werken.
Blijft heel lang in basis van programmeertaal bezig
Programmeren kost heel erg veel tijd (tov applescript)
Ik sluit me bij Bazzie_wazzie (what's in a name?) aan. Tegelijk leren programmeren in C/C++ (als basis voor de "echte" toepassingen) en in AppleScript (om een idee te krijgen hoe je een interface bouwt) en daarna Objective-C. Het boek "Cocoa Programming for Mac" lijkt me nog te moeilijk voor je. Kijk bv. eens op [url]macscripter.net[/url] of een vergelijkbare site voor tutorials (XCode heeft ze ook).