Brad Cox, l’inventeur du langage Objective-C, est mort

Nicolas Furno |

Brad Cox est mort en début d’année à l’âge de 77 ans. Ce nom ne vous dit peut-être rien, mais vous aurez peut-être entendu parler de l’invention qui l’a rendu célèbre : Objective-C, le langage de développement d’Apple. Même s’il a désormais un successeur avec Swift, Objective-C reste massivement utilisé par Apple et tous les développeurs d’apps pour macOS et iOS, une quarantaine d’années après sa création.

Brad Cox lors d’une interview en 2016 pour le Computer History Musem (capture d’écran vidéo).

Contrairement à ce que l’on pourrait imaginer, Brad Cox n’était pas un employé d’Apple et Objective-C n’est pas né à Cupertino. Le langage a vu le jour au début des années 1980, avec l’idée de s’inspirer de Smalltalk sur une base de C, le langage de développement phare à l’époque. Smalltalk est l’une des inventions de Xerox PARC, le fameux centre de recherche qui a imaginé tant de nouveautés, dont l’interface graphique qui a inspiré le premier Macintosh. Ce langage de développement objet a servi de base à de multiples langages modernes, de Java à Python, en passant par PHP et Ruby.

Objective-C a repris ses concepts et les a appliqués sur une base de C, utilisé par ITT Corporation qui employait Brad Cox à l’époque. Par la suite, il a fondé une entreprise nommée Stepstone avec Tom Love et ils utilisaient Objective-C également pour coder des apps pour leurs clients, parmi lesquels NeXT qui l’a utilisé pour coder NeXTSTEP sorti à la fin des années 1980. En avril 1995, plus de dix ans après les débuts du langage, NeXT décide d'acheter la marque déposée et les droits sur le langage de développement. Quand Apple achète NeXT l’année suivante, Objective-C devient par la même occasion le langage de développement de prédilection de macOS et des apps codées pour macOS.

Quelques lignes d’Objective-C dans Xcode.

Brad J. Cox n’a pas été embauché par Apple suite à cette acquisition, son entreprise Stepstone a continué d’offrir des services liés à Objective-C jusqu’à sa disparition au début des années 2000. Pour en savoir plus sur son parcours et sa carrière, vous pouvez lire la nécrologie publiée lors de son enterrement et regarder l’entretien de deux heures et demi accordé au Computer History Musem

avatar oomu | 

j'aime toujours autant les idées derrière objective-C et sa syntaxe.

avatar flux_capacitor | 

@oomu

L'époque NeXT-OS X avec Steve Jobs et Avadis Tevanian aux manettes… nostalgie.
Mais je suis assez satisfait de la tournure des choses prises par Craig Federighi dernièrement.

avatar vince29 | 

Sa syntaxe ? Bizarre ! Généralement c'est cité comme un défaut.

avatar wataru | 

@vince29

c’est vrai que c’est une horreur cette syntaxe. D’où ma grande préférence du Swift. Et le Swift sera parfait le jour où il y aura enfin le Async Await.

avatar YetOneOtherGit | 

@wataru

"c’est vrai que c’est une horreur cette syntaxe."

“There are only two kinds of languages: the ones people complain about and the ones nobody uses.”

Bjarne Stroustrup 😉

avatar wataru | 

@YetOneOtherGit

entre temps sa syntaxe reste affreuse.

avatar YetOneOtherGit | 

@wataru

"entre temps sa syntaxe reste affreuse."

A ton goût personnel c’est un propos absolument subjectif certainement issu de tes habitudes et de ton parcours. 😎

Ce type de jugement à l’emporte-pièce péremptoire 🙄🙄🙄

avatar wataru | 

@YetOneOtherGit

oui et non, il y a un consensus pour dire que sa syntaxe n’est pas fameuse. Après comme tu le dis c’est au goût de chacun évidement !

avatar YetOneOtherGit | 

@wataru

"oui et non, il y a un consensus pour dire que sa syntaxe n’est pas fameuse."

Un consensus la belle affaire dans quel milieu avec quelle légitimité.

Et déjà tu,passe à « pas fameuse » 😂

avatar oomu | 

@wataru

j'apprécie la syntaxe objectiveC parce qu'elle force à nommer dans le code source les arguments.

alors oui, c'est lourdingue (mais y a la complétion), mais c'est pratique pour moi pour me rappeler le sens des méthodes.

je ne crois pas au "consensus sur la syntaxe".

ObjectiveC n'a pas une syntaxe à la java/javascript, ce qui est assez étonnant pour toute une génération d'ingénieurs.

Après, Swift est une modernisation qui manquait à ObjC.

-
je n'adhère pas non plus au propos
"Tu peux choisir d'être verbeux dans n'importe quel langage."

bien sur qu'on peut commenter, suivre une méthodologie d'écriture de code, etc

mais j'apprécie comment ObjectiveC demandait d'écrire les appels au méthodes et divers autres détails.

avatar BeePotato | 

@ wataru : « oui et non, il y a un consensus pour dire que sa syntaxe n’est pas fameuse. »

