Mac4Ever PrixMac Acheter un Mac Refurb-Store Débuter sur Mac Forum : 428 connectés

Livre : Objective-C pour le développeur avancé

Forum dédié à l'actualité du monde Mac, iPod et iPhone. Vous pouvez réagir aux news ici

Modérateur: Bicus

Messagepar Didier le 30/07/10, 15:00

Livre : Objective-C pour le développeur avancé
« Objective-C pour le développeur avancé », tel est le titre de l'ouvrage de Pierre Chatelier. Pour une fois, le débutant n'est pas la cible, mais il s'agit bien ici de s'adresser au programmeur C++/Java/C, qui connait déjà la plupart des notions de programmation et qui n'a pas besoin qu'on le prenne par la main sur des concepts déjà bien étudiés. Interview.

Pierre, à qui s'adresse ce livre ?

Ce livre s'adresse aux développeurs confirmés qui ont envie de se lancer dans Objective-C, sans perdre de temps avec des documentations pour débutants. Les questions que l'on se pose quand on sait déjà programmer sont souvent assez pointues ; pour prendre un exemple bateau, on ne se demande pas ce qu'est une méthode virtuelle, on veut plutôt savoir comment elles sont implémentées, quelles sont leurs limites, comment elles interfèrent avec la surcharge, etc. Un autre point très important selon moi est aussi de séparer clairement le langage Objective-C et les APIs (Application Programming Interface) d'Apple. Du coup, le livre se restreint volontairement pour aller à l'essentiel. Parler d'XCode ou Cocoa en détails doit à mon sens être le sujet d'un autre livre (et là il en existe beaucoup).

Peut-on vraiment l'appréhender sans avoir jamais fait de développement ?

Je ne crois pas ! En tous cas ce n'est pas le but. Une des difficultés de l'écriture d'un tel ouvrage est de trouver le juste équilibre entre la concision et la clarté des explications. Même en partant du principe que le lecteur a de bonnes connaissances, on ne pas peut pas faire comme si tout était évident. Et malgré tout, il faut honorer ses compétences en ne détaillant pas tout.

Quelle est selon toi la plus grosse difficulté à aborder en Objective-C, lorsqu'on vient du monde C++ ou du monde Java/C# ?

Pour moi, la plus grosse difficulté c'est "changer beaucoup d'habitudes d'un coup". Le cas typique serait un développeur Windows (en C#, Java, ou C++) qui veut essayer Objective-C. Il doit passer à MacOS X, découvrir l'environnement de développement XCode, comprendre comment sont organisées les APIs Apple, découvrir la doc, apprendre un nouveau langage... Malheureusement, il faut du temps pour se faire à l'idée de programmer différemment ; on a parfois l'impression de redevenir un débutant. Il est facile aussi de se dire "c'est nul" parce que nos habitudes ne fonctionnent plus. Pour en revenir au langage lui-même, la gestion mémoire en Objective-C, malgré toutes ses qualités, semble être souvent un point délicat pour les nouveaux arrivants. Il faut être rigoureux avec les objets manipulés pas les APIs pour ne pas faire n'importe quoi. Il y a aussi les deux écoles qui s'opposent : Garbage Collector ou pas Garbage Collector, les deux étant possibles en Objective-C.
Je dirais aussi qu'Objective-C, par nature, est un langage très permissif. Il faut donc un peu d'expérience et de la rigueur pour écrire du code
élégant.

Livre : Objective-C pour le développeur avancé
Ton livre nous a donné le sentiment d'être la petite bible portable du programmeur Mac/iPad/iPhone. Que leur conseilles-tu pour aller encore plus loin avec ce langage ? La documentation en ligne suffit-elle ?

C'est flatteur, mais je n'irais pas jusque là ! Je pense que mon livre ne suffit pas pour apprendre le développement Mac/iPad/iPhone, car il faut aussi se familiariser avec les "bonnes pratiques" de Cocoa. La documentation d'Apple est très bien faite, mais ne peut remplacer un ouvrage didactique pour faire ses premières armes. Je conseille habituellement "Cocoa par la pratique" de Aaron Hillegas. Cela dit, une fois qu'on est à l'aise, on ne peut qu'apprécier le travail d'Apple sur sa documentation, car elle est est très bien organisée.

Une rumeur récente laissait entendre que l'Objective-C pourrait se voir adjoindre une machine virtuelle. Est-ce vraiment crédible selon toi ?

