Top Promos Apple Test Apple Antivirus Mac Dock Thunderbolt Sunology Comparatif iPhone Nettoyeur Mac

Actualité

Divers

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

Par Didier Pulicani - Mis à jour le

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

Le pack Wi-Fi 7 Mesh TP-Link Deco BE85 en promo ! 4 Gb/s en Wi-Fi !

Le pack Wi-Fi 7 Mesh TP-Link Deco BE85 en promo ! 4 Gb/s en Wi-Fi !

Si vous désirez vous offrir un réseau sans fil performant couvrant une très grande surface, les kit Wi-Fi Mesh sont à ce jour la...

Trop incitatif, TikTok lite sera bientôt suspendu en Europe

Trop incitatif, TikTok lite sera bientôt suspendu en Europe

En définitive, le mode de fonctionnement de la dernière application de ByteDance (la maison mère chinoise du réseau social presque...

Samsung en crise passe ses cadres à la semaine de 6 jours

Samsung en crise passe ses cadres à la semaine de 6 jours

La situation n'est pas au beau fixe pour Samsung. Avec la dégradation des résultats de certaines de ses activités et le durcissement des...

Canal+ : le mode Tribunes coupe le sifflet des commentateurs de foot !

Canal+ : le mode Tribunes coupe le sifflet des commentateurs de foot !

Canal+ va permettra à ses abonnés d'activer un nouveau mode afin de couper les commentaires et de son plonger véritablement dans...

L'Apple Store de Parly 2 déménage ce samedi ! Mais où ?

L'Apple Store de Parly 2 déménage ce samedi ! Mais où ?

Depuis un an, l'Apple Store de Parly 2 se préparait à déménager... mais finalement, ce ne sera pas très loin. Situé...

Un assistant virtuel IA encore plus performant sur Facebook et WhatsApp !

Un assistant virtuel IA encore plus performant sur Facebook et WhatsApp !

L’assistant virtuel de Meta -Meta AI- est désormais alimenté par Llama 3, un modèle d’IA qui se dit encore plus intelligent.

Apple, la reine du recyclage !

Apple, la reine du recyclage !

A quelques jours de la Journée de la Terre, Apple explose son budget communication entendant montrer l'exemple et mettre en lumière ses...

La dernière IA de Microsoft créé des vidéos impressionnantes de réalisme !

La dernière IA de Microsoft créé des vidéos impressionnantes de réalisme !

Depuis longtemps, Microsoft a flairé le bon coup avec l'Intelligence Artificielle, dépensant des milliards de dollars en recherche et...

Commentaires

Connectez-vous/créez un compte pour réagir à cet article !
Oops, vous n'êtes pas connecté

Pour évaluer un commentaire sur Mac4Ever, vous devez être connecté avec votre compte utilisateur.

5 commentaires
Connectez-vous/créez un compte pour réagir à cet article !
Oops, vous n'êtes pas connecté

Pour évaluer un commentaire sur Mac4Ever, vous devez être connecté avec votre compte utilisateur.