Non.
Il y a un paquet de gusses qui ont débarqué il y a quelques années avec l’idée de de faire quelques sous en développant des applications pour iOS et qui en lisant le nom « Objective C » ont sûrement cru qu’ils allaient se retrouver à utiliser une sorte de variante de C++. Choqués de découvrir qu’il pouvait y avoir une syntaxe différente de la seule qu’ils ont toujours connue dans leur C++/JS/C♯/Java, ils ont vociféré en expliquant que c’était une horreur au lieu de simplement essayer de l’utiliser.

Mais ça ne fait pas un consensus, loin de là. Juste des râleurs bruyants.
On trouve également plein de développeurs appréciant beaucoup cette syntaxe, depuis longtemps.

Je regrette juste le sabotage qu’a représenté l’ajout dans Objective-C 2 de la notation à base de point pour l’accès aux propriétés.

avatar YetOneOtherGit | 

@BeePotato

"Mais ça ne fait pas un consensus, loin de là. Juste des râleurs bruyants.
On trouve également plein de développeurs appréciant beaucoup cette syntaxe, depuis longtemps.
"

D’où ma citation plus haut : dès qu’un langage est un tant soit peu utilisé les critique plus où moins légitimes pleuvent.

C’est quasiment un signe de bonne santé pour un langage que son niveau de détracteurs.

Perso sorti de FORTH c’est tout de la merde 🥳😂

avatar Nicolas Furno | 

@vince29

S'il y a bien un consensus sur le sujet, c'est que la syntaxe d'Objective-C ne laisse personne indifférent. Mais il y a des détracteurs et aussi des fans, ce n'est pas aussi simple.

avatar raoolito | 

@nicolasf

ya un truc qui me chiffonne, je ne suis pas codeur du coup je demande. Comment cela se fait qu’un langage ecrit il y a 40 ans soit encore massivement utilisé ?
apres la durée de vie des langages informatiques est peut-être différente de celle des matériels (en fait c’est meme certain)

avatar Nicolas Furno | 

@raoolito

Ben oui, on utilise toujours C qui date des années 1970. 🙂

L’âge des langages de développement ne dit pas grand chose de leur intérêt et popularité.

avatar raoolito | 

@nicolasf

et donc je parie qu’il y a autant de raisons objectives que subjectives d’utiliser tel ou tel langage ?

avatar YetOneOtherGit | 

@raoolito

"et donc je parie qu’il y a autant de raisons objectives que subjectives d’utiliser tel ou tel langage ?"

Le choix d’un langage s’impose parfois car il n’y a pas de choix : le dev natif MacOS X ou iOS c’était pendant longtemps Objectif-C

Après le choix de l’ensemble des technologies misent en œuvre sur un projet est un arbitrage entre de très nombreux paramètres.

avatar occam | 

@YetOneOtherGit

"Le choix d’un langage s’impose parfois car il n’y a pas de choix"

À UCSD, on avait un dicton qui faisait partie du folklore, et que j’ai toujours trouvé assez subversif mais juste :
« An operating system is whatever was left out of the programming language. »

Ok, ça date, et c’est plutôt hardcore comme approche, mais ça change un peu de la vision de l’utilisateur benêt, gavé d’apps, et qui ne doit surtout pas toucher à rien de rien.

avatar YetOneOtherGit | 

@occam

"Ok, ça date, et c’est plutôt hardcore comme approche, mais ça change un peu de la vision de l’utilisateur benêt, gavé d’apps, et qui ne doit surtout pas toucher à rien de rien."

Toi es moi avons sans doute connu les générations ayant vécues sans OS ou avec des OS croupions 😜

avatar YetOneOtherGit | 

@nicolasf

"Ben oui, on utilise toujours C qui date des années 1970. 🙂"

Un truc terriblement moderne 😉

Le premier des langages de haut niveau qu’est le vénérable Fortran du grand John Backus est toujours en usage. (1954)

COBOL porté par l’équipe de Grace Hopper est toujours derrière une part très conséquente des transactions financière, par exemple (1959)

Lisp du grand McCarty et ses variante est toujours en usage (1956)

😀

avatar Nicolas Furno | 

@YetOneOtherGit

Certes. 🙂

avatar YetOneOtherGit | 

@raoolito

"apres la durée de vie des langages informatiques est peut-être différente de celle des matériels (en fait c’est meme certain)"

Absolument ne serait-ce que pour des raison de base installer de code.

On évite de tout recommencer à zéro.

Après les langage évolue dans le temps C++ 20 est fort différent de sa version originale par exemple 😉

avatar raoolito | 

@YetOneOtherGit

«  C++ 20 » ?

pardon ?

avatar YetOneOtherGit | 

@raoolito

"pardon ?"

C++ est un langage aujourd’hui normalisé, C++ 20 est la dernière évolution validée de la norme.

https://en.wikipedia.org/wiki/C%2B%2B20

Avec un lot conséquent de nouveautés 😋

avatar raoolito | 

@YetOneOtherGit

ok je crois que ca rentre. mais du coup c compatible avec le C++ V1 mais si on met quelque part un tag disant qu’on est en version 20 alors on peut utiliser les nouvelles fonctions?
en gros ?

Pages

CONNEXION UTILISATEUR