Autant l'abandon d'Objective-C (une autre rumeur, éphémère) semblait totalement surréaliste, autant la machine virtuelle me paraît possible. Microsoft le fait depuis longtemps avec .NET et je pense qu'Apple a dû y réfléchir. Même en ayant abandonné le PowerPC et bientôt le x86 32 bits, il reste à gérer le x86_64, les ARM de l'iPod/iPad, et les processeurs à venir. La machine virtuelle permettrait de maintenir une rétro-compatibilité, tout en garantissant des optimisations à l'exécution en fonction de l'architecture sur laquelle le code est lancé. Plus besoin donc de générer autant de binaires que d'architectures possibles. Malgré tout, certains domaines ne peuvent se passer d'utiliser intelligemment les jeux d'instructions avancés des processeurs ; il faudrait donc garder des portes vers des modules aux optimisations spécifiques, ce qui est contradictoire pour la portabilité du code. Et de plus, et on voit bien le problème avec .NET, la MV (machine virtuelle) évolue aussi, et un code peut être inutilisable sur une MV trop ancienne. Le développeur se retrouve donc avec une problématique un peu similaire à celle de l'architecture ou de la version de l'OS : quelle version de MV dois-je viser ? Comment être sûr qu'elle sera installée chez le client ? Si Apple prend cette direction, ils auront certainement à c¦ur d'éviter une trop grande hétérogénéité des configurations possibles.

Disponibilités


On remercie Pierre, de nous avoir accordé quelques minutes pour cette interview. Vous pouvez acheter son livre :

Chez Eyrolles
Sur Amazon
A la Fnac
Avatar de l’utilisateur
Didier
Vénérable Gros - Admin
 
Message(s) : 14235
Inscription : 28/11/00, 1:00
Localisation : Lausanne / Lyon

Envoyé depuis Mac4Ever HD pour iPad

Messagepar NicoAMG le 30/07/10, 17:38

Petite question, est-ce uniquement sur l'Objective-C en général, ou est-ce adapté et orienté pour l'iPhone / iPad (et donc au SDK qui va bien) ?
NicoAMG
Jeune Tourteau de Mac4Ever
 
Message(s) : 20
Inscription : 29/07/10, 21:28

Re: Envoyé depuis Mac4Ever HD pour iPad

Messagepar yellowiscool le 30/07/10, 17:55

NicoAMG a écrit:Petite question, est-ce uniquement sur l'Objective-C en général, ou est-ce adapté et orienté pour l'iPhone / iPad (et donc au SDK qui va bien) ?


La réponse est dans l'article.

Sinon, c'est intéressant comme livre. Si je dois apprendre un jour l'Objective-C, je le lirais.
Envoyé depuis mon lapin.
Avatar de l’utilisateur
yellowiscool
Petit Gros - Modérateur
 
Message(s) : 3695
Inscription : 01/03/06, 18:26
Localisation : Var

Envoyé depuis Mac4Ever Mobile

Messagepar Mac Zangdar le 30/07/10, 21:35

Objective C pour le développeur avant C?
 Apple MacBook Pro 17'  / Intel Core 2 Duo 2.4 Ghz / 750 Go DD / 4 Go Ram / GeForce 8600M GT 256 Mo 1680 x 1050 /  Mac OS 10.7.0 
Membre de la team 88
--------------------
www.penofchaos.com/warham/donjon
Mac Zangdar
Mac4Everien confirmé
 
Message(s) : 271
Inscription : 08/05/08, 14:36

Messagepar Emerick le 31/07/10, 0:45

Vu le prix de ce genre de livres, il vaut lire un extrait pour voir s'il nous convient.

On peut voir un extrait ici:
http://izibook.eyrolles.com/store/show/9782212127515

En cliquant sur "feuilleter" juste en dessous de la photo de la couverture. :wink:
Powerbook 15" SuperDrive DL (RIP...)
MBP 15" Core i5
iPhone 4 16GB (BT Ideo)
Avatar de l’utilisateur
Emerick
Mac4Ever's Killer
 
Message(s) : 1651
Inscription : 16/09/03, 12:48
Localisation : Bordeaux

Envoyé depuis Mac4Ever Mobile

Messagepar senjy le 01/08/10, 17:36

Je trouve que vu le prix du livre on aurais aimer que cela soit plus consistant.
senjy
Jeune Tourteau de Mac4Ever
 
Message(s) : 51
Inscription : 14/10/08, 11:24


Retour vers Actualité Mac et iPod

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 2 invité(s)